// File: moe.cpp
// Binding harness: forwards straight to inner_moe (no derived dims needed).
// ABI: armbench_entry_moe(hidden_states*, output*, router_weight*, gate_proj*,
//                          up_proj*, down_proj*, n_tokens)
#include "moe.h"
using namespace moe_def;

extern "C" int armbench_entry_moe(const uint16_t* hidden_states, float* output,
                                   const uint16_t* router_weight, const uint16_t* gate_proj,
                                   const uint16_t* up_proj, const uint16_t* down_proj,
                                   int n_tokens)
{
    inner_moe(hidden_states, output, router_weight, gate_proj, up_proj, down_proj, n_tokens);
    return 0;
}