SpM Handbook 1.2.4
Loading...
Searching...
No Matches
Spm_dev_dof

DOF routines. More...

Functions

void s_spmExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof sparse matrix to a multi-dofs sparse matrix.
 
void s_spmDofExtend (spmatrix_t *spm)
 Extend a single dof sparse matrix to a multi-dof sparse matrix.
 
void d_spmExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof sparse matrix to a multi-dofs sparse matrix.
 
void d_spmDofExtend (spmatrix_t *spm)
 Extend a single dof sparse matrix to a multi-dof sparse matrix.
 
void c_spmExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof sparse matrix to a multi-dofs sparse matrix.
 
void c_spmDofExtend (spmatrix_t *spm)
 Extend a single dof sparse matrix to a multi-dof sparse matrix.
 
void z_spmExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof sparse matrix to a multi-dofs sparse matrix.
 
void z_spmDofExtend (spmatrix_t *spm)
 Extend a single dof sparse matrix to a multi-dof sparse matrix.
 
void p_spmExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof sparse matrix to a multi-dofs sparse matrix.
 
static void c_spm_dof_extend_update_values (spm_complex32_t *newval, spm_complex32_t value, spm_int_t dofi, spm_int_t dofj, int diag)
 Update the newval array thanks to the old value and the degrees of freedom.
 
static void c_spm_dof_extend_csx (spmatrix_t *spm)
 Extend a single dof CSX sparse matrix to a multi-dof sparse matrix.
 
static void c_spm_dof_extend_ijv (spmatrix_t *spm)
 Extend a single dof IJV sparse matrix to a multi-dof sparse matrix.
 
static void s_spm_dof_extend_update_values (float *newval, float value, spm_int_t dofi, spm_int_t dofj, int diag)
 Update the newval array thanks to the old value and the degrees of freedom.
 
static void s_spm_dof_extend_csx (spmatrix_t *spm)
 Extend a single dof CSX sparse matrix to a multi-dof sparse matrix.
 
static void s_spm_dof_extend_ijv (spmatrix_t *spm)
 Extend a single dof IJV sparse matrix to a multi-dof sparse matrix.
 
static void z_spm_dof_extend_update_values (spm_complex64_t *newval, spm_complex64_t value, spm_int_t dofi, spm_int_t dofj, int diag)
 Update the newval array thanks to the old value and the degrees of freedom.
 
static void z_spm_dof_extend_csx (spmatrix_t *spm)
 Extend a single dof CSX sparse matrix to a multi-dof sparse matrix.
 
static void z_spm_dof_extend_ijv (spmatrix_t *spm)
 Extend a single dof IJV sparse matrix to a multi-dof sparse matrix.
 
static void d_spm_dof_extend_update_values (double *newval, double value, spm_int_t dofi, spm_int_t dofj, int diag)
 Update the newval array thanks to the old value and the degrees of freedom.
 
static void d_spm_dof_extend_csx (spmatrix_t *spm)
 Extend a single dof CSX sparse matrix to a multi-dof sparse matrix.
 
static void d_spm_dof_extend_ijv (spmatrix_t *spm)
 Extend a single dof IJV sparse matrix to a multi-dof sparse matrix.
 
