| 117 | } |
| 118 | |
| 119 | static std::string gguf_data_to_str(enum gguf_type type, const void * data, int i) { |
| 120 | switch (type) { |
| 121 | case GGUF_TYPE_UINT8: return std::to_string(((const uint8_t *)data)[i]); |
| 122 | case GGUF_TYPE_INT8: return std::to_string(((const int8_t *)data)[i]); |
| 123 | case GGUF_TYPE_UINT16: return std::to_string(((const uint16_t *)data)[i]); |
| 124 | case GGUF_TYPE_INT16: return std::to_string(((const int16_t *)data)[i]); |
| 125 | case GGUF_TYPE_UINT32: return std::to_string(((const uint32_t *)data)[i]); |
| 126 | case GGUF_TYPE_INT32: return std::to_string(((const int32_t *)data)[i]); |
| 127 | case GGUF_TYPE_UINT64: return std::to_string(((const uint64_t *)data)[i]); |
| 128 | case GGUF_TYPE_INT64: return std::to_string(((const int64_t *)data)[i]); |
| 129 | case GGUF_TYPE_FLOAT32: return std::to_string(((const float *)data)[i]); |
| 130 | case GGUF_TYPE_FLOAT64: return std::to_string(((const double *)data)[i]); |
| 131 | case GGUF_TYPE_BOOL: return ((const bool *)data)[i] ? "true" : "false"; |
| 132 | default: return format("unknown type %d", type); |
| 133 | } |
| 134 | } |
| 135 | |
| 136 | std::string gguf_kv_to_str(const struct gguf_context * ctx_gguf, int i) { |
| 137 | const enum gguf_type type = gguf_get_kv_type(ctx_gguf, i); |
no test coverage detected