.. index:: pair: namespace; seams::product .. _doxid-namespaceseams_1_1product: namespace seams::product ======================== .. toctree:: :hidden: enum_seams_product_Int8Backend.rst enum_seams_product_Mode.rst enum_seams_product_Reduction.rst struct_seams_product_Cij.rst struct_seams_product_ComplexDot.rst struct_seams_product_GemmInfo.rst struct_seams_product_RealDot.rst .. ref-code-block:: cpp :class: doxyrest-overview-code-block namespace product { // enums enum :ref:`Int8Backend`; enum :ref:`Mode`; enum :ref:`Reduction`; // structs struct :ref:`Cij`; struct :ref:`ComplexDot`; struct :ref:`GemmInfo`; struct :ref:`RealDot`; // global functions :ref:`Mode` :target:`mode`(); void :target:`setMode`(:ref:`Mode` m); const char* :target:`modeName`(:ref:`Mode` m); :ref:`Reduction` :target:`reduction`(); void :target:`setReduction`(:ref:`Reduction` r); const char* :target:`reductionName`(:ref:`Reduction` r); bool :target:`amxAvailable`(); bool :target:`vnniAvailable`(); void :target:`twoSum`(double a, double b, double& s, double& e); void :target:`twoProd`(double a, double b, double& hi, double& lo); double :target:`pairwiseSum`(const double* x, int n); double :target:`neumaierSum`(const double* x, int n); double :target:`leftSum`(const double* x, int n); double :target:`reduce`(const double* x, int n, :ref:`Reduction` r); double :target:`pairwiseBound`(int n, long double absSum); :ref:`RealDot` :target:`realDot`(const double* x, const double* y, int n, :ref:`Mode` m); :ref:`ComplexDot` :target:`complexDot`(const std::complex* a, const std::complex* b, int n, :ref:`Mode` m); :ref:`Cij` :target:`bondCorrelation`(const std::complex* a, const std::complex* b, int n, :ref:`Mode` m); double :target:`meanOfFinite`(const double* x, int n, :ref:`Reduction` r); :ref:`GemmInfo` :target:`gemm`(int m, int n, int k, const double* A, int lda, const double* B, int ldb, double* C, int ldc, :ref:`Mode` mode, double* bounds, :ref:`Int8Backend` backend = :ref:`Int8Backend::Auto`); bool :target:`int8Gemm`(int m, int n, int k, const signed char* A, int lda, const signed char* B, int ldb, int* C, int ldc, :ref:`Int8Backend` backend); } // namespace product