static void d_spm_expand_loc2glob (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Create the associated loc2glob of an expanded matrix.
 
static void d_spmCSCExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof CSC to a multi-dofs CSC.
 
static void d_spmCSRExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof CSR to a multi-dofs CSR.
 
static void d_spmIJVExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof IJV to a multi-dofs IJV.
 
static void c_spm_expand_loc2glob (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Create the associated loc2glob of an expanded matrix.
 
static void c_spmCSCExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof CSC to a multi-dofs CSC.
 
static void c_spmCSRExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof CSR to a multi-dofs CSR.
 
static void c_spmIJVExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof IJV to a multi-dofs IJV.
 
static void p_spm_expand_loc2glob (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Create the associated loc2glob of an expanded matrix.
 
static void p_spmCSCExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof CSC to a multi-dofs CSC.
 
static void p_spmCSRExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof CSR to a multi-dofs CSR.
 
static void p_spmIJVExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof IJV to a multi-dofs IJV.
 
static void s_spm_expand_loc2glob (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Create the associated loc2glob of an expanded matrix.
 
static void s_spmCSCExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof CSC to a multi-dofs CSC.
 
static void s_spmCSRExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof CSR to a multi-dofs CSR.
 
static void s_spmIJVExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof IJV to a multi-dofs IJV.
 
static void z_spm_expand_loc2glob (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Create the associated loc2glob of an expanded matrix.
 
static void z_spmCSCExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof CSC to a multi-dofs CSC.
 
static void z_spmCSRExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof CSR to a multi-dofs CSR.
 
static void z_spmIJVExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out)
 Expand a single dof IJV to a multi-dofs IJV.
 

Detailed Description

DOF routines.

Function Documentation

◆ s_spmExpand()

void s_spmExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)

Expand a single dof sparse matrix to a multi-dofs sparse matrix.

The original value of the element is replicated through the entire element matrix that is generated in this routine.

Warning
This function should never be called directly, except by spmExpand().
Parameters
[in]spm_inThe original input matrix with dof = 1.
[in,out]spm_outThe expanded matrix with the same pattern as spm_in, but with multiple dofs per element.

Definition at line 556 of file s_spm_expand.c.

References spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::flttype, spmatrix_s::fmttype, spmatrix_s::glob2loc, spmatrix_s::layout, spmatrix_s::loc2glob, spmatrix_s::n, spmatrix_s::nexp, spmatrix_s::replicated, s_spm_expand_loc2glob(), s_spmCSCExpand(), s_spmCSRExpand(), s_spmIJVExpand(), SpmColMajor, spmCopy(), SpmCSC, SpmCSR, SpmFloat, SpmIJV, and spmUpdateComputedFields().

Referenced by spmExpand().

◆ s_spmDofExtend()

void s_spmDofExtend ( spmatrix_t spm)

Extend a single dof sparse matrix to a multi-dof sparse matrix.

Parameters
[in,out]spmThe sparse matrix to extend.

Definition at line 183 of file s_spm_dof_extend.c.

References spmatrix_s::fmttype, s_spm_dof_extend_csx(), s_spm_dof_extend_ijv(), and SpmIJV.

Referenced by spmDofExtend().

◆ d_spmExpand()

void d_spmExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)

Expand a single dof sparse matrix to a multi-dofs sparse matrix.

The original value of the element is replicated through the entire element matrix that is generated in this routine.

Warning
This function should never be called directly, except by spmExpand().
Parameters
[in]spm_inThe original input matrix with dof = 1.
[in,out]spm_outThe expanded matrix with the same pattern as spm_in, but with multiple dofs per element.

Definition at line 556 of file d_spm_expand.c.

References d_spm_expand_loc2glob(), d_spmCSCExpand(), d_spmCSRExpand(), d_spmIJVExpand(), spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::flttype, spmatrix_s::fmttype, spmatrix_s::glob2loc, spmatrix_s::layout, spmatrix_s::loc2glob, spmatrix_s::n, spmatrix_s::nexp, spmatrix_s::replicated, SpmColMajor, spmCopy(), SpmCSC, SpmCSR, SpmDouble, SpmIJV, and spmUpdateComputedFields().

Referenced by spmExpand().

◆ d_spmDofExtend()

void d_spmDofExtend ( spmatrix_t spm)

Extend a single dof sparse matrix to a multi-dof sparse matrix.

Parameters
[in,out]spmThe sparse matrix to extend.

Definition at line 183 of file d_spm_dof_extend.c.

References d_spm_dof_extend_csx(), d_spm_dof_extend_ijv(), spmatrix_s::fmttype, and SpmIJV.

Referenced by spmDofExtend().

◆ c_spmExpand()

void c_spmExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)

Expand a single dof sparse matrix to a multi-dofs sparse matrix.

The original value of the element is replicated through the entire element matrix that is generated in this routine.

Warning
This function should never be called directly, except by spmExpand().
Parameters
[in]spm_inThe original input matrix with dof = 1.
[in,out]spm_outThe expanded matrix with the same pattern as spm_in, but with multiple dofs per element.

Definition at line 556 of file c_spm_expand.c.

References c_spm_expand_loc2glob(), c_spmCSCExpand(), c_spmCSRExpand(), c_spmIJVExpand(), spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::flttype, spmatrix_s::fmttype, spmatrix_s::glob2loc, spmatrix_s::layout, spmatrix_s::loc2glob, spmatrix_s::n, spmatrix_s::nexp, spmatrix_s::replicated, SpmColMajor, SpmComplex32, spmCopy(), SpmCSC, SpmCSR, SpmIJV, and spmUpdateComputedFields().

Referenced by spmExpand().

◆ c_spmDofExtend()

void c_spmDofExtend ( spmatrix_t spm)

Extend a single dof sparse matrix to a multi-dof sparse matrix.

Parameters
[in,out]spmThe sparse matrix to extend.

Definition at line 183 of file c_spm_dof_extend.c.

References c_spm_dof_extend_csx(), c_spm_dof_extend_ijv(), spmatrix_s::fmttype, and SpmIJV.

Referenced by spmDofExtend().

◆ z_spmExpand()

void z_spmExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)

