libflame revision_anchor
Functions | Variables
FLA_Eig_gest_internal.c File Reference

(r)

Functions

FLA_Error FLA_Eig_gest_internal (FLA_Inv inv, FLA_Uplo uplo, FLA_Obj A, FLA_Obj Y, FLA_Obj B, fla_eig_gest_t *cntl)
 

Variables

fla_eig_gest_tflash_eig_gest_cntl
 
fla_eig_gest_tfla_eig_gest_ix_cntl_leaf
 
fla_eig_gest_tfla_eig_gest_nx_cntl_leaf
 

Function Documentation

◆ FLA_Eig_gest_internal()

FLA_Error FLA_Eig_gest_internal ( FLA_Inv  inv,
FLA_Uplo  uplo,
FLA_Obj  A,
FLA_Obj  Y,
FLA_Obj  B,
fla_eig_gest_t cntl 
)
18{
20
22 FLA_Eig_gest_internal_check( inv, uplo, A, Y, B, cntl );
23
24 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
27 {
28 // Recurse
30 uplo,
35 }
36 else if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
39 {
40 // Enqueue
41 ENQUEUE_FLASH_Eig_gest( inv, uplo, A, Y, B, cntl );
42 }
43 else
44 {
45 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
48 {
49 // Execute leaf
50 if ( inv == FLA_INVERSE )
52 else
54 }
55
56 // Parameter combinations
57 if ( inv == FLA_INVERSE )
58 {
59 if ( uplo == FLA_LOWER_TRIANGULAR )
60 {
61 r_val = FLA_Eig_gest_il( A, Y, B, cntl );
62 }
63 else if ( uplo == FLA_UPPER_TRIANGULAR )
64 {
65 r_val = FLA_Eig_gest_iu( A, Y, B, cntl );
66 }
67 }
68 else if ( inv == FLA_NO_INVERSE )
69 {
70 if ( uplo == FLA_LOWER_TRIANGULAR )
71 {
72 r_val = FLA_Eig_gest_nl( A, Y, B, cntl );
73 }
74 else if ( uplo == FLA_UPPER_TRIANGULAR )
75 {
76 r_val = FLA_Eig_gest_nu( A, Y, B, cntl );
77 }
78 }
79 }
80
81 return r_val;
82}
FLA_Bool FLASH_Queue_get_enabled(void)
Definition FLASH_Queue.c:171
FLA_Error FLA_Eig_gest_il(FLA_Obj A, FLA_Obj Y, FLA_Obj B, fla_eig_gest_t *cntl)
Definition FLA_Eig_gest_il.c:13
FLA_Error FLA_Eig_gest_nu(FLA_Obj A, FLA_Obj Y, FLA_Obj B, fla_eig_gest_t *cntl)
Definition FLA_Eig_gest_nu.c:13
FLA_Error FLA_Eig_gest_iu(FLA_Obj A, FLA_Obj Y, FLA_Obj B, fla_eig_gest_t *cntl)
Definition FLA_Eig_gest_iu.c:13
FLA_Error FLA_Eig_gest_nl(FLA_Obj A, FLA_Obj Y, FLA_Obj B, fla_eig_gest_t *cntl)
Definition FLA_Eig_gest_nl.c:13
fla_eig_gest_t * fla_eig_gest_nx_cntl_leaf
Definition FLA_Eig_gest_cntl_init.c:23
fla_eig_gest_t * flash_eig_gest_cntl
Definition FLASH_Eig_gest_cntl_init.c:21
fla_eig_gest_t * fla_eig_gest_ix_cntl_leaf
Definition FLA_Eig_gest_cntl_init.c:22
FLA_Error FLA_Eig_gest_internal(FLA_Inv inv, FLA_Uplo uplo, FLA_Obj A, FLA_Obj Y, FLA_Obj B, fla_eig_gest_t *cntl)
Definition FLA_Eig_gest_internal.c:17
FLA_Error FLA_Eig_gest_internal_check(FLA_Inv inv, FLA_Uplo uplo, FLA_Obj A, FLA_Obj Y, FLA_Obj B, fla_eig_gest_t *cntl)
Definition FLA_Eig_gest_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_Eig_gest_il(), FLA_Eig_gest_internal(), FLA_Eig_gest_internal_check(), FLA_Eig_gest_iu(), fla_eig_gest_ix_cntl_leaf, FLA_Eig_gest_nl(), FLA_Eig_gest_nu(), fla_eig_gest_nx_cntl_leaf, FLA_Obj_elemtype(), flash_eig_gest_cntl, FLASH_Queue_get_enabled(), and i.

Referenced by FLA_Eig_gest(), 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_il_task(), FLA_Eig_gest_internal(), 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_iu_task(), 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_nl_task(), 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_Eig_gest_nu_task(), FLA_Eig_gest_task(), and FLASH_Eig_gest().

Variable Documentation

◆ fla_eig_gest_ix_cntl_leaf

fla_eig_gest_t* fla_eig_gest_ix_cntl_leaf
extern

◆ fla_eig_gest_nx_cntl_leaf

fla_eig_gest_t* fla_eig_gest_nx_cntl_leaf
extern

◆ flash_eig_gest_cntl

fla_eig_gest_t* flash_eig_gest_cntl
extern

Referenced by FLA_Eig_gest_internal().