123456789101112131415161718192021222324252627#pragma once
#include <cstdint>#include <map>#include <string>#include <vector>
inline constexpr const char * LLM_KV_IMATRIX_DATASETS = "imatrix.datasets";inline constexpr const char * LLM_KV_IMATRIX_CHUNK_COUNT = "imatrix.chunk_count";inline constexpr const char * LLM_KV_IMATRIX_CHUNK_SIZE = "imatrix.chunk_size";
struct common_imatrix_entry { std::vector<float> sums; std::vector<int64_t> counts;};
struct common_imatrix { std::map<std::string, common_imatrix_entry> entries; std::vector<std::string> datasets; int32_t chunk_count = 0; int32_t chunk_size = 0; bool is_legacy = false; bool has_metadata = false;};
bool common_imatrix_load(const std::string & fname, common_imatrix & imatrix);