Expand a single dof sparse matrix to a multi-dofs sparse matrix.

The original value of the element is replicated through the entire element matrix that is generated in this routine.

Warning
This function should never be called directly, except by spmExpand().
Parameters
[in]spm_inThe original input matrix with dof = 1.
[in,out]spm_outThe expanded matrix with the same pattern as spm_in, but with multiple dofs per element.

Definition at line 556 of file z_spm_expand.c.

References spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::flttype, spmatrix_s::fmttype, spmatrix_s::glob2loc, spmatrix_s::layout, spmatrix_s::loc2glob, spmatrix_s::n, spmatrix_s::nexp, spmatrix_s::replicated, SpmColMajor, SpmComplex64, spmCopy(), SpmCSC, SpmCSR, SpmIJV, spmUpdateComputedFields(), z_spm_expand_loc2glob(), z_spmCSCExpand(), z_spmCSRExpand(), and z_spmIJVExpand().

Referenced by spmExpand().

◆ z_spmDofExtend()

void z_spmDofExtend ( spmatrix_t spm)

Extend a single dof sparse matrix to a multi-dof sparse matrix.

Parameters
[in,out]spmThe sparse matrix to extend.

Definition at line 183 of file z_spm_dof_extend.c.

References spmatrix_s::fmttype, SpmIJV, z_spm_dof_extend_csx(), and z_spm_dof_extend_ijv().

Referenced by spmDofExtend().

◆ p_spmExpand()

void p_spmExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)

Expand a single dof sparse matrix to a multi-dofs sparse matrix.

The original value of the element is replicated through the entire element matrix that is generated in this routine.

Warning
This function should never be called directly, except by spmExpand().
Parameters
[in]spm_inThe original input matrix with dof = 1.
[in,out]spm_outThe expanded matrix with the same pattern as spm_in, but with multiple dofs per element.

Definition at line 556 of file p_spm_expand.c.

References spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::flttype, spmatrix_s::fmttype, spmatrix_s::glob2loc, spmatrix_s::layout, spmatrix_s::loc2glob, spmatrix_s::n, spmatrix_s::nexp, p_spm_expand_loc2glob(), p_spmCSCExpand(), p_spmCSRExpand(), p_spmIJVExpand(), spmatrix_s::replicated, SpmColMajor, spmCopy(), SpmCSC, SpmCSR, SpmIJV, SpmPattern, and spmUpdateComputedFields().

