SpM Handbook 1.2.4
Loading...
Searching...
No Matches
c_spm_print.c File Reference
#include "common.h"

Go to the source code of this file.

Functions

static void c_spm_print_elt_sym_diag (spm_int_t row, spm_int_t dofi, spm_cconj_fct_t conjfct, const spm_complex32_t *valptr, FILE *f)
 Print a diagonal element within a symmetric/hermitian matrix with column/row major storage.
 
static void c_spm_print_elt_gen_col (spm_int_t row, spm_int_t dofi, spm_int_t col, spm_int_t dofj, spm_cconj_fct_t conjfct, const spm_complex32_t *valptr, FILE *f)
 Print a general element matrix with column major storage.
 
static void c_spm_print_elt_gen_row (spm_int_t row, spm_int_t dofi, spm_int_t col, spm_int_t dofj, spm_cconj_fct_t conjfct, const spm_complex32_t *valptr, FILE *f)
 Print a general element matrix with row major storage.
 
static void c_spm_print_elt_gen (spm_layout_t layout, spm_int_t row, spm_int_t dofi, spm_int_t col, spm_int_t dofj, const spm_cconj_fct_t conjfct, const spm_complex32_t *valptr, FILE *f)
 Print a general element matrix.
 
static void c_spm_print_elt_sym_offd (spm_layout_t layout, spm_int_t row, spm_int_t dofi, spm_int_t col, spm_int_t dofj, spm_cconj_fct_t conjfct, const spm_complex32_t *valptr, FILE *f)
 Print an off-diagonal element matrix in the symmetric/hermitian case.
 
static void c_spm_print_elt (spm_mtxtype_t mtxtype, spm_layout_t layout, spm_int_t row, spm_int_t dofi, spm_int_t col, spm_int_t dofj, const spm_complex32_t *valptr, FILE *f)
 Print an element matrix.
 
void c_spmCSCPrint (FILE *f, const spmatrix_t *spm)
 Write CSC matrix in a file.
 
void c_spmCSRPrint (FILE *f, const spmatrix_t *spm)
 Write CSR matrix in a file.
 
void c_spmIJVPrint (FILE *f, const spmatrix_t *spm)
 Write IJV matrix in a file.
 
void c_spmPrint (FILE *f, const spmatrix_t *spm)
 Write a spm matrix in a file.
 
void c_spmPrintRHS (FILE *f, const spmatrix_t *spm, int nrhs, const void *x, spm_int_t ldx)
 Write into a file the vectors associated to a spm.
 

Detailed Description

SParse Matrix package printing routines.

Version
1.2.4
Author
Mathieu Faverge
Alban Bellot
Matias Hastaran
Tony Delarue
Alycia Lisito
Date
2024-06-25
Generated arithmetic file from /builds/2mk6rsew/0/fpruvost/spm/src/z_spm_print.c, normal z -> c, Fri Nov 29 11:34:28 2024

Definition in file c_spm_print.c.

Function Documentation

◆ c_spm_print_elt_sym_diag()

static void c_spm_print_elt_sym_diag ( spm_int_t  row,
spm_int_t  dofi,
spm_cconj_fct_t  conjfct,
const spm_complex32_t valptr,
FILE *  f 
)
static

Print a diagonal element within a symmetric/hermitian matrix with column/row major storage.

Note that column major is using the low triangular part only of the diagonal element matrices, and row major, by symmetry, is using only the upper triangular part.

The comments in the code are made for column major storage.

Parameters
[in]rowTODO
[in]dofiTODO
[in]conjfctTODO
[in]valptrTODO
[in,out]fTODO

Definition at line 57 of file c_spm_print.c.

References c_spmPrintElt().

Referenced by c_spm_print_elt().

◆ c_spm_print_elt_gen_col()

static void c_spm_print_elt_gen_col ( spm_int_t  row,
spm_int_t  dofi,
spm_int_t  col,
spm_int_t  dofj,
spm_cconj_fct_t  conjfct,
const spm_complex32_t valptr,
FILE *  f 
)
static

Print a general element matrix with column major storage.

Parameters
[in]rowTODO
[in]dofiTODO
[in]colTODO
[in]dofjTODO
[in]conjfctTODO
[in]valptrTODO
[in,out]fTODO

Definition at line 117 of file c_spm_print.c.

References c_spmPrintElt().

Referenced by c_spm_print_elt_gen(), and c_spm_print_elt_sym_offd().

◆ c_spm_print_elt_gen_row()

static void c_spm_print_elt_gen_row ( spm_int_t  row,
spm_int_t  dofi,
spm_int_t  col,
spm_int_t  dofj,
spm_cconj_fct_t  conjfct,
const spm_complex32_t valptr,
FILE *  f 
)
static

Print a general element matrix with row major storage.

