#include <assert.h>
#include <inttypes.h>
#include <stddef.h>
#include <stdint.h>
#include "xnnpack.h"
#include "xnnpack/allocation-type.h"
#include "xnnpack/common.h"
#include "xnnpack/internal.h"
#include "xnnpack/log.h"
#include "xnnpack/node-type.h"
#include "xnnpack/operator-type.h"
#include "xnnpack/operator.h"
#include "xnnpack/requantization.h"
#include "xnnpack/subgraph-validation.h"
#include "xnnpack/subgraph.h"
#include "pthreadpool.h"
static enum xnn_status create_fully_connected_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)
{ … }
enum xnn_status resize_fully_connected_output_tensor(
const struct xnn_operator_data* opdata,
struct xnn_value* values,
size_t num_values,
size_t old_workspace_size,
pthreadpool_t threadpool)
{ … }
static enum xnn_status reshape_fully_connected_operator(
struct xnn_operator_data* opdata,
struct xnn_value* values,
size_t num_values,
pthreadpool_t threadpool)
{ … }
static enum xnn_status setup_fully_connected_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_with_bias(
enum xnn_datatype input_datatype,
enum xnn_datatype kernel_datatype,
enum xnn_datatype bias_datatype,
enum xnn_datatype output_datatype)
{ … }
static inline enum xnn_compute_type validate_datatypes_without_bias(
enum xnn_datatype input_datatype,
enum xnn_datatype kernel_datatype,
enum xnn_datatype output_datatype)
{ … }
enum xnn_status xnn_define_fully_connected(
xnn_subgraph_t subgraph,
float output_min,
float output_max,
uint32_t input_id,
uint32_t filter_id,
uint32_t bias_id,
uint32_t output_id,
uint32_t flags)
{ … }