Referenced by spmExpand().

◆ c_spm_dof_extend_update_values()

static void c_spm_dof_extend_update_values ( spm_complex32_t newval,
spm_complex32_t  value,
spm_int_t  dofi,
spm_int_t  dofj,
int  diag 
)
static

Update the newval array thanks to the old value and the degrees of freedom.

Parameters
[in,out]newvalThe extended value array.
[in]valueThe old value that will be extended.
[in]dofiA degree of freedom.
[in]dofjA degree of freedom.
[in]diag1 if row == col, 0 otherwise.

Definition at line 47 of file c_spm_dof_extend.c.

Referenced by c_spm_dof_extend_csx(), and c_spm_dof_extend_ijv().

◆ c_spm_dof_extend_csx()

static void c_spm_dof_extend_csx ( spmatrix_t spm)
static

Extend a single dof CSX sparse matrix to a multi-dof sparse matrix.

Parameters
[in,out]spmThe sparse matrix to extend.

Definition at line 90 of file c_spm_dof_extend.c.

References spmatrix_s::baseval, c_spm_dof_extend_update_values(), spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::n, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSC, and spmatrix_s::values.

Referenced by c_spmDofExtend().

◆ c_spm_dof_extend_ijv()

static void c_spm_dof_extend_ijv ( spmatrix_t spm)
static

Extend a single dof IJV sparse matrix to a multi-dof sparse matrix.

Parameters
[in,out]spmThe sparse matrix to extend.

Definition at line 139 of file c_spm_dof_extend.c.

References spmatrix_s::baseval, c_spm_dof_extend_update_values(), spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::rowptr, and spmatrix_s::values.

Referenced by c_spmDofExtend().

◆ s_spm_dof_extend_update_values()

static void s_spm_dof_extend_update_values ( float *  newval,
float  value,
spm_int_t  dofi,
spm_int_t  dofj,
int  diag 
)
static

Update the newval array thanks to the old value and the degrees of freedom.

Parameters
[in,out]newvalThe extended value array.
[in]valueThe old value that will be extended.
[in]dofiA degree of freedom.
[in]dofjA degree of freedom.
[in]diag1 if row == col, 0 otherwise.

Definition at line 47 of file s_spm_dof_extend.c.

Referenced by s_spm_dof_extend_csx(), and s_spm_dof_extend_ijv().

◆ s_spm_dof_extend_csx()

static void s_spm_dof_extend_csx ( spmatrix_t spm)
static

Extend a single dof CSX sparse matrix to a multi-dof sparse matrix.

Parameters
[in,out]spmThe sparse matrix to extend.

Definition at line 90 of file s_spm_dof_extend.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::n, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, s_spm_dof_extend_update_values(), SpmCSC, and spmatrix_s::values.

Referenced by s_spmDofExtend().

◆ s_spm_dof_extend_ijv()

static void s_spm_dof_extend_ijv ( spmatrix_t spm)
static

Extend a single dof IJV sparse matrix to a multi-dof sparse matrix.

Parameters
[in,out]spmThe sparse matrix to extend.

Definition at line 139 of file s_spm_dof_extend.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::rowptr, s_spm_dof_extend_update_values(), and spmatrix_s::values.

Referenced by s_spmDofExtend().

◆ z_spm_dof_extend_update_values()

static void z_spm_dof_extend_update_values ( spm_complex64_t *  newval,
spm_complex64_t  value,
spm_int_t  dofi,
spm_int_t  dofj,
int  diag 
)
static

Update the newval array thanks to the old value and the degrees of freedom.

Parameters
[in,out]newvalThe extended value array.
[in]valueThe old value that will be extended.
[in]dofiA degree of freedom.
[in]dofjA degree of freedom.
[in]diag1 if row == col, 0 otherwise.

