#include "llama-memory.h" llama_memory_status llama_memory_status_combine(llama_memory_status s0, llama_memory_status s1) { bool has_update = false; switch (s0) { case LLAMA_MEMORY_STATUS_SUCCESS: { has_update = true; break; } case LLAMA_MEMORY_STATUS_NO_UPDATE: { break; } case LLAMA_MEMORY_STATUS_FAILED_PREPARE: case LLAMA_MEMORY_STATUS_FAILED_COMPUTE: { return s0; } } switch (s1) { case LLAMA_MEMORY_STATUS_SUCCESS: { has_update = true; break; } case LLAMA_MEMORY_STATUS_NO_UPDATE: { break; } case LLAMA_MEMORY_STATUS_FAILED_PREPARE: case LLAMA_MEMORY_STATUS_FAILED_COMPUTE: { return s1; } } // if either status has an update, then the combined status has an update return has_update ? LLAMA_MEMORY_STATUS_SUCCESS : LLAMA_MEMORY_STATUS_NO_UPDATE; }