libflame revision_anchor
Functions | Variables
FLA_Hemm_internal.c File Reference

(r)

Functions

FLA_Error FLA_Hemm_internal (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
 

Variables

fla_hemm_tflash_hemm_cntl_blas
 
fla_hemm_tflash_hemm_cntl_mm
 

Function Documentation

◆ FLA_Hemm_internal()

FLA_Error FLA_Hemm_internal ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_hemm_t cntl 
)
17{
19
21 FLA_Hemm_internal_check( side, uplo, alpha, A, B, beta, C, cntl );
22
23 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
26 {
27 // Recurse
29 uplo,
30 alpha,
33 beta,
36 }
37 else if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
40 {
41 // Enqueue
42 ENQUEUE_FLASH_Hemm( side, uplo, alpha, A, B, beta, C, cntl );
43 }
44 else
45 {
46 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
49 {
50 // Execute leaf
52 }
53
54 // Parameter combinations
55 if ( side == FLA_LEFT )
56 {
57 if ( uplo == FLA_LOWER_TRIANGULAR )
58 r_val = FLA_Hemm_ll( alpha, A, B, beta, C, cntl );
59 else if ( uplo == FLA_UPPER_TRIANGULAR )
60 r_val = FLA_Hemm_lu( alpha, A, B, beta, C, cntl );
61 }
62 else if ( side == FLA_RIGHT )
63 {
64 if ( uplo == FLA_LOWER_TRIANGULAR )
65 r_val = FLA_Hemm_rl( alpha, A, B, beta, C, cntl );
66 else if ( uplo == FLA_UPPER_TRIANGULAR )
67 r_val = FLA_Hemm_ru( alpha, A, B, beta, C, cntl );
68 }
69 }
70
71 return r_val;
72}
FLA_Bool FLASH_Queue_get_enabled(void)
Definition FLASH_Queue.c:171
FLA_Error FLA_Hemm_rl(FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
Definition FLA_Hemm_rl.c:13
FLA_Error FLA_Hemm_lu(FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
Definition FLA_Hemm_lu.c:13
FLA_Error FLA_Hemm_ru(FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
Definition FLA_Hemm_ru.c:13
FLA_Error FLA_Hemm_ll(FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
Definition FLA_Hemm_ll.c:13
fla_hemm_t * flash_hemm_cntl_blas
Definition FLASH_Hemm_cntl_init.c:18
fla_hemm_t * flash_hemm_cntl_mm
Definition FLASH_Hemm_cntl_init.c:21
FLA_Error FLA_Hemm_internal(FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
Definition FLA_Hemm_internal.c:16
FLA_Error FLA_Hemm_internal_check(FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
Definition FLA_Hemm_internal_check.c:13
FLA_Elemtype FLA_Obj_elemtype(FLA_Obj obj)
Definition FLA_Query.c:51
unsigned int FLA_Check_error_level(void)
Definition FLA_Check.c:18
int FLA_Error
Definition FLA_type_defs.h:47
int i
Definition bl1_axmyv2.c:145

References FLA_Check_error_level(), FLA_Hemm_internal(), FLA_Hemm_internal_check(), FLA_Hemm_ll(), FLA_Hemm_lu(), FLA_Hemm_rl(), FLA_Hemm_ru(), FLA_Obj_elemtype(), flash_hemm_cntl_blas, flash_hemm_cntl_mm, FLASH_Queue_get_enabled(), and i.

Referenced by FLA_Eig_gest_il_blk_var1(), FLA_Eig_gest_il_blk_var2(), FLA_Eig_gest_il_blk_var3(), FLA_Eig_gest_il_blk_var4(), FLA_Eig_gest_il_blk_var5(), FLA_Eig_gest_iu_blk_var1(), FLA_Eig_gest_iu_blk_var2(), FLA_Eig_gest_iu_blk_var3(), FLA_Eig_gest_iu_blk_var4(), FLA_Eig_gest_iu_blk_var5(), FLA_Eig_gest_nl_blk_var1(), FLA_Eig_gest_nl_blk_var2(), FLA_Eig_gest_nl_blk_var4(), FLA_Eig_gest_nl_blk_var5(), FLA_Eig_gest_nu_blk_var1(), FLA_Eig_gest_nu_blk_var2(), FLA_Eig_gest_nu_blk_var4(), FLA_Eig_gest_nu_blk_var5(), FLA_Hemm(), FLA_Hemm_internal(), FLA_Hemm_ll_blk_var1(), FLA_Hemm_ll_blk_var10(), FLA_Hemm_ll_blk_var2(), FLA_Hemm_ll_blk_var3(), FLA_Hemm_ll_blk_var4(), FLA_Hemm_ll_blk_var5(), FLA_Hemm_ll_blk_var6(), FLA_Hemm_ll_blk_var7(), FLA_Hemm_ll_blk_var8(), FLA_Hemm_ll_blk_var9(), FLA_Hemm_lu_blk_var1(), FLA_Hemm_lu_blk_var10(), FLA_Hemm_lu_blk_var2(), FLA_Hemm_lu_blk_var3(), FLA_Hemm_lu_blk_var4(), FLA_Hemm_lu_blk_var5(), FLA_Hemm_lu_blk_var6(), FLA_Hemm_lu_blk_var7(), FLA_Hemm_lu_blk_var8(), FLA_Hemm_lu_blk_var9(), FLA_Hemm_rl_blk_var1(), FLA_Hemm_rl_blk_var10(), FLA_Hemm_rl_blk_var2(), FLA_Hemm_rl_blk_var3(), FLA_Hemm_rl_blk_var4(), FLA_Hemm_rl_blk_var5(), FLA_Hemm_rl_blk_var6(), FLA_Hemm_rl_blk_var7(), FLA_Hemm_rl_blk_var8(), FLA_Hemm_rl_blk_var9(), FLA_Hemm_ru_blk_var1(), FLA_Hemm_ru_blk_var10(), FLA_Hemm_ru_blk_var2(), FLA_Hemm_ru_blk_var3(), FLA_Hemm_ru_blk_var4(), FLA_Hemm_ru_blk_var5(), FLA_Hemm_ru_blk_var6(), FLA_Hemm_ru_blk_var7(), FLA_Hemm_ru_blk_var8(), FLA_Hemm_ru_blk_var9(), FLA_Lyap_h_blk_var1(), FLA_Lyap_h_blk_var2(), FLA_Lyap_h_blk_var3(), FLA_Lyap_h_blk_var4(), FLA_Lyap_n_blk_var1(), FLA_Lyap_n_blk_var2(), FLA_Lyap_n_blk_var3(), FLA_Lyap_n_blk_var4(), and FLASH_Hemm().

Variable Documentation

◆ flash_hemm_cntl_blas

fla_hemm_t* flash_hemm_cntl_blas
extern

◆ flash_hemm_cntl_mm

fla_hemm_t* flash_hemm_cntl_mm
extern

Referenced by FLA_Hemm_internal().