Definition at line 47 of file z_spm_dof_extend.c.

Referenced by z_spm_dof_extend_csx(), and z_spm_dof_extend_ijv().

◆ z_spm_dof_extend_csx()

static void z_spm_dof_extend_csx ( spmatrix_t spm)
static

Extend a single dof CSX sparse matrix to a multi-dof sparse matrix.

Parameters
[in,out]spmThe sparse matrix to extend.

Definition at line 90 of file z_spm_dof_extend.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::n, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSC, spmatrix_s::values, and z_spm_dof_extend_update_values().

Referenced by z_spmDofExtend().

◆ z_spm_dof_extend_ijv()

static void z_spm_dof_extend_ijv ( spmatrix_t spm)
static

Extend a single dof IJV sparse matrix to a multi-dof sparse matrix.

Parameters
[in,out]spmThe sparse matrix to extend.

Definition at line 139 of file z_spm_dof_extend.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::rowptr, spmatrix_s::values, and z_spm_dof_extend_update_values().

Referenced by z_spmDofExtend().

◆ d_spm_dof_extend_update_values()

static void d_spm_dof_extend_update_values ( double *  newval,
double  value,
spm_int_t  dofi,
spm_int_t  dofj,
int  diag 
)
static

Update the newval array thanks to the old value and the degrees of freedom.

Parameters
[in,out]newvalThe extended value array.
[in]valueThe old value that will be extended.
[in]dofiA degree of freedom.
[in]dofjA degree of freedom.
[in]diag1 if row == col, 0 otherwise.

Definition at line 47 of file d_spm_dof_extend.c.

Referenced by d_spm_dof_extend_csx(), and d_spm_dof_extend_ijv().

◆ d_spm_dof_extend_csx()

static void d_spm_dof_extend_csx ( spmatrix_t spm)
static

Extend a single dof CSX sparse matrix to a multi-dof sparse matrix.

Parameters
[in,out]spmThe sparse matrix to extend.

Definition at line 90 of file d_spm_dof_extend.c.

References spmatrix_s::baseval, spmatrix_s::colptr, d_spm_dof_extend_update_values(), spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::n, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSC, and spmatrix_s::values.

Referenced by d_spmDofExtend().

◆ d_spm_dof_extend_ijv()

static void d_spm_dof_extend_ijv ( spmatrix_t spm)
static

Extend a single dof IJV sparse matrix to a multi-dof sparse matrix.

Parameters
[in,out]spmThe sparse matrix to extend.

Definition at line 139 of file d_spm_dof_extend.c.

References spmatrix_s::baseval, spmatrix_s::colptr, d_spm_dof_extend_update_values(), spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::rowptr, and spmatrix_s::values.

Referenced by d_spmDofExtend().

◆ d_spm_expand_loc2glob()

static void d_spm_expand_loc2glob ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Create the associated loc2glob of an expanded matrix.

Parameters
[in]spm_inThe original non expanded matrix.
[in]spm_outThe output expanded matrix for which the loc2glob array must be expanded.

Definition at line 40 of file d_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::loc2glob, and spmatrix_s::n.

Referenced by d_spmExpand().

◆ d_spmCSCExpand()

static void d_spmCSCExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof CSC to a multi-dofs CSC.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in CSC format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the new colptr

Second loop to compute the new rowptr and valptr

Backup current position in oldval because we will pick interleaved data inside the buffer

Definition at line 99 of file d_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::mtxtype, spmatrix_s::n, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSC, SpmGeneral, and spmatrix_s::values.

Referenced by d_spmExpand().

◆ d_spmCSRExpand()

static void d_spmCSRExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof CSR to a multi-dofs CSR.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in CSR format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the new rowptr

Second loop to compute the new colptr and valptr

Backup current position in oldval because we will pick interleaved data inside the buffer

Definition at line 254 of file d_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::mtxtype, spmatrix_s::n, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSR, SpmGeneral, and spmatrix_s::values.

