#include <assert.h>
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include "xnnpack.h"
#include "xnnpack/allocator.h"
#include "xnnpack/common.h"
#include "xnnpack/compute.h"
#include "xnnpack/config-types.h"
#include "xnnpack/config.h"
#include "xnnpack/log.h"
#include "xnnpack/operator-type.h"
#include "xnnpack/operator.h"
#include "xnnpack/params.h"
#include "pthreadpool.h"
static void init_constant_pad_nd(
uint32_t padding_value,
uint32_t flags,
enum xnn_operator_type operator_type,
const struct xnn_xx_fill_config* fill_config,
const struct xnn_xx_pad_config* pad_config,
xnn_operator_t constant_pad_op)
{ … }
static enum xnn_status create_constant_pad_nd(
uint32_t padding_value,
uint32_t flags,
enum xnn_operator_type operator_type,
xnn_operator_t* constant_pad_op_out)
{ … }
enum xnn_status xnn_create_constant_pad_nd_x8(
const void* padding_value,
uint32_t flags,
xnn_operator_t* constant_pad_op_out)
{ … }
enum xnn_status xnn_create_constant_pad_nd_x16(
const void* padding_value,
uint32_t flags,
xnn_operator_t* constant_pad_op_out)
{ … }
enum xnn_status xnn_create_constant_pad_nd_x32(
const void* padding_value,
uint32_t flags,
xnn_operator_t* constant_pad_op_out)
{ … }
static enum xnn_status reshape_constant_pad_nd(
xnn_operator_t constant_pad_op,
enum xnn_operator_type expected_operator_type,
size_t num_dims,
const size_t* input_shape,
const size_t* pre_paddings,
const size_t* post_paddings,
uint32_t log2_element_size,
pthreadpool_t threadpool)
{ … }
enum xnn_status xnn_reshape_constant_pad_nd_x8(
xnn_operator_t constant_pad_op,
size_t num_dims,
const size_t* input_shape,
const size_t* pre_padding,
const size_t* post_padding,
pthreadpool_t threadpool)
{ … }
enum xnn_status xnn_reshape_constant_pad_nd_x16(
xnn_operator_t constant_pad_op,
size_t num_dims,
const size_t* input_shape,
const size_t* pre_padding,
const size_t* post_padding,
pthreadpool_t threadpool)
{ … }
enum xnn_status xnn_reshape_constant_pad_nd_x32(
xnn_operator_t constant_pad_op,
size_t num_dims,
const size_t* input_shape,
const size_t* pre_padding,
const size_t* post_padding,
pthreadpool_t threadpool)
{ … }
static enum xnn_status setup_constant_pad_nd(
xnn_operator_t constant_pad_op,
enum xnn_operator_type expected_operator_type,
const void* input,
void* output)
{ … }
enum xnn_status xnn_setup_constant_pad_nd_x8(
xnn_operator_t constant_pad_op,
const void* input,
void* output)
{ … }
enum xnn_status xnn_setup_constant_pad_nd_x16(
xnn_operator_t constant_pad_op,
const void* input,
void* output)
{ … }
enum xnn_status xnn_setup_constant_pad_nd_x32(
xnn_operator_t constant_pad_op,
const void* input,
void* output)
{ … }
enum xnn_status run_constant_pad_nd(
uint32_t flags,
size_t num_dims,
const size_t* input_shape,
const size_t* pre_paddings,
const size_t* post_paddings,
const void* input,
void* output,
uint32_t log2_element_size,
const uint32_t padding_value,
enum xnn_operator_type operator_type,
pthreadpool_t threadpool)
{ … }
enum xnn_status xnn_run_constant_pad_nd_x8(
uint32_t flags,
size_t num_dims,
const size_t* input_shape,
const size_t* pre_paddings,
const size_t* post_paddings,
const void* input,
void* output,
const void* padding_value,
pthreadpool_t threadpool)
{ … }
enum xnn_status xnn_run_constant_pad_nd_x16(
uint32_t flags,
size_t num_dims,
const size_t* input_shape,
const size_t* pre_paddings,
const size_t* post_paddings,
const void* input,
void* output,
const void* padding_value,
pthreadpool_t threadpool)
{ … }
enum xnn_status xnn_run_constant_pad_nd_x32(
uint32_t flags,
size_t num_dims,
const size_t* input_shape,
const size_t* pre_paddings,
const size_t* post_paddings,
const void* input,
void* output,
const void* padding_value,
pthreadpool_t threadpool)
{ … }