PaStiX Handbook  6.2.1
coeftab.h
Go to the documentation of this file.
1 /**
2  *
3  * @file coeftab.h
4  *
5  * PaStiX coefficient array routines header.
6  *
7  * @copyright 2015-2021 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
8  * Univ. Bordeaux. All rights reserved.
9  *
10  * @version 6.2.0
11  * @author Xavier Lacoste
12  * @author Pierre Ramet
13  * @author Mathieu Faverge
14  * @date 2021-01-03
15  *
16  * @addtogroup coeftab
17  * @{
18  * This group collects all the functions that operate on the full matrix and
19  * which are not factorization/solve routines.
20  *
21  **/
22 #ifndef _coeftab_h_
23 #define _coeftab_h_
24 
25 #include "sopalin/coeftab_z.h"
26 #include "sopalin/coeftab_c.h"
27 #include "sopalin/coeftab_d.h"
28 #include "sopalin/coeftab_s.h"
29 
30 void coeftabInit( pastix_data_t *pastix_data,
31  pastix_coefside_t side );
32 void coeftabExit( SolverMatrix *solvmtx );
33 
34 pastix_int_t coeftabCompress( pastix_data_t *pastix_data );
35 
36 #if defined(PASTIX_WITH_MPI)
37 void coeftab_scatter( SolverMatrix *solvmtx,
38  PASTIX_Comm comm,
39  pastix_int_t root,
40  pastix_coeftype_t typesze );
41 void coeftab_gather ( SolverMatrix *solvmtx,
42  PASTIX_Comm comm,
43  pastix_int_t root,
44  pastix_coeftype_t typesze );
45 void coeftab_nullify( SolverMatrix *solvmtx );
46 #endif
47 
48 /**
49  * @brief Type of the memory gain functions
50  */
51 typedef void (*coeftab_fct_memory_t)( SolverMatrix *, pastix_fixdbl_t * );
52 
53 /**
54  * @brief List of functions to compute the memory gain in low-rank per precision.
55  */
57 
58 /**
59  * @}
60  */
61 #endif /* _coeftab_h_ */
coeftab_fct_memory_t
void(* coeftab_fct_memory_t)(SolverMatrix *, pastix_fixdbl_t *)
Type of the memory gain functions.
Definition: coeftab.h:51
pastix_coefside_t
enum pastix_coefside_e pastix_coefside_t
Data blocks used in the kernel.
coeftabCompress
pastix_int_t coeftabCompress(pastix_data_t *pastix_data)
Compress the factorized matrix structure if not already done.
Definition: coeftab.c:320
coeftab_c.h
coeftab_d.h
coeftabExit
void coeftabExit(SolverMatrix *solvmtx)
Free the solver matrix structure.
Definition: coeftab.c:185
coeftabMemory
coeftab_fct_memory_t coeftabMemory[4]
List of functions to compute the memory gain in low-rank per precision.
Definition: coeftab.c:42
coeftab_z.h
coeftab_s.h
coeftabInit
void coeftabInit(pastix_data_t *pastix_data, pastix_coefside_t side)
Initialize the solver matrix structure.
Definition: coeftab.c:138
pastix_coeftype_t
#define pastix_coeftype_t
Arithmetic types.
Definition: api.h:283