Referenced by d_spmExpand().

◆ d_spmIJVExpand()

static void d_spmIJVExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof IJV to a multi-dofs IJV.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in IJV format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the size of the vectors

Second loop to compute the new rowptr, colptr and valptr

Definition at line 406 of file d_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::layout, spmatrix_s::mtxtype, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::rowptr, SpmColMajor, SpmGeneral, SpmIJV, and spmatrix_s::values.

Referenced by d_spmExpand().

◆ c_spm_expand_loc2glob()

static void c_spm_expand_loc2glob ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Create the associated loc2glob of an expanded matrix.

Parameters
[in]spm_inThe original non expanded matrix.
[in]spm_outThe output expanded matrix for which the loc2glob array must be expanded.

Definition at line 40 of file c_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::loc2glob, and spmatrix_s::n.

Referenced by c_spmExpand().

◆ c_spmCSCExpand()

static void c_spmCSCExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof CSC to a multi-dofs CSC.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in CSC format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the new colptr

Second loop to compute the new rowptr and valptr

Backup current position in oldval because we will pick interleaved data inside the buffer

Definition at line 99 of file c_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::mtxtype, spmatrix_s::n, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSC, SpmGeneral, and spmatrix_s::values.

Referenced by c_spmExpand().

◆ c_spmCSRExpand()

static void c_spmCSRExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof CSR to a multi-dofs CSR.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in CSR format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the new rowptr

Second loop to compute the new colptr and valptr

Backup current position in oldval because we will pick interleaved data inside the buffer

Definition at line 254 of file c_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::mtxtype, spmatrix_s::n, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSR, SpmGeneral, and spmatrix_s::values.

Referenced by c_spmExpand().

◆ c_spmIJVExpand()

static void c_spmIJVExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof IJV to a multi-dofs IJV.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in IJV format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the size of the vectors

Second loop to compute the new rowptr, colptr and valptr

Definition at line 406 of file c_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::layout, spmatrix_s::mtxtype, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::rowptr, SpmColMajor, SpmGeneral, SpmIJV, and spmatrix_s::values.

Referenced by c_spmExpand().

◆ p_spm_expand_loc2glob()

static void p_spm_expand_loc2glob ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Create the associated loc2glob of an expanded matrix.

Parameters
[in]spm_inThe original non expanded matrix.
[in]spm_outThe output expanded matrix for which the loc2glob array must be expanded.

Definition at line 40 of file p_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::loc2glob, and spmatrix_s::n.

Referenced by p_spmExpand().

◆ p_spmCSCExpand()

static void p_spmCSCExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof CSC to a multi-dofs CSC.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in CSC format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the new colptr

Second loop to compute the new rowptr and valptr

Backup current position in oldval because we will pick interleaved data inside the buffer

Definition at line 99 of file p_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::mtxtype, spmatrix_s::n, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSC, SpmGeneral, and spmatrix_s::values.

Referenced by p_spmExpand().

◆ p_spmCSRExpand()

static void p_spmCSRExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof CSR to a multi-dofs CSR.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in CSR format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the new rowptr

Second loop to compute the new colptr and valptr

Backup current position in oldval because we will pick interleaved data inside the buffer

Definition at line 254 of file p_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::mtxtype, spmatrix_s::n, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSR, SpmGeneral, and spmatrix_s::values.

Referenced by p_spmExpand().

◆ p_spmIJVExpand()

static void p_spmIJVExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof IJV to a multi-dofs IJV.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in IJV format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the size of the vectors

Second loop to compute the new rowptr, colptr and valptr

Definition at line 406 of file p_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::layout, spmatrix_s::mtxtype, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::rowptr, SpmColMajor, SpmGeneral, SpmIJV, and spmatrix_s::values.

Referenced by p_spmExpand().

◆ s_spm_expand_loc2glob()

static void s_spm_expand_loc2glob ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Create the associated loc2glob of an expanded matrix.

