libflame  revision_anchor
Functions | Variables
FLA_Trinv.c File Reference

(r)

Functions

FLA_Error FLA_Trinv (FLA_Uplo uplo, FLA_Diag diag, FLA_Obj A)
 

Variables

fla_trinv_tfla_trinv_cntl_leaf
 
fla_trinv_tfla_trinv_cntl
 
fla_blocksize_tfla_trinv_var3_bsize
 

Function Documentation

◆ FLA_Trinv()

FLA_Error FLA_Trinv ( FLA_Uplo  uplo,
FLA_Diag  diag,
FLA_Obj  A 
)
18 {
19  FLA_Datatype datatype;
20  int m_A, r_val = 0;
21  int FLA_TRINV_VAR3_BLOCKSIZE;
22 
23  // Check parameters.
24  if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
25  FLA_Trinv_check( uplo, diag, A );
26 
27  // Determine the datatype of the operation.
28  datatype = FLA_Obj_datatype( A );
29 
30  // Extract the appropriate blocksize for the given datatype.
31  FLA_TRINV_VAR3_BLOCKSIZE = FLA_Blocksize_extract( datatype, fla_trinv_var3_bsize );
32 
33  // Determine the dimension of A.
34  m_A = FLA_Obj_length( A );
35 
36  // Invoke FLA_Trinv_internal() with the appropriate control tree.
37  if ( m_A <= FLA_TRINV_VAR3_BLOCKSIZE )
38  {
39  r_val = FLA_Trinv_internal( uplo, diag, A, fla_trinv_cntl_leaf );
40  }
41  else if ( FLA_TRINV_VAR3_BLOCKSIZE < m_A )
42  {
43  r_val = FLA_Trinv_internal( uplo, diag, A, fla_trinv_cntl );
44  }
45 
46  return r_val;
47 }
fla_blocksize_t * fla_trinv_var3_bsize
Definition: FLA_Trinv_cntl_init.c:19
fla_trinv_t * fla_trinv_cntl_leaf
Definition: FLA_Trinv_cntl_init.c:17
fla_trinv_t * fla_trinv_cntl
Definition: FLA_Trinv_cntl_init.c:18
FLA_Error FLA_Trinv_internal(FLA_Uplo uplo, FLA_Diag diag, FLA_Obj A, fla_trinv_t *cntl)
Definition: FLA_Trinv_internal.c:16
FLA_Error FLA_Trinv_check(FLA_Uplo uplo, FLA_Diag diag, FLA_Obj A)
Definition: FLA_Trinv_check.c:13
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116
unsigned int FLA_Check_error_level(void)
Definition: FLA_Check.c:18
dim_t FLA_Blocksize_extract(FLA_Datatype dt, fla_blocksize_t *bp)
Definition: FLA_Blocksize.c:116
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13
int FLA_Datatype
Definition: FLA_type_defs.h:49

References FLA_Blocksize_extract(), FLA_Check_error_level(), FLA_Obj_datatype(), FLA_Obj_length(), FLA_Trinv_check(), fla_trinv_cntl, fla_trinv_cntl_leaf, FLA_Trinv_internal(), and fla_trinv_var3_bsize.

Variable Documentation

◆ fla_trinv_cntl

fla_trinv_t* fla_trinv_cntl
extern

◆ fla_trinv_cntl_leaf

fla_trinv_t* fla_trinv_cntl_leaf
extern

Referenced by FLA_Trinv().

◆ fla_trinv_var3_bsize

fla_blocksize_t* fla_trinv_var3_bsize
extern