| #ifndef CAFFE2_OPERATORS_POOL_OP_UTIL_H_ | 
 | #define CAFFE2_OPERATORS_POOL_OP_UTIL_H_ | 
 |  | 
 | #include "caffe2/core/types.h" | 
 | #include "caffe2/utils/cpu_neon.h" | 
 |  | 
 | namespace caffe2 { | 
 | namespace pool_op_util { | 
 |  | 
 | bool IsNeon4x4p0s0Eligible( | 
 |     int input_h, | 
 |     int input_w, | 
 |     int output_h, | 
 |     int output_w, | 
 |     int kh, | 
 |     int kw, | 
 |     int stride_h, | 
 |     int stride_w, | 
 |     int pad_t, | 
 |     int pad_l, | 
 |     int pad_b, | 
 |     int pad_r, | 
 |     int dilation_h, | 
 |     int dilation_w, | 
 |     const float* X, | 
 |     float* Y); | 
 |  | 
 | bool IsNeon2x2p0s0Eligible( | 
 |     int input_h, | 
 |     int input_w, | 
 |     int output_h, | 
 |     int output_w, | 
 |     int kh, | 
 |     int kw, | 
 |     int stride_h, | 
 |     int stride_w, | 
 |     int pad_t, | 
 |     int pad_l, | 
 |     int pad_b, | 
 |     int pad_r, | 
 |     int dilation_h, | 
 |     int dilation_w, | 
 |     const float* X, | 
 |     float* Y); | 
 |  | 
 | void RunNeonAveragePool4x4p0s0NCHW( | 
 |     int N, | 
 |     int C, | 
 |     int H, | 
 |     int W, | 
 |     const float* X, | 
 |     float* Y); | 
 |  | 
 | void RunNeonMaxPool2x2p0s0NCHW( | 
 |     int N, | 
 |     int C, | 
 |     int H, | 
 |     int W, | 
 |     const float* X, | 
 |     float* Y); | 
 |  | 
 | } // namespace pool_op_util | 
 | } // namespace caffe2 | 
 |  | 
 | #endif // CAFFE2_OPERATORS_POOL_OP_UTIL_H_ |