FflasFfpack
|
#include <stdbool.h>
#include <stdlib.h>
#include <inttypes.h>
Macros | |
#define | FFLAS_COMPILED |
Enumerations | |
enum | FFLAS_C_ORDER { FflasRowMajor =101 , FflasColMajor =102 , FflasRowMajor =101 , FflasColMajor =102 } |
Storage by row or col ? More... | |
enum | FFLAS_C_TRANSPOSE { FflasNoTrans = 111 , FflasTrans = 112 , FflasNoTrans = 111 , FflasTrans = 112 } |
Is matrix transposed ? More... | |
enum | FFLAS_C_UPLO { FflasUpper = 121 , FflasLower = 122 , FflasUpper = 121 , FflasLower = 122 } |
Is triangular matrix's shape upper ? More... | |
enum | FFLAS_C_DIAG { FflasNonUnit = 131 , FflasUnit = 132 , FflasNonUnit = 131 , FflasUnit = 132 } |
Is the triangular matrix implicitly unit diagonal ? More... | |
enum | FFLAS_C_SIDE { FflasLeft = 141 , FflasRight = 142 , FflasLeft = 141 , FflasRight = 142 } |
On what side ? More... | |
enum | FFLAS_C_BASE { FflasDouble = 151 , FflasFloat = 152 , FflasGeneric = 153 } |
FFLAS_C_BASE determines the type of the element representation for Matrix Mult kernel. More... | |
Functions | |
void | freducein_1_modular_double (const double p, const size_t n, double *X, const size_t incX, bool positive) |
void | freduce_1_modular_double (const double F, const size_t n, const double *Y, const size_t incY, double *X, const size_t incX, bool positive) |
void | fnegin_1_modular_double (const double F, const size_t n, double *X, const size_t incX, bool positive) |
void | fneg_1_modular_double (const double p, const size_t n, const double *Y, const size_t incY, double *X, const size_t incX, bool positive) |
void | fzero_1_modular_double (const double p, const size_t n, double *X, const size_t incX, bool positive) |
bool | fiszero_1_modular_double (const double p, const size_t n, const double *X, const size_t incX, bool positive) |
bool | fequal_1_modular_double (const double p, const size_t n, const double *X, const size_t incX, const double *Y, const size_t incY, bool positive) |
void | fassign_1_modular_double (const double p, const size_t n, const double *Y, const size_t incY, double *X, const size_t incX, bool positive) |
void | fscalin_1_modular_double (const double p, const size_t n, const double alpha, double *X, const size_t incX, bool positive) |
void | fscal_1_modular_double (const double p, const size_t n, const double alpha, const double *X, const size_t incX, double *Y, const size_t incY, bool positive) |
void | faxpy_1_modular_double (const double p, const size_t n, const double alpha, const double *X, const size_t incX, double *Y, const size_t incY, bool positive) |
double | fdot_1_modular_double (const double p, const size_t n, const double *X, const size_t incX, const double *Y, const size_t incY, bool positive) |
void | fswap_1_modular_double (const double p, const size_t n, double *X, const size_t incX, double *Y, const size_t incY, bool positive) |
void | fadd_1_modular_double (const double p, const size_t n, const double *A, const size_t incA, const double *B, const size_t incB, double *C, const size_t incC, bool positive) |
void | fsub_1_modular_double (const double p, const size_t n, const double *A, const size_t incA, const double *B, const size_t incB, double *C, const size_t incC, bool positive) |
void | faddin_1_modular_double (const double p, const size_t n, const double *B, const size_t incB, double *C, const size_t incC, bool positive) |
void | fsubin_1_modular_double (const double p, const size_t n, const double *B, const size_t incB, double *C, const size_t incC, bool positive) |
void | fassign_2_modular_double (const double p, const size_t m, const size_t n, const double *B, const size_t ldB, double *A, const size_t ldA, bool positive) |
void | fzero_2_modular_double (const double p, const size_t m, const size_t n, double *A, const size_t ldA, bool positive) |
bool | fequal_2_modular_double (const double p, const size_t m, const size_t n, const double *A, const size_t ldA, const double *B, const size_t ldB, bool positive) |
bool | fiszero_2_modular_double (const double p, const size_t m, const size_t n, const double *A, const size_t ldA, bool positive) |
void | fidentity_2_modular_double (const double p, const size_t m, const size_t n, double *A, const size_t ldA, const double d, bool positive) |
void | freducein_2_modular_double (const double p, const size_t m, const size_t n, double *A, const size_t ldA, bool positive) |
void | freduce_2_modular_double (const double p, const size_t m, const size_t n, const double *B, const size_t ldB, double *A, const size_t ldA, bool positive) |
void | fnegin_2_modular_double (const double p, const size_t m, const size_t n, double *A, const size_t ldA, bool positive) |
void | fneg_2_modular_double (const double p, const size_t m, const size_t n, const double *B, const size_t ldB, double *A, const size_t ldA, bool positive) |
void | fscalin_2_modular_double (const double p, const size_t m, const size_t n, const double alpha, double *A, const size_t ldA, bool positive) |
void | fscal_2_modular_double (const double p, const size_t m, const size_t n, const double alpha, const double *A, const size_t ldA, double *B, const size_t ldB, bool positive) |
void | faxpy_2_modular_double (const double p, const size_t m, const size_t n, const double alpha, const double *X, const size_t ldX, double *Y, const size_t ldY, bool positive) |
void | fmove_2_modular_double (const double p, const size_t m, const size_t n, double *A, const size_t ldA, double *B, const size_t ldB, bool positive) |
void | fadd_2_modular_double (const double p, const size_t m, const size_t n, const double *A, const size_t ldA, const double *B, const size_t ldB, double *C, const size_t ldC, bool positive) |
void | fsub_2_modular_double (const double p, const size_t m, const size_t n, const double *A, const size_t ldA, const double *B, const size_t ldB, double *C, const size_t ldC, bool positive) |
void | fsubin_2_modular_double (const double p, const size_t m, const size_t n, const double *B, const size_t ldB, double *C, const size_t ldC, bool positive) |
void | faddin_2_modular_double (const double p, const size_t m, const size_t n, const double *B, const size_t ldB, double *C, const size_t ldC, bool positive) |
double * | fgemv_2_modular_double (const double p, const enum FFLAS_C_TRANSPOSE TransA, const size_t m, const size_t n, const double alpha, const double *A, const size_t ldA, const double *X, const size_t incX, const double betA, double *Y, const size_t incY, bool positive) |
void | fger_2_modular_double (const double p, const size_t m, const size_t n, const double alpha, const double *x, const size_t incX, const double *y, const size_t incY, double *A, const size_t ldA, bool positive) |
void | ftrsv_2_modular_double (const double p, const enum FFLAS_C_UPLO Uplo, const enum FFLAS_C_TRANSPOSE TransA, const enum FFLAS_C_DIAG Diag, const size_t n, const double *A, const size_t ldA, double *X, int incX, bool positive) |
void | ftrsm_3_modular_double (const double p, const enum FFLAS_C_SIDE Side, const enum FFLAS_C_UPLO Uplo, const enum FFLAS_C_TRANSPOSE TransA, const enum FFLAS_C_DIAG Diag, const size_t m, const size_t n, const double alpha, const double *A, const size_t ldA, double *B, const size_t ldB, bool positive) |
void | ftrmm_3_modular_double (const double p, const enum FFLAS_C_SIDE Side, const enum FFLAS_C_UPLO Uplo, const enum FFLAS_C_TRANSPOSE TransA, const enum FFLAS_C_DIAG Diag, const size_t m, const size_t n, const double alpha, double *A, const size_t ldA, double *B, const size_t ldB, bool positive) |
double * | fgemm_3_modular_double (const double p, const enum FFLAS_C_TRANSPOSE tA, const enum FFLAS_C_TRANSPOSE tB, const size_t m, const size_t n, const size_t k, const double alpha, const double *A, const size_t ldA, const double *B, const size_t ldB, const double betA, double *C, const size_t ldC, bool positive) |
double * | fsquare_3_modular_double (const double p, const enum FFLAS_C_TRANSPOSE tA, const size_t n, const double alpha, const double *A, const size_t ldA, const double betA, double *C, const size_t ldC, bool positive) |
#define FFLAS_COMPILED |
enum FFLAS_C_ORDER |
enum FFLAS_C_TRANSPOSE |
enum FFLAS_C_UPLO |
enum FFLAS_C_DIAG |
enum FFLAS_C_SIDE |
enum FFLAS_C_BASE |
FFLAS_C_BASE
determines the type of the element representation for Matrix Mult kernel.
(deprecated, should not be used)
Enumerator | |
---|---|
FflasDouble | to use the double precision BLAS |
FflasFloat | to use the single precison BLAS |
FflasGeneric | for any other domain, that can not be converted to floating point integers |
void freducein_1_modular_double | ( | const double | p, |
const size_t | n, | ||
double * | X, | ||
const size_t | incX, | ||
bool | positive | ||
) |
void freduce_1_modular_double | ( | const double | F, |
const size_t | n, | ||
const double * | Y, | ||
const size_t | incY, | ||
double * | X, | ||
const size_t | incX, | ||
bool | positive | ||
) |
void fnegin_1_modular_double | ( | const double | F, |
const size_t | n, | ||
double * | X, | ||
const size_t | incX, | ||
bool | positive | ||
) |
void fneg_1_modular_double | ( | const double | p, |
const size_t | n, | ||
const double * | Y, | ||
const size_t | incY, | ||
double * | X, | ||
const size_t | incX, | ||
bool | positive | ||
) |
void fzero_1_modular_double | ( | const double | p, |
const size_t | n, | ||
double * | X, | ||
const size_t | incX, | ||
bool | positive | ||
) |
bool fiszero_1_modular_double | ( | const double | p, |
const size_t | n, | ||
const double * | X, | ||
const size_t | incX, | ||
bool | positive | ||
) |
bool fequal_1_modular_double | ( | const double | p, |
const size_t | n, | ||
const double * | X, | ||
const size_t | incX, | ||
const double * | Y, | ||
const size_t | incY, | ||
bool | positive | ||
) |
void fassign_1_modular_double | ( | const double | p, |
const size_t | n, | ||
const double * | Y, | ||
const size_t | incY, | ||
double * | X, | ||
const size_t | incX, | ||
bool | positive | ||
) |
void fscalin_1_modular_double | ( | const double | p, |
const size_t | n, | ||
const double | alpha, | ||
double * | X, | ||
const size_t | incX, | ||
bool | positive | ||
) |
void fscal_1_modular_double | ( | const double | p, |
const size_t | n, | ||
const double | alpha, | ||
const double * | X, | ||
const size_t | incX, | ||
double * | Y, | ||
const size_t | incY, | ||
bool | positive | ||
) |
void faxpy_1_modular_double | ( | const double | p, |
const size_t | n, | ||
const double | alpha, | ||
const double * | X, | ||
const size_t | incX, | ||
double * | Y, | ||
const size_t | incY, | ||
bool | positive | ||
) |
double fdot_1_modular_double | ( | const double | p, |
const size_t | n, | ||
const double * | X, | ||
const size_t | incX, | ||
const double * | Y, | ||
const size_t | incY, | ||
bool | positive | ||
) |
void fswap_1_modular_double | ( | const double | p, |
const size_t | n, | ||
double * | X, | ||
const size_t | incX, | ||
double * | Y, | ||
const size_t | incY, | ||
bool | positive | ||
) |
void fadd_1_modular_double | ( | const double | p, |
const size_t | n, | ||
const double * | A, | ||
const size_t | incA, | ||
const double * | B, | ||
const size_t | incB, | ||
double * | C, | ||
const size_t | incC, | ||
bool | positive | ||
) |
void fsub_1_modular_double | ( | const double | p, |
const size_t | n, | ||
const double * | A, | ||
const size_t | incA, | ||
const double * | B, | ||
const size_t | incB, | ||
double * | C, | ||
const size_t | incC, | ||
bool | positive | ||
) |
void faddin_1_modular_double | ( | const double | p, |
const size_t | n, | ||
const double * | B, | ||
const size_t | incB, | ||
double * | C, | ||
const size_t | incC, | ||
bool | positive | ||
) |
void fsubin_1_modular_double | ( | const double | p, |
const size_t | n, | ||
const double * | B, | ||
const size_t | incB, | ||
double * | C, | ||
const size_t | incC, | ||
bool | positive | ||
) |
void fassign_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
const double * | B, | ||
const size_t | ldB, | ||
double * | A, | ||
const size_t | ldA, | ||
bool | positive | ||
) |
void fzero_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
double * | A, | ||
const size_t | ldA, | ||
bool | positive | ||
) |
bool fequal_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
const double * | A, | ||
const size_t | ldA, | ||
const double * | B, | ||
const size_t | ldB, | ||
bool | positive | ||
) |
bool fiszero_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
const double * | A, | ||
const size_t | ldA, | ||
bool | positive | ||
) |
void fidentity_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
double * | A, | ||
const size_t | ldA, | ||
const double | d, | ||
bool | positive | ||
) |
void freducein_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
double * | A, | ||
const size_t | ldA, | ||
bool | positive | ||
) |
void freduce_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
const double * | B, | ||
const size_t | ldB, | ||
double * | A, | ||
const size_t | ldA, | ||
bool | positive | ||
) |
void fnegin_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
double * | A, | ||
const size_t | ldA, | ||
bool | positive | ||
) |
void fneg_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
const double * | B, | ||
const size_t | ldB, | ||
double * | A, | ||
const size_t | ldA, | ||
bool | positive | ||
) |
void fscalin_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
const double | alpha, | ||
double * | A, | ||
const size_t | ldA, | ||
bool | positive | ||
) |
void fscal_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
const double | alpha, | ||
const double * | A, | ||
const size_t | ldA, | ||
double * | B, | ||
const size_t | ldB, | ||
bool | positive | ||
) |
void faxpy_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
const double | alpha, | ||
const double * | X, | ||
const size_t | ldX, | ||
double * | Y, | ||
const size_t | ldY, | ||
bool | positive | ||
) |
void fmove_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
double * | A, | ||
const size_t | ldA, | ||
double * | B, | ||
const size_t | ldB, | ||
bool | positive | ||
) |
void fadd_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
const double * | A, | ||
const size_t | ldA, | ||
const double * | B, | ||
const size_t | ldB, | ||
double * | C, | ||
const size_t | ldC, | ||
bool | positive | ||
) |
void fsub_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
const double * | A, | ||
const size_t | ldA, | ||
const double * | B, | ||
const size_t | ldB, | ||
double * | C, | ||
const size_t | ldC, | ||
bool | positive | ||
) |
void fsubin_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
const double * | B, | ||
const size_t | ldB, | ||
double * | C, | ||
const size_t | ldC, | ||
bool | positive | ||
) |
void faddin_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
const double * | B, | ||
const size_t | ldB, | ||
double * | C, | ||
const size_t | ldC, | ||
bool | positive | ||
) |
double * fgemv_2_modular_double | ( | const double | p, |
const enum FFLAS_C_TRANSPOSE | TransA, | ||
const size_t | m, | ||
const size_t | n, | ||
const double | alpha, | ||
const double * | A, | ||
const size_t | ldA, | ||
const double * | X, | ||
const size_t | incX, | ||
const double | betA, | ||
double * | Y, | ||
const size_t | incY, | ||
bool | positive | ||
) |
void fger_2_modular_double | ( | const double | p, |
const size_t | m, | ||
const size_t | n, | ||
const double | alpha, | ||
const double * | x, | ||
const size_t | incX, | ||
const double * | y, | ||
const size_t | incY, | ||
double * | A, | ||
const size_t | ldA, | ||
bool | positive | ||
) |
void ftrsv_2_modular_double | ( | const double | p, |
const enum FFLAS_C_UPLO | Uplo, | ||
const enum FFLAS_C_TRANSPOSE | TransA, | ||
const enum FFLAS_C_DIAG | Diag, | ||
const size_t | n, | ||
const double * | A, | ||
const size_t | ldA, | ||
double * | X, | ||
int | incX, | ||
bool | positive | ||
) |
void ftrsm_3_modular_double | ( | const double | p, |
const enum FFLAS_C_SIDE | Side, | ||
const enum FFLAS_C_UPLO | Uplo, | ||
const enum FFLAS_C_TRANSPOSE | TransA, | ||
const enum FFLAS_C_DIAG | Diag, | ||
const size_t | m, | ||
const size_t | n, | ||
const double | alpha, | ||
const double * | A, | ||
const size_t | ldA, | ||
double * | B, | ||
const size_t | ldB, | ||
bool | positive | ||
) |
void ftrmm_3_modular_double | ( | const double | p, |
const enum FFLAS_C_SIDE | Side, | ||
const enum FFLAS_C_UPLO | Uplo, | ||
const enum FFLAS_C_TRANSPOSE | TransA, | ||
const enum FFLAS_C_DIAG | Diag, | ||
const size_t | m, | ||
const size_t | n, | ||
const double | alpha, | ||
double * | A, | ||
const size_t | ldA, | ||
double * | B, | ||
const size_t | ldB, | ||
bool | positive | ||
) |
double * fgemm_3_modular_double | ( | const double | p, |
const enum FFLAS_C_TRANSPOSE | tA, | ||
const enum FFLAS_C_TRANSPOSE | tB, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const double | alpha, | ||
const double * | A, | ||
const size_t | ldA, | ||
const double * | B, | ||
const size_t | ldB, | ||
const double | betA, | ||
double * | C, | ||
const size_t | ldC, | ||
bool | positive | ||
) |
double * fsquare_3_modular_double | ( | const double | p, |
const enum FFLAS_C_TRANSPOSE | tA, | ||
const size_t | n, | ||
const double | alpha, | ||
const double * | A, | ||
const size_t | ldA, | ||
const double | betA, | ||
double * | C, | ||
const size_t | ldC, | ||
bool | positive | ||
) |