// File: pooling_contract.h
#pragma once
#include "mat.h"
#include "option.h"

// Harness contract for pooling baseline (max pool only).
// Called by armbench_entry_pooling (binding.cpp); implemented by kernel.cpp.
// C is encoded in top_blob.c (pre-allocated by binding.cpp).
namespace ncnn {
int pooling_kernel(
    const Mat& bottom_blob, Mat& top_blob,
    int kernel_h, int kernel_w,
    int stride_h, int stride_w,
    int pad_top, int pad_left,
    const Option& opt);
}