blob: f2d70b1ccdb21d4b78ed36a86ee4c4a3466bc623 [file] [log] [blame]
XNNPACK Teamb455b122019-09-27 18:10:33 -07001// Copyright 2019 Google LLC
2//
3// This source code is licensed under the BSD-style license found in the
4// LICENSE file in the root directory of this source tree.
5
6#pragma once
7
8#include <stddef.h>
9#include <stdint.h>
10
11#include <xnnpack/params.h>
12#include <xnnpack/common.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18
Marat Dukhan99936602020-04-11 16:47:01 -070019#define DECLARE_F32_PAVGPOOL_MINMAX_MULTIPASS_UKERNEL_FUNCTION(fn_name) \
20 XNN_INTERNAL void fn_name( \
21 size_t output_pixels, \
22 size_t kernel_elements, \
23 size_t channels, \
24 const float** input, \
25 size_t input_offset, \
26 const float* zero, \
27 const float* multiplier, \
28 float* buffer, \
29 float* output, \
30 size_t input_increment, \
31 size_t output_increment, \
Marat Dukhaneb09a6b2020-04-08 17:34:32 -070032 const union xnn_f32_minmax_params* params);
XNNPACK Teamb455b122019-09-27 18:10:33 -070033
Marat Dukhan99936602020-04-11 16:47:01 -070034DECLARE_F32_PAVGPOOL_MINMAX_MULTIPASS_UKERNEL_FUNCTION(xnn_f32_pavgpool_minmax_ukernel_9p8x__neon_c4)
35DECLARE_F32_PAVGPOOL_MINMAX_MULTIPASS_UKERNEL_FUNCTION(xnn_f32_pavgpool_minmax_ukernel_9p8x__sse_c4)
36DECLARE_F32_PAVGPOOL_MINMAX_MULTIPASS_UKERNEL_FUNCTION(xnn_f32_pavgpool_minmax_ukernel_9p8x__psimd_c4)
37DECLARE_F32_PAVGPOOL_MINMAX_MULTIPASS_UKERNEL_FUNCTION(xnn_f32_pavgpool_minmax_ukernel_9p8x__wasm_c1)
38DECLARE_F32_PAVGPOOL_MINMAX_MULTIPASS_UKERNEL_FUNCTION(xnn_f32_pavgpool_minmax_ukernel_9p8x__scalar_c1)
XNNPACK Teamb455b122019-09-27 18:10:33 -070039
40
Marat Dukhan99936602020-04-11 16:47:01 -070041#define DECLARE_F32_PAVGPOOL_MINMAX_UNIPASS_UKERNEL_FUNCTION(fn_name) \
42 XNN_INTERNAL void fn_name( \
43 size_t output_pixels, \
44 size_t kernel_elements, \
45 size_t channels, \
46 const float** input, \
47 size_t input_offset, \
48 const float* zero, \
49 const float* multiplier, \
50 float* output, \
51 size_t input_increment, \
52 size_t output_increment, \
Marat Dukhaneb09a6b2020-04-08 17:34:32 -070053 const union xnn_f32_minmax_params* params);
XNNPACK Teamb455b122019-09-27 18:10:33 -070054
Marat Dukhan99936602020-04-11 16:47:01 -070055DECLARE_F32_PAVGPOOL_MINMAX_UNIPASS_UKERNEL_FUNCTION(xnn_f32_pavgpool_minmax_ukernel_9x__neon_c4)
56DECLARE_F32_PAVGPOOL_MINMAX_UNIPASS_UKERNEL_FUNCTION(xnn_f32_pavgpool_minmax_ukernel_9x__sse_c4)
57DECLARE_F32_PAVGPOOL_MINMAX_UNIPASS_UKERNEL_FUNCTION(xnn_f32_pavgpool_minmax_ukernel_9x__psimd_c4)
58DECLARE_F32_PAVGPOOL_MINMAX_UNIPASS_UKERNEL_FUNCTION(xnn_f32_pavgpool_minmax_ukernel_9x__wasm_c1)
59DECLARE_F32_PAVGPOOL_MINMAX_UNIPASS_UKERNEL_FUNCTION(xnn_f32_pavgpool_minmax_ukernel_9x__scalar_c1)
XNNPACK Teamb455b122019-09-27 18:10:33 -070060
61
62#ifdef __cplusplus
Marat Dukhan80fc9322019-09-29 21:06:36 -070063} // extern "C"
XNNPACK Teamb455b122019-09-27 18:10:33 -070064#endif