// File: binding.cpp
#include "gemm.h"

namespace {
constexpr int64_t kN = 1024;
constexpr int64_t kK = 2048;
} // namespace

extern "C" {
// inputs: [0]=A bf16 [M,K], [1]=B block_q4_K [N, K/256 blocks],
// [2]=NULL (B_scales, consumed by adapter repack), [3]=NULL (B_mins);
// var_axes: [0]=M
int armbench_entry_gemm(const void* const* inputs, void* output,
                        const int64_t* var_axes)
{
    return armbench_llamacpp_gemm(inputs[0], inputs[1],
                                  reinterpret_cast<float*>(output),
                                  var_axes[0], kN, kK);
}
} // extern "C"