Parameters
[in]rowTODO
[in]dofiTODO
[in]colTODO
[in]dofjTODO
[in]conjfctTODO
[in]valptrTODO
[in,out]fTODO

Definition at line 167 of file c_spm_print.c.

References c_spmPrintElt().

Referenced by c_spm_print_elt_gen(), and c_spm_print_elt_sym_offd().

◆ c_spm_print_elt_gen()

static void c_spm_print_elt_gen ( spm_layout_t  layout,
spm_int_t  row,
spm_int_t  dofi,
spm_int_t  col,
spm_int_t  dofj,
const spm_cconj_fct_t  conjfct,
const spm_complex32_t valptr,
FILE *  f 
)
static

Print a general element matrix.

Parameters
[in]layoutTODO
[in]rowTODO
[in]dofiTODO
[in]colTODO
[in]dofjTODO
[in]conjfctTODO
[in]valptrTODO
[in,out]fTODO

Definition at line 220 of file c_spm_print.c.

References c_spm_print_elt_gen_col(), c_spm_print_elt_gen_row(), and SpmColMajor.

Referenced by c_spm_print_elt().

◆ c_spm_print_elt_sym_offd()

static void c_spm_print_elt_sym_offd ( spm_layout_t  layout,
spm_int_t  row,
spm_int_t  dofi,
spm_int_t  col,
spm_int_t  dofj,
spm_cconj_fct_t  conjfct,
const spm_complex32_t valptr,
FILE *  f 
)
static

Print an off-diagonal element matrix in the symmetric/hermitian case.

Parameters
[in]layoutTODO
[in]rowTODO
[in]dofiTODO
[in]colTODO
[in]dofjTODO
[in]conjfctTODO
[in]valptrTODO
[in,out]fTODO

Definition at line 270 of file c_spm_print.c.

References c_spm_print_elt_gen_col(), c_spm_print_elt_gen_row(), and SpmColMajor.

Referenced by c_spm_print_elt().

◆ c_spm_print_elt()

static void c_spm_print_elt ( spm_mtxtype_t  mtxtype,
spm_layout_t  layout,
spm_int_t  row,
spm_int_t  dofi,
spm_int_t  col,
spm_int_t  dofj,
const spm_complex32_t valptr,
FILE *  f 
)
static

Print an element matrix.

Parameters
[in]mtxtypeTODO
[in]layoutTODO
[in]rowTODO
[in]dofiTODO
[in]colTODO
[in]dofjTODO
[in]valptrTODO
[in,out]fTODO

Definition at line 327 of file c_spm_print.c.

References c_spm_print_elt_gen(), c_spm_print_elt_sym_diag(), c_spm_print_elt_sym_offd(), SpmGeneral, and SpmHermitian.

Referenced by c_spmCSCPrint(), c_spmCSRPrint(), and c_spmIJVPrint().

◆ c_spmCSCPrint()

void c_spmCSCPrint ( FILE *  f,
const spmatrix_t spm 
)

Write CSC matrix in a file.

Parameters
[in,out]fOutput file
[in]spmThe spm structure describing the matrix.

Definition at line 377 of file c_spm_print.c.

References spmatrix_s::baseval, c_spm_print_elt(), spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::flttype, spmatrix_s::fmttype, spmatrix_s::layout, spmatrix_s::loc2glob, spmatrix_s::mtxtype, spmatrix_s::n, spmatrix_s::replicated, spmatrix_s::rowptr, SpmComplex32, SpmCSC, and spmatrix_s::values.

Referenced by c_spmPrint().

◆ c_spmCSRPrint()

void c_spmCSRPrint ( FILE *  f,
const spmatrix_t spm 
)

Write CSR matrix in a file.

Parameters
[in]fOutput file
[in]spmThe spm structure describing the matrix.

Definition at line 444 of file c_spm_print.c.

References spmatrix_s::baseval, c_spm_print_elt(), spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::flttype, spmatrix_s::fmttype, spmatrix_s::layout, spmatrix_s::loc2glob, spmatrix_s::mtxtype, spmatrix_s::n, spmatrix_s::replicated, spmatrix_s::rowptr, SpmComplex32, SpmCSR, and spmatrix_s::values.

Referenced by c_spmPrint().

◆ c_spmIJVPrint()

void c_spmIJVPrint ( FILE *  f,
const spmatrix_t spm 
)

Write IJV matrix in a file.

Parameters
[in]fOutput file
[in]spmThe spm structure describing the matrix.

Definition at line 515 of file c_spm_print.c.

References spmatrix_s::baseval, c_spm_print_elt(), spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::flttype, spmatrix_s::fmttype, spmatrix_s::layout, spmatrix_s::mtxtype, spmatrix_s::nnz, spmatrix_s::rowptr, SpmComplex32, SpmIJV, and spmatrix_s::values.

Referenced by c_spmPrint().