PaStiX Handbook
6.2.1

Functions  
void  core_ssytrfsp1d_gemm (const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const float *L, float *C, float *work) 
void  core_dsytrfsp1d_gemm (const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const double *L, double *C, double *work) 
void  core_chetrfsp1d_gemm (const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex32_t *L, pastix_complex32_t *C, pastix_complex32_t *work) 
void  core_csytrfsp1d_gemm (const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex32_t *L, pastix_complex32_t *C, pastix_complex32_t *work) 
void  core_zhetrfsp1d_gemm (const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex64_t *L, pastix_complex64_t *C, pastix_complex64_t *work) 
void  core_zsytrfsp1d_gemm (const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex64_t *L, pastix_complex64_t *C, pastix_complex64_t *work) 
static void  core_dgemmsp_1d1d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const double *A, const double *B, double *C, double *work) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_dgemmsp_1d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const double *A, const double *B, double *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_dgemmsp_2d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const double *A, const double *B, double *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static pastix_fixdbl_t  core_dgemmsp_block_frfr (pastix_trans_t trans, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const double *A, const double *B, double *C) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_dgemmsp_block_frlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const double *A, const double *B, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_dgemmsp_block_lrlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_dgemmsp_fulllr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const double *A, const double *B, pastix_lrblock_t *lrC, double *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_dgemmsp_lr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, double *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_dgemmsp_lrfr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, double *C, double *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static void  core_zgemmsp_1d1d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex64_t *A, const pastix_complex64_t *B, pastix_complex64_t *C, pastix_complex64_t *work) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_zgemmsp_1d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex64_t *A, const pastix_complex64_t *B, pastix_complex64_t *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_zgemmsp_2d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex64_t *A, const pastix_complex64_t *B, pastix_complex64_t *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static pastix_fixdbl_t  core_zgemmsp_block_frfr (pastix_trans_t trans, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_complex64_t *A, const pastix_complex64_t *B, pastix_complex64_t *C) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_zgemmsp_block_frlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_complex64_t *A, const pastix_complex64_t *B, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_zgemmsp_block_lrlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_zgemmsp_fulllr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex64_t *A, const pastix_complex64_t *B, pastix_lrblock_t *lrC, pastix_complex64_t *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_zgemmsp_lr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, pastix_complex64_t *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_zgemmsp_lrfr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_complex64_t *C, pastix_complex64_t *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static void  core_sgemmsp_1d1d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const float *A, const float *B, float *C, float *work) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_sgemmsp_1d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const float *A, const float *B, float *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_sgemmsp_2d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const float *A, const float *B, float *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static pastix_fixdbl_t  core_sgemmsp_block_frfr (pastix_trans_t trans, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const float *A, const float *B, float *C) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_sgemmsp_block_frlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const float *A, const float *B, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_sgemmsp_block_lrlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_sgemmsp_fulllr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const float *A, const float *B, pastix_lrblock_t *lrC, float *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_sgemmsp_lr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, float *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_sgemmsp_lrfr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, float *C, float *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static void  core_cgemmsp_1d1d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex32_t *A, const pastix_complex32_t *B, pastix_complex32_t *C, pastix_complex32_t *work) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_cgemmsp_1d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex32_t *A, const pastix_complex32_t *B, pastix_complex32_t *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_cgemmsp_2d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex32_t *A, const pastix_complex32_t *B, pastix_complex32_t *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static pastix_fixdbl_t  core_cgemmsp_block_frfr (pastix_trans_t trans, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_complex32_t *A, const pastix_complex32_t *B, pastix_complex32_t *C) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_cgemmsp_block_frlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_complex32_t *A, const pastix_complex32_t *B, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_cgemmsp_block_lrlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_cgemmsp_fulllr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex32_t *A, const pastix_complex32_t *B, pastix_lrblock_t *lrC, pastix_complex32_t *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_cgemmsp_lr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, pastix_complex32_t *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_cgemmsp_lrfr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_complex32_t *C, pastix_complex32_t *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static void  core_dtrsmsp_1d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const double *A, double *C) 
Apply all the trsm updates on a panel stored in 1D layout. More...  
static void  core_dtrsmsp_2d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const double *A, double *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_dtrsmsp_lr (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static pastix_fixdbl_t  core_dtrsmsp_2dsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const double *A, double *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_dtrsmsp_lrsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static void  core_ztrsmsp_1d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_complex64_t *A, pastix_complex64_t *C) 
Apply all the trsm updates on a panel stored in 1D layout. More...  
static void  core_ztrsmsp_2d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_complex64_t *A, pastix_complex64_t *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_ztrsmsp_lr (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static pastix_fixdbl_t  core_ztrsmsp_2dsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const pastix_complex64_t *A, pastix_complex64_t *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_ztrsmsp_lrsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static void  core_strsmsp_1d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const float *A, float *C) 
Apply all the trsm updates on a panel stored in 1D layout. More...  
static void  core_strsmsp_2d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const float *A, float *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_strsmsp_lr (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static pastix_fixdbl_t  core_strsmsp_2dsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const float *A, float *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_strsmsp_lrsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static void  core_ctrsmsp_1d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_complex32_t *A, pastix_complex32_t *C) 
Apply all the trsm updates on a panel stored in 1D layout. More...  
static void  core_ctrsmsp_2d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_complex32_t *A, pastix_complex32_t *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_ctrsmsp_lr (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static pastix_fixdbl_t  core_ctrsmsp_2dsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const pastix_complex32_t *A, pastix_complex32_t *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_ctrsmsp_lrsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
This module contains the three terms update functions for the LDL^t and LDL^h factorizations.
void core_ssytrfsp1d_gemm  (  const SolverCblk *  cblk, 
const SolverBlok *  blok,  
SolverCblk *  fcblk,  
const float *  L,  
float *  C,  
float *  work  
) 
core_ssytrfsp1d_gemm  Computes the LDL^t factorization of one panel and apply all the trsm updates to this panel.
[in]  cblk  The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  blok  The pointer to the data structure that describes the blok from which we compute the contributions. 
[in]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. Next column blok must be accessible through fcblk[1]. 
[in,out]  L  The pointer to the matrix storing the coefficients of the panel. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the matrix storing the coefficients of the target. 
[in,out]  work  Temporary buffer used in core_sgemdm(). 
Definition at line 319 of file core_ssytrfsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, and solver_blok_s::coefind.
void core_dsytrfsp1d_gemm  (  const SolverCblk *  cblk, 
const SolverBlok *  blok,  
SolverCblk *  fcblk,  
const double *  L,  
double *  C,  
double *  work  
) 
core_dsytrfsp1d_gemm  Computes the LDL^t factorization of one panel and apply all the trsm updates to this panel.
[in]  cblk  The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  blok  The pointer to the data structure that describes the blok from which we compute the contributions. 
[in]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. Next column blok must be accessible through fcblk[1]. 
[in,out]  L  The pointer to the matrix storing the coefficients of the panel. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the matrix storing the coefficients of the target. 
[in,out]  work  Temporary buffer used in core_dgemdm(). 
Definition at line 319 of file core_dsytrfsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, and solver_blok_s::coefind.
void core_chetrfsp1d_gemm  (  const SolverCblk *  cblk, 
const SolverBlok *  blok,  
SolverCblk *  fcblk,  
const pastix_complex32_t *  L,  
pastix_complex32_t *  C,  
pastix_complex32_t *  work  
) 
core_chetrfsp1d_gemm  Computes the LDL^h factorization of one panel and apply all the trsm updates to this panel.
[in]  cblk  The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  blok  The pointer to the data structure that describes the blok from which we compute the contributions. 
[in]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. Next column blok must be accessible through fcblk[1]. 
[in,out]  L  The pointer to the matrix storing the coefficients of the panel. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the matrix storing the coefficients of the target. 
[in,out]  work  Temporary buffer used in core_cgemdm(). 
Definition at line 321 of file core_chetrfsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, and solver_blok_s::coefind.
void core_csytrfsp1d_gemm  (  const SolverCblk *  cblk, 
const SolverBlok *  blok,  
SolverCblk *  fcblk,  
const pastix_complex32_t *  L,  
pastix_complex32_t *  C,  
pastix_complex32_t *  work  
) 
core_csytrfsp1d_gemm  Computes the LDL^t factorization of one panel and apply all the trsm updates to this panel.
[in]  cblk  The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  blok  The pointer to the data structure that describes the blok from which we compute the contributions. 
[in]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. Next column blok must be accessible through fcblk[1]. 
[in,out]  L  The pointer to the matrix storing the coefficients of the panel. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the matrix storing the coefficients of the target. 
[in,out]  work  Temporary buffer used in core_cgemdm(). 
Definition at line 319 of file core_csytrfsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, and solver_blok_s::coefind.
void core_zhetrfsp1d_gemm  (  const SolverCblk *  cblk, 
const SolverBlok *  blok,  
SolverCblk *  fcblk,  
const pastix_complex64_t *  L,  
pastix_complex64_t *  C,  
pastix_complex64_t *  work  
) 
core_zhetrfsp1d_gemm  Computes the LDL^h factorization of one panel and apply all the trsm updates to this panel.
[in]  cblk  The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  blok  The pointer to the data structure that describes the blok from which we compute the contributions. 
[in]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. Next column blok must be accessible through fcblk[1]. 
[in,out]  L  The pointer to the matrix storing the coefficients of the panel. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the matrix storing the coefficients of the target. 
[in,out]  work  Temporary buffer used in core_zgemdm(). 
Definition at line 321 of file core_zhetrfsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, and solver_blok_s::coefind.
void core_zsytrfsp1d_gemm  (  const SolverCblk *  cblk, 
const SolverBlok *  blok,  
SolverCblk *  fcblk,  
const pastix_complex64_t *  L,  
pastix_complex64_t *  C,  
pastix_complex64_t *  work  
) 
core_zsytrfsp1d_gemm  Computes the LDL^t factorization of one panel and apply all the trsm updates to this panel.
[in]  cblk  The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  blok  The pointer to the data structure that describes the blok from which we compute the contributions. 
[in]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. Next column blok must be accessible through fcblk[1]. 
[in,out]  L  The pointer to the matrix storing the coefficients of the panel. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the matrix storing the coefficients of the target. 
[in,out]  work  Temporary buffer used in core_zgemdm(). 
Definition at line 319 of file core_zsytrfsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, and solver_blok_s::coefind.

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the computation are stored with the 1D storage: Column Major Layout with blocks interleaved.
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer that is at least equal to the height of the block B by the sum of the height of all the blocks below the block B. 
Definition at line 104 of file core_dgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
The cblk involved in the matrices A and B are stored with the 1D storage: Column Major Layout with blocks interleaved. The facing cblk of the atrix C, is stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 261 of file core_dgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the matrices A, B and C are stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 400 of file core_dgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to performed an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
[in]  trans  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 540 of file core_dgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 706 of file core_dgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in,out]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 894 of file core_dgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lowrank  The structure with lowrank parameters. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 1063 of file core_dgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1214 of file core_dgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer. 
[in]  lwork  The length of work. On entry, if trans = PastixTrans lwork >= max(1, K*N). Otherwise lwork >= max(1, M*K). 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1361 of file core_dgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the computation are stored with the 1D storage: Column Major Layout with blocks interleaved.
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer that is at least equal to the height of the block B by the sum of the height of all the blocks below the block B. 
Definition at line 104 of file core_zgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
The cblk involved in the matrices A and B are stored with the 1D storage: Column Major Layout with blocks interleaved. The facing cblk of the atrix C, is stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 261 of file core_zgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the matrices A, B and C are stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 400 of file core_zgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to performed an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
[in]  trans  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixConjTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 540 of file core_zgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixConjTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 706 of file core_zgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixConjTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in,out]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 894 of file core_zgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lowrank  The structure with lowrank parameters. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 1063 of file core_zgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1214 of file core_zgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer. 
[in]  lwork  The length of work. On entry, if trans = PastixTrans lwork >= max(1, K*N). Otherwise lwork >= max(1, M*K). 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1361 of file core_zgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the computation are stored with the 1D storage: Column Major Layout with blocks interleaved.
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer that is at least equal to the height of the block B by the sum of the height of all the blocks below the block B. 
Definition at line 104 of file core_sgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
The cblk involved in the matrices A and B are stored with the 1D storage: Column Major Layout with blocks interleaved. The facing cblk of the atrix C, is stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 261 of file core_sgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the matrices A, B and C are stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 400 of file core_sgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to performed an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
[in]  trans  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 540 of file core_sgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 706 of file core_sgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in,out]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 894 of file core_sgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lowrank  The structure with lowrank parameters. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 1063 of file core_sgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1214 of file core_sgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer. 
[in]  lwork  The length of work. On entry, if trans = PastixTrans lwork >= max(1, K*N). Otherwise lwork >= max(1, M*K). 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1361 of file core_sgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the computation are stored with the 1D storage: Column Major Layout with blocks interleaved.
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer that is at least equal to the height of the block B by the sum of the height of all the blocks below the block B. 
Definition at line 104 of file core_cgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
The cblk involved in the matrices A and B are stored with the 1D storage: Column Major Layout with blocks interleaved. The facing cblk of the atrix C, is stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 261 of file core_cgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the matrices A, B and C are stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 400 of file core_cgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to performed an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
[in]  trans  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixConjTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 540 of file core_cgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixConjTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 706 of file core_cgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixConjTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in,out]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 894 of file core_cgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lowrank  The structure with lowrank parameters. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 1063 of file core_cgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1214 of file core_cgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer. 
[in]  lwork  The length of work. On entry, if trans = PastixTrans lwork >= max(1, K*N). Otherwise lwork >= max(1, M*K). 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1361 of file core_cgemmsp.c.
References solver_cblk_s::cblktype.

