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

// Harness contract for pooling baseline — global average pooling variant.
// Called by armbench_entry_pooling (binding.cpp); implemented by kernel.cpp.
// No kernel/stride/pad consts — output collapses each channel's full spatial
// extent to a single scalar, so top_blob is a flat 1D Mat (w=C).
namespace ncnn {
int pooling_global_avg_kernel(
    const Mat& bottom_blob, Mat& top_blob,
    const Option& opt);
}