namespace seams::productΒΆ

namespace product {
 
// enums
 
enum Int8Backend;
enum Mode;
enum Reduction;
 
// structs
 
struct Cij;
struct ComplexDot;
struct GemmInfo;
struct RealDot;
 
// global functions
 
Mode mode();
void setMode(Mode m);
const char* modeName(Mode m);
Reduction reduction();
void setReduction(Reduction r);
const char* reductionName(Reduction r);
bool amxAvailable();
bool vnniAvailable();
void twoSum(double a, double b, double& s, double& e);
void twoProd(double a, double b, double& hi, double& lo);
double pairwiseSum(const double* x, int n);
double neumaierSum(const double* x, int n);
double leftSum(const double* x, int n);
double reduce(const double* x, int n, Reduction r);
double pairwiseBound(int n, long double absSum);
RealDot realDot(const double* x, const double* y, int n, Mode m);
ComplexDot complexDot(const std::complex<double>* a, const std::complex<double>* b, int n, Mode m);
Cij bondCorrelation(const std::complex<double>* a, const std::complex<double>* b, int n, Mode m);
double meanOfFinite(const double* x, int n, Reduction r);
GemmInfo gemm(int m, int n, int k, const double* A, int lda, const double* B, int ldb, double* C, int ldc, Mode mode, double* bounds, Int8Backend backend = Int8Backend::Auto);
bool int8Gemm(int m, int n, int k, const signed char* A, int lda, const signed char* B, int ldb, int* C, int ldc, Int8Backend backend);
 
} // namespace product