19 #ifndef TESSERACT_ARCH_INTSIMDMATRIX_H_ 20 #define TESSERACT_ARCH_INTSIMDMATRIX_H_ 109 typedef void (*
PartialFunc)(
const int8_t* w,
const double* scales,
110 const int8_t* u,
int num_in,
int num_out,
115 return (input + factor - 1) / factor * factor;
136 #endif // TESSERACT_ARCH_INTSIMDMATRIX_H_ Definition: intsimdmatrix.h:61
void MatrixDotVector(const GENERIC_2D_ARRAY< int8_t > &w, const GenericVector< double > &scales, const int8_t *u, double *v) const
Definition: intsimdmatrix.cpp:96
void(* PartialFunc)(const int8_t *w, const double *scales, const int8_t *u, int num_in, int num_out, double *v)
Definition: intsimdmatrix.h:109
std::vector< int8_t > shaped_w_
Definition: intsimdmatrix.h:129
int num_input_groups_
Definition: intsimdmatrix.h:127
int max_output_registers_
Definition: intsimdmatrix.h:121
Definition: intsimdmatrix.h:25
int num_inputs_per_register_
Definition: intsimdmatrix.h:123
int RoundOutputs(int size) const
Definition: intsimdmatrix.h:85
static int Roundup(int input, int factor)
Definition: intsimdmatrix.h:114
Definition: baseapi.cpp:94
int num_outputs_per_register_
Definition: intsimdmatrix.h:119
std::vector< PartialFunc > partial_funcs_
Definition: intsimdmatrix.h:131
int num_inputs_per_group_
Definition: intsimdmatrix.h:125
int RoundInputs(int size) const
Definition: intsimdmatrix.h:81
static IntSimdMatrix * GetFastestMultiplier()
Definition: intsimdmatrix.cpp:31
IntSimdMatrix()
Definition: intsimdmatrix.h:65
void Init(const GENERIC_2D_ARRAY< int8_t > &w)
Definition: intsimdmatrix.cpp:46