BUTTERFLY_ALG_MOD Module


Uses

  • module~~butterfly_alg_mod~~UsesGraph module~butterfly_alg_mod BUTTERFLY_ALG_MOD PARKIND1 PARKIND1 module~butterfly_alg_mod->PARKIND1 module~ectrans_blas_mod ECTRANS_BLAS_MOD module~butterfly_alg_mod->module~ectrans_blas_mod module~interpol_decomp_mod INTERPOL_DECOMP_MOD module~butterfly_alg_mod->module~interpol_decomp_mod module~sharedmem_mod SHAREDMEM_MOD module~butterfly_alg_mod->module~sharedmem_mod EC_PARKIND EC_PARKIND module~ectrans_blas_mod->EC_PARKIND module~interpol_decomp_mod->EC_PARKIND iso_c_binding iso_c_binding module~sharedmem_mod->iso_c_binding

Used by

  • module~~butterfly_alg_mod~~UsedByGraph module~butterfly_alg_mod BUTTERFLY_ALG_MOD module~tpm_flt TPM_FLT module~tpm_flt->module~butterfly_alg_mod proc~ledir LEDIR proc~ledir->module~butterfly_alg_mod proc~ledir->module~tpm_flt proc~ledirad LEDIRAD proc~ledirad->module~butterfly_alg_mod proc~ledirad->module~tpm_flt proc~leinv LEINV proc~leinv->module~butterfly_alg_mod proc~leinv->module~tpm_flt proc~leinvad LEINVAD proc~leinvad->module~butterfly_alg_mod proc~leinvad->module~tpm_flt proc~read_legpol READ_LEGPOL proc~read_legpol->module~butterfly_alg_mod proc~read_legpol->module~tpm_flt proc~suleg SULEG proc~suleg->module~butterfly_alg_mod proc~suleg->module~tpm_flt proc~write_legpol WRITE_LEGPOL proc~write_legpol->module~butterfly_alg_mod proc~write_legpol->module~tpm_flt proc~cdmap CDMAP proc~cdmap->module~tpm_flt proc~cdmap~2 CDMAP proc~cdmap~2->module~tpm_flt proc~dealloc_resol DEALLOC_RESOL proc~dealloc_resol->module~tpm_flt proc~dealloc_resol~2 DEALLOC_RESOL proc~dealloc_resol~2->module~tpm_flt proc~dir_trans DIR_TRANS proc~dir_trans->module~tpm_flt proc~dir_transad~2 DIR_TRANSAD proc~dir_transad~2->module~tpm_flt proc~edealloc_resol EDEALLOC_RESOL proc~edealloc_resol->module~tpm_flt proc~esetup_trans ESETUP_TRANS proc~esetup_trans->module~tpm_flt proc~etrans_end ETRANS_END proc~etrans_end->module~tpm_flt proc~fsc FSC proc~fsc->module~tpm_flt proc~ftinv_ctl FTINV_CTL proc~ftinv_ctl->module~tpm_flt proc~inv_trans INV_TRANS proc~inv_trans->module~tpm_flt proc~inv_transad~2 INV_TRANSAD proc~inv_transad~2->module~tpm_flt proc~ltdir LTDIR proc~ltdir->module~tpm_flt proc~ltinv LTINV proc~ltinv->module~tpm_flt proc~ltinv_ctl LTINV_CTL proc~ltinv_ctl->module~tpm_flt proc~read_legpol~2 READ_LEGPOL proc~read_legpol~2->module~tpm_flt proc~set_resol SET_RESOL proc~set_resol->module~tpm_flt proc~set_resol~2 SET_RESOL proc~set_resol~2->module~tpm_flt proc~setup_trans SETUP_TRANS proc~setup_trans->module~tpm_flt proc~setup_trans~2 SETUP_TRANS proc~setup_trans~2->module~tpm_flt proc~suleg~2 SULEG proc~suleg~2->module~tpm_flt proc~trans_end TRANS_END proc~trans_end->module~tpm_flt proc~trans_end~2 TRANS_END proc~trans_end~2->module~tpm_flt proc~trans_inq TRANS_INQ proc~trans_inq->module~tpm_flt proc~trans_inq~2 TRANS_INQ proc~trans_inq~2->module~tpm_flt proc~trans_pnm TRANS_PNM proc~trans_pnm->module~tpm_flt proc~trans_pnm~2 TRANS_PNM proc~trans_pnm~2->module~tpm_flt proc~write_legpol~2 WRITE_LEGPOL proc~write_legpol~2->module~tpm_flt

