PaStiX Handbook 6.4.0
Loading...
Searching...
No Matches
s_refine_functions.h
Go to the documentation of this file.
1/**
2 *
3 * @file s_refine_functions.h
4 *
5 * PaStiX refinement functions implementations.
6 *
7 * @copyright 2015-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
8 * Univ. Bordeaux. All rights reserved.
9 *
10 * @version 6.4.0
11 * @author Mathieu Faverge
12 * @author Pierre Ramet
13 * @author Xavier Lacoste
14 * @author Gregoire Pichon
15 * @author Theophile Terraz
16 * @author Vincent Bridonneau
17 * @date 2024-07-05
18 * @generated from /builds/t1_njzip8/0/solverstack/pastix/refinement/z_refine_functions.h, normal z -> s, Wed Jul 16 09:32:27 2025
19 *
20 * @addtogroup pastix_dev_refine
21 * @{
22 * @brief TODO.
23 *
24 **/
25
26#ifndef _s_refine_functions_h_
27#define _s_refine_functions_h_
28
29#include "common.h"
30#include "bcsc/bcsc.h"
31
32#ifndef DOXYGEN_SHOULD_SKIP_THIS
33/**
34 * @brief TODO
35 */
36struct s_solver
37{
38 pastix_int_t (* getN ) (pastix_data_t *);
39 pastix_fixdbl_t (* getEps ) (pastix_data_t *);
40 pastix_int_t (* getImax) (pastix_data_t *);
41 pastix_int_t (* getRestart)(pastix_data_t *);
42
43 void* (*malloc)(size_t);
44 void (*free)(void*);
45
46 void (*output_oneiter)( pastix_fixdbl_t, pastix_fixdbl_t, float, pastix_int_t);
47 void (*output_final)( pastix_data_t *, float, pastix_int_t,
48 pastix_fixdbl_t, void*, float*);
49
50 void (*scal)( pastix_data_t *, pastix_int_t, float, float * );
51 float (*dot) ( pastix_data_t *, pastix_int_t, const float *, const float * );
52 void (*copy)( pastix_data_t *, pastix_int_t, const float *, float * );
53 void (*axpy)( pastix_data_t *, pastix_int_t, float, const float *, float *);
54 void (*spmv)( const pastix_data_t *, pastix_trans_t, float, const float *, float, float * );
55 void (*spsv)( pastix_data_t *, float *, float * );
56 float (*norm)( pastix_data_t *, pastix_int_t, const float * );
57 void (*gemv)( pastix_data_t *, pastix_int_t, pastix_int_t,
58 float, const float *, pastix_int_t,
59 const float *, float, float *);
60};
61#endif /* DOXYGEN_SHOULD_SKIP_THIS */
62
63void s_refine_init(struct s_solver *, pastix_data_t*);
64
69
70/**
71 * @}
72 */
73#endif /* _s_refine_functions_h_ */
BEGIN_C_DECLS typedef int pastix_int_t
Definition datatypes.h:51
double pastix_fixdbl_t
Definition datatypes.h:65
enum pastix_trans_e pastix_trans_t
Transpostion.
pastix_int_t s_grad_smp(pastix_data_t *pastix_data, pastix_rhs_t xp, pastix_rhs_t bp)
pastix_int_t s_gmres_smp(pastix_data_t *pastix_data, pastix_rhs_t xp, pastix_rhs_t bp)
pastix_int_t s_pivot_smp(pastix_data_t *pastix_data, pastix_rhs_t xp, pastix_rhs_t bp)
void s_refine_init(struct s_solver *, pastix_data_t *)
Initiate functions pointers to define basic operations.
pastix_int_t s_bicgstab_smp(pastix_data_t *pastix_data, pastix_rhs_t xp, pastix_rhs_t bp)
Main PaStiX data structure.
Definition pastixdata.h:68
Main PaStiX RHS structure.
Definition pastixdata.h:155