// File: pooling.h
#pragma once

// Global average pooling has no kernel-size/stride/pad constants —
// the pooling window is the entire (H, W) feature map, both runtime var dims.

#ifdef __cplusplus
extern "C" {
#endif
// LLM target: implement this in kernel.cpp.
// Input layout: (N, C, H, W); output layout: (N, C).
void inner_pooling(const float* input, float* output, int N, int C, int H, int W);
#ifdef __cplusplus
}
#endif