inlinestatic 
Apply all the trsm updates on a panel stored in 1D layout.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 72 of file core_dtrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, and solver_cblk_s::stride.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 149 of file core_dtrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, and solver_cblk_s::lcolnum.

inlinestatic 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 233 of file core_dtrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, and pastix_lrblock_s::u.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 448 of file core_dtrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, and solver_cblk_s::lcolnum.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 546 of file core_dtrsmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, pastix_lrblock_s::rkmax, and pastix_lrblock_s::u.

inlinestatic 
Apply all the trsm updates on a panel stored in 1D layout.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 72 of file core_ztrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, and solver_cblk_s::stride.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 149 of file core_ztrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, and solver_cblk_s::lcolnum.

inlinestatic 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 233 of file core_ztrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, and pastix_lrblock_s::u.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 448 of file core_ztrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, and solver_cblk_s::lcolnum.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 546 of file core_ztrsmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, pastix_lrblock_s::rkmax, and pastix_lrblock_s::u.

inlinestatic 
Apply all the trsm updates on a panel stored in 1D layout.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 72 of file core_strsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, and solver_cblk_s::stride.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 149 of file core_strsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, and solver_cblk_s::lcolnum.

inlinestatic 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 233 of file core_strsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, and pastix_lrblock_s::u.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 448 of file core_strsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, and solver_cblk_s::lcolnum.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 546 of file core_strsmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, pastix_lrblock_s::rkmax, and pastix_lrblock_s::u.

inlinestatic 
Apply all the trsm updates on a panel stored in 1D layout.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 72 of file core_ctrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, and solver_cblk_s::stride.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 149 of file core_ctrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, and solver_cblk_s::lcolnum.

inlinestatic 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 233 of file core_ctrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, and pastix_lrblock_s::u.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 448 of file core_ctrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, and solver_cblk_s::lcolnum.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 546 of file core_ctrsmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, pastix_lrblock_s::rkmax, and pastix_lrblock_s::u.