llama-memory.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. }