SpM Handbook 1.2.4
|
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. | |
DOF routines.
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.
[in] | spm_in | The original input matrix with dof = 1. |
[in,out] | spm_out | The 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().
void s_spmDofExtend | ( | spmatrix_t * | spm | ) |
Extend a single dof sparse matrix to a multi-dof sparse matrix.
[in,out] | spm | The 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().
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.
[in] | spm_in | The original input matrix with dof = 1. |
[in,out] | spm_out | The 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().
void d_spmDofExtend | ( | spmatrix_t * | spm | ) |
Extend a single dof sparse matrix to a multi-dof sparse matrix.
[in,out] | spm | The 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().
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.
[in] | spm_in | The original input matrix with dof = 1. |
[in,out] | spm_out | The 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().
void c_spmDofExtend | ( | spmatrix_t * | spm | ) |
Extend a single dof sparse matrix to a multi-dof sparse matrix.
[in,out] | spm | The 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().
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.
[in] | spm_in | The original input matrix with dof = 1. |
[in,out] | spm_out | The 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().
void z_spmDofExtend | ( | spmatrix_t * | spm | ) |
Extend a single dof sparse matrix to a multi-dof sparse matrix.
[in,out] | spm | The 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().
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.
[in] | spm_in | The original input matrix with dof = 1. |
[in,out] | spm_out | The 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().
|
static |
Update the newval array thanks to the old value and the degrees of freedom.
[in,out] | newval | The extended value array. |
[in] | value | The old value that will be extended. |
[in] | dofi | A degree of freedom. |
[in] | dofj | A degree of freedom. |
[in] | diag | 1 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().
|
static |
Extend a single dof CSX sparse matrix to a multi-dof sparse matrix.
[in,out] | spm | The 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().
|
static |
Extend a single dof IJV sparse matrix to a multi-dof sparse matrix.
[in,out] | spm | The 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().
|
static |
Update the newval array thanks to the old value and the degrees of freedom.
[in,out] | newval | The extended value array. |
[in] | value | The old value that will be extended. |
[in] | dofi | A degree of freedom. |
[in] | dofj | A degree of freedom. |
[in] | diag | 1 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().
|
static |
Extend a single dof CSX sparse matrix to a multi-dof sparse matrix.
[in,out] | spm | The 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().
|
static |
Extend a single dof IJV sparse matrix to a multi-dof sparse matrix.
[in,out] | spm | The 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().
|
static |
Update the newval array thanks to the old value and the degrees of freedom.
[in,out] | newval | The extended value array. |
[in] | value | The old value that will be extended. |
[in] | dofi | A degree of freedom. |
[in] | dofj | A degree of freedom. |
[in] | diag | 1 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().
|
static |
Extend a single dof CSX sparse matrix to a multi-dof sparse matrix.
[in,out] | spm | The 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().
|
static |
Extend a single dof IJV sparse matrix to a multi-dof sparse matrix.
[in,out] | spm | The 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().
|
static |
Update the newval array thanks to the old value and the degrees of freedom.
[in,out] | newval | The extended value array. |
[in] | value | The old value that will be extended. |
[in] | dofi | A degree of freedom. |
[in] | dofj | A degree of freedom. |
[in] | diag | 1 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().
|
static |
Extend a single dof CSX sparse matrix to a multi-dof sparse matrix.
[in,out] | spm | The 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().
|
static |
Extend a single dof IJV sparse matrix to a multi-dof sparse matrix.
[in,out] | spm | The 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().
|
static |
Create the associated loc2glob of an expanded matrix.
[in] | spm_in | The original non expanded matrix. |
[in] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in CSC format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in CSR format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in IJV format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
static |
Create the associated loc2glob of an expanded matrix.
[in] | spm_in | The original non expanded matrix. |
[in] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in CSC format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in CSR format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in IJV format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
static |
Create the associated loc2glob of an expanded matrix.
[in] | spm_in | The original non expanded matrix. |
[in] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in CSC format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in CSR format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in IJV format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
static |
Create the associated loc2glob of an expanded matrix.
[in] | spm_in | The original non expanded matrix. |
[in] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in CSC format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in CSR format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in IJV format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
static |
Create the associated loc2glob of an expanded matrix.
[in] | spm_in | The original non expanded matrix. |
[in] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in CSC format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in CSR format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().
|
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.
[in] | spm_in | The original non expanded matrix in IJV format used as the template for the muti-dof matrix. |
[in,out] | spm_out | The 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().