libflame  revision_anchor
Functions | Variables
FLA_Ttmm.c File Reference

(r)

Functions

FLA_Error FLA_Ttmm (FLA_Uplo uplo, FLA_Obj A)
 

Variables

fla_ttmm_tfla_ttmm_cntl_leaf
 
fla_ttmm_tfla_ttmm_cntl
 
fla_blocksize_tfla_ttmm_var1_bsize
 

Function Documentation

◆ FLA_Ttmm()

FLA_Error FLA_Ttmm ( FLA_Uplo  uplo,
FLA_Obj  A 
)
18 {
19  FLA_Datatype datatype;
20  int m_A, r_val = 0;
21  int FLA_TTMM_VAR1_BLOCKSIZE;
22 
23  // Check parameters.
24  if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
25  FLA_Ttmm_check( uplo, 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_TTMM_VAR1_BLOCKSIZE = FLA_Blocksize_extract( datatype, fla_ttmm_var1_bsize );
32 
33  // Determine the dimension of A.
34  m_A = FLA_Obj_length( A );
35 
36  // Invoke FLA_Ttmm_internal() with the appropriate control tree.
37  if ( m_A <= FLA_TTMM_VAR1_BLOCKSIZE )
38  {
39  r_val = FLA_Ttmm_internal( uplo, A, fla_ttmm_cntl_leaf );
40  }
41  else if ( FLA_TTMM_VAR1_BLOCKSIZE < m_A )
42  {
43  r_val = FLA_Ttmm_internal( uplo, A, fla_ttmm_cntl );
44  }
45 
46  return r_val;
47 }
fla_blocksize_t * fla_ttmm_var1_bsize
Definition: FLA_Ttmm_cntl_init.c:19
fla_ttmm_t * fla_ttmm_cntl
Definition: FLA_Ttmm_cntl_init.c:18
fla_ttmm_t * fla_ttmm_cntl_leaf
Definition: FLA_Ttmm_cntl_init.c:17
FLA_Error FLA_Ttmm_internal(FLA_Uplo uplo, FLA_Obj A, fla_ttmm_t *cntl)
Definition: FLA_Ttmm_internal.c:16
FLA_Error FLA_Ttmm_check(FLA_Uplo uplo, FLA_Obj A)
Definition: FLA_Ttmm_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_Ttmm_check(), fla_ttmm_cntl, fla_ttmm_cntl_leaf, FLA_Ttmm_internal(), and fla_ttmm_var1_bsize.

Variable Documentation

◆ fla_ttmm_cntl

fla_ttmm_t* fla_ttmm_cntl
extern

◆ fla_ttmm_cntl_leaf

fla_ttmm_t* fla_ttmm_cntl_leaf
extern

Referenced by FLA_Ttmm().

◆ fla_ttmm_var1_bsize

fla_blocksize_t* fla_ttmm_var1_bsize
extern