llama-memory.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #include "llama-memory.h"
  2. llama_memory_status llama_memory_status_combine(llama_memory_status s0, llama_memory_status s1) {
  3. bool has_update = false;
  4. switch (s0) {
  5. case LLAMA_MEMORY_STATUS_SUCCESS:
  6. {
  7. has_update = true;
  8. break;
  9. }
  10. case LLAMA_MEMORY_STATUS_NO_UPDATE:
  11. {
  12. break;
  13. }
  14. case LLAMA_MEMORY_STATUS_FAILED_PREPARE:
  15. case LLAMA_MEMORY_STATUS_FAILED_COMPUTE:
  16. {
  17. return s0;
  18. }
  19. }
  20. switch (s1) {
  21. case LLAMA_MEMORY_STATUS_SUCCESS:
  22. {
  23. has_update = true;
  24. break;
  25. }
  26. case LLAMA_MEMORY_STATUS_NO_UPDATE:
  27. {
  28. break;
  29. }
  30. case LLAMA_MEMORY_STATUS_FAILED_PREPARE:
  31. case LLAMA_MEMORY_STATUS_FAILED_COMPUTE:
  32. {
  33. return s1;
  34. }
  35. }
  36. // if either status has an update, then the combined status has an update
  37. return has_update ? LLAMA_MEMORY_STATUS_SUCCESS : LLAMA_MEMORY_STATUS_NO_UPDATE;
  38. }
  39. bool llama_memory_status_is_fail(llama_memory_status status) {
  40. switch (status) {
  41. case LLAMA_MEMORY_STATUS_SUCCESS:
  42. case LLAMA_MEMORY_STATUS_NO_UPDATE:
  43. {
  44. return false;
  45. }
  46. case LLAMA_MEMORY_STATUS_FAILED_PREPARE:
  47. case LLAMA_MEMORY_STATUS_FAILED_COMPUTE:
  48. {
  49. return true;
  50. }
  51. }
  52. return false;
  53. }