| 
    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 | ||
| ) |