// File: pooling.cpp
// Binding harness: computes H_out/W_out from constexpr params, calls inner_pooling.
// ABI: armbench_entry_pooling(input*, output*, N, C, H, W)
// Dilation is fixed at 1 for all pooling definitions (not a const_axes entry).
#include "pooling.h"
using namespace pooling_def;

extern "C" int armbench_entry_pooling(const float* input, float* output,
                                       int N, int C, int H, int W)
{
    const int H_out = (H + 2 * pad_top  - Kh) / Sh + 1;
    const int W_out = (W + 2 * pad_left - Kw) / Sw + 1;
    inner_pooling(input, output, N, C, H, W, H_out, W_out);
    return 0;
}