#include <assert.h>
#include <inttypes.h>
#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include "xnnpack.h"
#include "xnnpack/allocation-type.h"
#include "xnnpack/common.h"
#include "xnnpack/log.h"
#include "xnnpack/math.h"
#include "xnnpack/node-type.h"
#include "xnnpack/operator-type.h"
#include "xnnpack/operator.h"
#include "xnnpack/subgraph-validation.h"
#include "xnnpack/subgraph.h"
#include "pthreadpool.h"
static enum xnn_status create_batch_matrix_multiply_operator(
const struct xnn_node* node,
const struct xnn_value* values,
size_t num_values,
struct xnn_operator_data* opdata,
struct xnn_code_cache* code_cache,
xnn_weights_cache_t weights_cache)
{ … }
static enum xnn_status reshape_batch_matrix_multiply_operator(
struct xnn_operator_data* opdata,
struct xnn_value* values,
size_t num_values,
pthreadpool_t threadpool)
{ … }
static enum xnn_status setup_batch_matrix_multiply_operator(
const struct xnn_operator_data* opdata,
const struct xnn_value* values,
size_t num_values,
pthreadpool_t threadpool)
{ … }
static inline enum xnn_compute_type validate_datatypes(
enum xnn_datatype input1_datatype,
enum xnn_datatype input2_datatype,
enum xnn_datatype output_datatype)
{ … }
enum xnn_status xnn_define_batch_matrix_multiply(
xnn_subgraph_t subgraph,
uint32_t input1_id,
uint32_t input2_id,
uint32_t output_id,
uint32_t flags)
{ … }