libflame revision_anchor
Functions | Variables
FLA_Trsv_internal.c File Reference

(r)

Functions

FLA_Error FLA_Trsv_internal (FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj A, FLA_Obj x, fla_trsv_t *cntl)
 

Variables

fla_trsv_tflash_trsv_cntl_blas
 
fla_trsv_tflash_trsv_cntl
 

Function Documentation

◆ FLA_Trsv_internal()

FLA_Error FLA_Trsv_internal ( FLA_Uplo  uplo,
FLA_Trans  transa,
FLA_Diag  diag,
FLA_Obj  A,
FLA_Obj  x,
fla_trsv_t cntl 
)
17{
19
21 FLA_Trsv_internal_check( uplo, transa, diag, A, x, cntl );
22
23 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
26 {
27 // Recurse
29 transa,
30 diag,
34 }
35 else if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
38 {
39 // Enqueue
40 ENQUEUE_FLASH_Trsv( uplo, transa, diag, A, x, cntl );
41 }
42 else
43 {
44 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
47 {
48 // Execute leaf
50 }
51
52 // Parameter combinations
53 if ( uplo == FLA_LOWER_TRIANGULAR )
54 {
55 if ( transa == FLA_NO_TRANSPOSE )
56 r_val = FLA_Trsv_ln( diag, A, x, cntl );
57 else if ( transa == FLA_TRANSPOSE )
58 r_val = FLA_Trsv_lt( diag, A, x, cntl );
59 else if ( transa == FLA_CONJ_TRANSPOSE )
60 r_val = FLA_Trsv_lc( diag, A, x, cntl );
61 }
62 else if ( uplo == FLA_UPPER_TRIANGULAR )
63 {
64 if ( transa == FLA_NO_TRANSPOSE )
65 r_val = FLA_Trsv_un( diag, A, x, cntl );
66 else if ( transa == FLA_TRANSPOSE )
67 r_val = FLA_Trsv_ut( diag, A, x, cntl );
68 else if ( transa == FLA_CONJ_TRANSPOSE )
69 r_val = FLA_Trsv_uc( diag, A, x, cntl );
70 }
71 }
72
73 return r_val;
74}
FLA_Bool FLASH_Queue_get_enabled(void)
Definition FLASH_Queue.c:171
FLA_Error FLA_Trsv_uc(FLA_Diag diag, FLA_Obj A, FLA_Obj x, fla_trsv_t *cntl)
Definition FLA_Trsv_uc.c:13
FLA_Error FLA_Trsv_ln(FLA_Diag diag, FLA_Obj A, FLA_Obj x, fla_trsv_t *cntl)
Definition FLA_Trsv_ln.c:13
FLA_Error FLA_Trsv_lt(FLA_Diag diag, FLA_Obj A, FLA_Obj x, fla_trsv_t *cntl)
Definition FLA_Trsv_lt.c:13
FLA_Error FLA_Trsv_lc(FLA_Diag diag, FLA_Obj A, FLA_Obj x, fla_trsv_t *cntl)
Definition FLA_Trsv_lc.c:13
FLA_Error FLA_Trsv_ut(FLA_Diag diag, FLA_Obj A, FLA_Obj x, fla_trsv_t *cntl)
Definition FLA_Trsv_ut.c:13
FLA_Error FLA_Trsv_un(FLA_Diag diag, FLA_Obj A, FLA_Obj x, fla_trsv_t *cntl)
Definition FLA_Trsv_un.c:13
fla_trsv_t * flash_trsv_cntl
Definition FLASH_Trsv_cntl_init.c:16
FLA_Error FLA_Trsv_internal(FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj A, FLA_Obj x, fla_trsv_t *cntl)
Definition FLA_Trsv_internal.c:16
fla_trsv_t * flash_trsv_cntl_blas
Definition FLASH_Trsv_cntl_init.c:15
FLA_Error FLA_Trsv_internal_check(FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj A, FLA_Obj x, fla_trsv_t *cntl)
Definition FLA_Trsv_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_Obj_elemtype(), FLA_Trsv_internal(), FLA_Trsv_internal_check(), FLA_Trsv_lc(), FLA_Trsv_ln(), FLA_Trsv_lt(), FLA_Trsv_uc(), FLA_Trsv_un(), FLA_Trsv_ut(), FLASH_Queue_get_enabled(), flash_trsv_cntl, flash_trsv_cntl_blas, and i.

Referenced by FLA_Trsv(), FLA_Trsv_internal(), FLA_Trsv_lc_blk_var1(), FLA_Trsv_lc_blk_var2(), FLA_Trsv_ln_blk_var1(), FLA_Trsv_ln_blk_var2(), FLA_Trsv_lt_blk_var1(), FLA_Trsv_lt_blk_var2(), FLA_Trsv_uc_blk_var1(), FLA_Trsv_uc_blk_var2(), FLA_Trsv_un_blk_var1(), FLA_Trsv_un_blk_var2(), FLA_Trsv_ut_blk_var1(), FLA_Trsv_ut_blk_var2(), and FLASH_Trsv().

Variable Documentation

◆ flash_trsv_cntl

fla_trsv_t* flash_trsv_cntl
extern

Referenced by FLA_Trsv_internal().

◆ flash_trsv_cntl_blas

fla_trsv_t* flash_trsv_cntl_blas
extern