18 #ifndef _pastix_lowrank_h_
19 #define _pastix_lowrank_h_
41 #define PASTIX_LRM3_ORTHOU (1 << 0)
45 #define PASTIX_LRM3_ALLOCU (1 << 1)
49 #define PASTIX_LRM3_ALLOCV (1 << 2)
53 #define PASTIX_LRM3_TRANSB (1 << 3)
86 return pastix_imin( M, N );
155 return pastix_imin( M, N );
BEGIN_C_DECLS typedef int pastix_int_t
pastix_compress_method_t compress_method
pastix_int_t compress_min_width
pastix_int_t compress_min_height
pastix_compress_when_t compress_when
static pastix_int_t core_get_rklimit_end(pastix_int_t M, pastix_int_t N)
Compute the maximal rank accepted for a given matrix size for Just-In-Time strategy.
const char * compmeth_lgnames[PastixCompressMethodNbr]
List of long names for the compression kernels.
struct pastix_lrblock_s pastix_lrblock_t
The block low-rank structure to hold a matrix in low-rank form.
const fct_rradd_t rraddMethods[PastixCompressMethodNbr][4]
Array of pointers to the multiple arithmetic and algorithmic variants of rradd.
enum memory_stats_e memory_stats_t
Enum to define the type of block.
memory_stats_e
Enum to define the type of block.
const fct_ge2lr_t ge2lrMethods[PastixCompressMethodNbr][4]
Array of pointers to the multiple arithmetic and algorithmic variants of ge2lr.
double pastix_lr_minratio
Define the minimal ratio for which we accept to compress a matrix into a low-rank form or not.
pastix_int_t pastix_lr_ortho
Define the orthogonalization method.
static pastix_int_t core_get_rklimit_max(pastix_int_t M, pastix_int_t N)
Compute the maximal rank accepted for a given matrix size for testings.
pastix_fixdbl_t(* fct_rradd_t)(const pastix_lr_t *, pastix_trans_t, const void *, pastix_int_t, pastix_int_t, const pastix_lrblock_t *, pastix_int_t, pastix_int_t, pastix_lrblock_t *, pastix_int_t, pastix_int_t)
Type of the functions to add two low-rank blocks together.
pastix_int_t(* core_get_rklimit)(pastix_int_t, pastix_int_t)
Compute the maximal rank accepted for a given matrix size. The pointer is set according to the low-ra...
static pastix_int_t core_get_rklimit_test(pastix_int_t M, pastix_int_t N)
TODO.
pastix_fixdbl_t(* fct_ge2lr_t)(int, pastix_fixdbl_t, pastix_int_t, pastix_int_t, pastix_int_t, const void *, pastix_int_t, pastix_lrblock_t *)
Type of the functions to compress a dense block into a low-rank form.
const char * compmeth_shnames[PastixCompressMethodNbr]
List of short names for the compression kernels.
struct pastix_lr_s pastix_lr_t
Structure to define the type of function to use for the low-rank kernels and their parameters.
static pastix_int_t core_get_rklimit_begin(pastix_int_t M, pastix_int_t N)
Compute the maximal rank accepted for a given matrix size for Minimal-Memory strategy.
Structure to define the type of function to use for the low-rank kernels and their parameters.
The block low-rank structure to hold a matrix in low-rank form.
enum pastix_compress_when_e pastix_compress_when_t
Compression strategy available for IPARM_COMPRESS_WHEN parameter.
enum pastix_compress_method_e pastix_compress_method_t
Compression method available for IPARM_COMPRESS_METHOD parameter.
enum pastix_trans_e pastix_trans_t
Transpostion.
@ PastixCompressMethodNbr