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

Go to the source code of this file.

Functions

static void p_spm_print_elt_sym_diag (spm_int_t row, spm_int_t dofi, spm_pconj_fct_t conjfct, const int *valptr, FILE *f)
 Print a diagonal element within a symmetric/symmetric matrix with column/row major storage.
 
static void p_spm_print_elt_gen_col (spm_int_t row, spm_int_t dofi, spm_int_t col, spm_int_t dofj, spm_pconj_fct_t conjfct, const int *valptr, FILE *f)
 Print a general element matrix with column major storage.
 
static void p_spm_print_elt_gen_row (spm_int_t row, spm_int_t dofi, spm_int_t col, spm_int_t dofj, spm_pconj_fct_t conjfct, const int *valptr, FILE *f)
 Print a general element matrix with row major storage.
 
static void p_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_pconj_fct_t conjfct, const int *valptr, FILE *f)
 Print a general element matrix.
 
static void p_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_pconj_fct_t conjfct, const int *valptr, FILE *f)
 Print an off-diagonal element matrix in the symmetric/symmetric case.
 
static void p_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 int *valptr, FILE *f)
 Print an element matrix.
 
void p_spmCSCPrint (FILE *f, const spmatrix_t *spm)
 Write CSC matrix in a file.
 
void p_spmCSRPrint (FILE *f, const spmatrix_t *spm)
 Write CSR matrix in a file.
 
void p_spmIJVPrint (FILE *f, const spmatrix_t *spm)
 Write IJV matrix in a file.
 
void p_spmPrint (FILE *f, const spmatrix_t *spm)
 Write a spm matrix in a file.
 
void p_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 -> p, Fri Nov 29 11:34:30 2024

Definition in file p_spm_print.c.

Function Documentation

◆ p_spm_print_elt_sym_diag()

static void p_spm_print_elt_sym_diag ( spm_int_t  row,
spm_int_t  dofi,
spm_pconj_fct_t  conjfct,
const int *  valptr,
FILE *  f 
)
static

Print a diagonal element within a symmetric/symmetric 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 p_spm_print.c.

References p_spmPrintElt.

Referenced by p_spm_print_elt().

◆ p_spm_print_elt_gen_col()

static void p_spm_print_elt_gen_col ( spm_int_t  row,
spm_int_t  dofi,
spm_int_t  col,
spm_int_t  dofj,
spm_pconj_fct_t  conjfct,
const int *  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 p_spm_print.c.

References p_spmPrintElt.

Referenced by p_spm_print_elt_gen(), and p_spm_print_elt_sym_offd().

◆ p_spm_print_elt_gen_row()

static void p_spm_print_elt_gen_row ( spm_int_t  row,
spm_int_t  dofi,
spm_int_t  col,
spm_int_t  dofj,
spm_pconj_fct_t  conjfct,
const int *  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 p_spm_print.c.

References p_spmPrintElt.

Referenced by p_spm_print_elt_gen(), and p_spm_print_elt_sym_offd().

◆ p_spm_print_elt_gen()

static void p_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_pconj_fct_t  conjfct,
const int *  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 p_spm_print.c.

References p_spm_print_elt_gen_col(), p_spm_print_elt_gen_row(), and SpmColMajor.

Referenced by p_spm_print_elt().

◆ p_spm_print_elt_sym_offd()

static void p_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_pconj_fct_t  conjfct,
const int *  valptr,
FILE *  f 
)
static

Print an off-diagonal element matrix in the symmetric/symmetric 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 p_spm_print.c.

References p_spm_print_elt_gen_col(), p_spm_print_elt_gen_row(), and SpmColMajor.

Referenced by p_spm_print_elt().

◆ p_spm_print_elt()

static void p_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 int *  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 p_spm_print.c.

References p_spm_print_elt_gen(), p_spm_print_elt_sym_diag(), p_spm_print_elt_sym_offd(), SpmGeneral, and SpmSymmetric.

Referenced by p_spmCSCPrint(), p_spmCSRPrint(), and p_spmIJVPrint().

◆ p_spmCSCPrint()

void p_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 p_spm_print.c.

References spmatrix_s::baseval, 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, p_spm_print_elt(), spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSC, SpmPattern, and spmatrix_s::values.

Referenced by p_spmPrint().

◆ p_spmCSRPrint()

void p_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 p_spm_print.c.

References spmatrix_s::baseval, 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, p_spm_print_elt(), spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSR, SpmPattern, and spmatrix_s::values.

Referenced by p_spmPrint().

◆ p_spmIJVPrint()

void p_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 p_spm_print.c.

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

Referenced by p_spmPrint().