Derived Types

type, public ::  NODE_TYPE

Components

Type Visibility Attributes Name Initial
integer(kind=JPIM), public :: ILEV = 0
integer(kind=JPIM), public :: IFCOL = 0
integer(kind=JPIM), public :: ILCOL = 0
integer(kind=JPIM), public :: IFROW = 0
integer(kind=JPIM), public :: ILROW = 0
integer(kind=JPIM), public :: ICOLS = 0
integer(kind=JPIM), public :: IROWS = 0
integer(kind=JPIM), public :: IRANK = 0
integer(kind=JPIM), public :: IOFFBETA = 0
integer(kind=JPIM), public, POINTER :: ICLIST(:) => NULL()
real(kind=JPRB), public, POINTER :: PNONIM(:) => NULL()
real(kind=JPRB), public, POINTER :: B(:,:) => NULL()
real(kind=JPRD), public, POINTER :: DB(:,:) => NULL()

type, public ::  LEV_STRUCT

Components

Type Visibility Attributes Name Initial
integer(kind=JPIM), public :: IJ = 0
integer(kind=JPIM), public :: IK = 0
integer(kind=JPIM), public :: IBETALEN = 0
type(NODE_TYPE), public, POINTER :: NODE(:,:) => NULL()

type, public ::  BUTTERFLY_STRUCT

Components

Type Visibility Attributes Name Initial
integer(kind=JPIM), public :: M_ORDER = 0
integer(kind=JPIM), public :: N_ORDER = 0
integer(kind=JPIM), public :: N_CMAX = 0
integer(kind=JPIM), public :: N_LEVELS = 0
integer(kind=JPIM), public :: IBETALEN_MAX = 0
type(LEV_STRUCT), public, POINTER :: SLEV(:) => NULL()

type, public ::  CLONE

Components

Type Visibility Attributes Name Initial
real(kind=JPRB), public, ALLOCATABLE :: COMMSBUF(:)

Subroutines

public subroutine CONSTRUCT_BUTTERFLY(PEPS, KCMAX, KM, KN, PMAT, YD_STRUCT)

Arguments

Type IntentOptional Attributes Name
real(kind=JPRD), intent(in) :: PEPS
integer(kind=JPIM), intent(in) :: KCMAX
integer(kind=JPIM), intent(in) :: KM
integer(kind=JPIM), intent(in) :: KN
real(kind=JPRD), intent(in) :: PMAT(:,:)
type(BUTTERFLY_STRUCT), intent(inout) :: YD_STRUCT

public subroutine PACK_BUTTERFLY_STRUCT(YD_STRUCT, YD_CLONE)

Arguments

Type IntentOptional Attributes Name
type(BUTTERFLY_STRUCT), intent(in) :: YD_STRUCT
type(CLONE), intent(out), TARGET :: YD_CLONE

public subroutine UNPACK_BUTTERFLY_STRUCT(YD_STRUCT, YD_CLONE, YDMEMBUF)

Arguments

Type IntentOptional Attributes Name
type(BUTTERFLY_STRUCT), intent(out) :: YD_STRUCT
type(CLONE), intent(in), optional, TARGET :: YD_CLONE
type(SHAREDMEM), intent(inout), optional :: YDMEMBUF

public subroutine MULT_BUTV(CDTRANS, YD_STRUCT, PVECIN, PVECOUT)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: CDTRANS
type(BUTTERFLY_STRUCT), intent(in) :: YD_STRUCT
real(kind=JPRB), intent(in) :: PVECIN(:)
real(kind=JPRB), intent(out) :: PVECOUT(:)

public subroutine MULT_BUTM(CDTRANS, YD_STRUCT, KF, PVECIN, PVECOUT, KWV)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: CDTRANS
type(BUTTERFLY_STRUCT), intent(in) :: YD_STRUCT
integer(kind=JPIM), intent(in) :: KF
real(kind=JPRB), intent(in) :: PVECIN(:,:)
real(kind=JPRB), intent(out) :: PVECOUT(:,:)
integer(kind=JPIM), intent(in), optional :: KWV