Parameters
[in]spm_inThe original non expanded matrix.
[in]spm_outThe output expanded matrix for which the loc2glob array must be expanded.

Definition at line 40 of file s_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::loc2glob, and spmatrix_s::n.

Referenced by s_spmExpand().

◆ s_spmCSCExpand()

static void s_spmCSCExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof CSC to a multi-dofs CSC.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in CSC format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the new colptr

Second loop to compute the new rowptr and valptr

Backup current position in oldval because we will pick interleaved data inside the buffer

Definition at line 99 of file s_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::mtxtype, spmatrix_s::n, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSC, SpmGeneral, and spmatrix_s::values.

Referenced by s_spmExpand().

◆ s_spmCSRExpand()

static void s_spmCSRExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof CSR to a multi-dofs CSR.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in CSR format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the new rowptr

Second loop to compute the new colptr and valptr

Backup current position in oldval because we will pick interleaved data inside the buffer

Definition at line 254 of file s_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::mtxtype, spmatrix_s::n, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSR, SpmGeneral, and spmatrix_s::values.

Referenced by s_spmExpand().

◆ s_spmIJVExpand()

static void s_spmIJVExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof IJV to a multi-dofs IJV.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in IJV format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the size of the vectors

Second loop to compute the new rowptr, colptr and valptr

Definition at line 406 of file s_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::layout, spmatrix_s::mtxtype, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::rowptr, SpmColMajor, SpmGeneral, SpmIJV, and spmatrix_s::values.

Referenced by s_spmExpand().

◆ z_spm_expand_loc2glob()

static void z_spm_expand_loc2glob ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Create the associated loc2glob of an expanded matrix.

Parameters
[in]spm_inThe original non expanded matrix.
[in]spm_outThe output expanded matrix for which the loc2glob array must be expanded.

Definition at line 40 of file z_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::loc2glob, and spmatrix_s::n.

Referenced by z_spmExpand().

◆ z_spmCSCExpand()

static void z_spmCSCExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof CSC to a multi-dofs CSC.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in CSC format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the new colptr

Second loop to compute the new rowptr and valptr

Backup current position in oldval because we will pick interleaved data inside the buffer

Definition at line 99 of file z_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::mtxtype, spmatrix_s::n, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSC, SpmGeneral, and spmatrix_s::values.

Referenced by z_spmExpand().

◆ z_spmCSRExpand()

static void z_spmCSRExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof CSR to a multi-dofs CSR.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in CSR format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the new rowptr

Second loop to compute the new colptr and valptr

Backup current position in oldval because we will pick interleaved data inside the buffer

Definition at line 254 of file z_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::loc2glob, spmatrix_s::mtxtype, spmatrix_s::n, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::replicated, spmatrix_s::rowptr, SpmCSR, SpmGeneral, and spmatrix_s::values.

Referenced by z_spmExpand().

◆ z_spmIJVExpand()

static void z_spmIJVExpand ( const spmatrix_t spm_in,
spmatrix_t spm_out 
)
static

Expand a single dof IJV to a multi-dofs IJV.

Each element matrix is fully initialized with the same element as the original one.

Parameters
[in]spm_inThe original non expanded matrix in IJV format used as the template for the muti-dof matrix.
[in,out]spm_outThe output expanded matrix generated from the template.

First loop to compute the size of the vectors

Second loop to compute the new rowptr, colptr and valptr

Definition at line 406 of file z_spm_expand.c.

References spmatrix_s::baseval, spmatrix_s::colptr, spmatrix_s::dof, spmatrix_s::dofs, spmatrix_s::fmttype, spmatrix_s::layout, spmatrix_s::mtxtype, spmatrix_s::nnz, spmatrix_s::nnzexp, spmatrix_s::rowptr, SpmColMajor, SpmGeneral, SpmIJV, and spmatrix_s::values.

Referenced by z_spmExpand().