FLA_Trinv.c File Reference

(r)


Functions

FLA_Error FLA_Trinv (FLA_Uplo uplo, FLA_Diag diag, FLA_Obj A)
void FLA_F2C() fla_trinv_f (F_INT *uplo, F_INT *diag, F_INT *A, F_INT *IERROR)

Variables

fla_trinv_tfla_trinv_cntl_lapack
fla_trinv_tfla_trinv_cntl
fla_blocksize_tfla_trinv_var3_bsize

Function Documentation

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

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

Referenced by fla_trinv_f().

00040 {
00041   FLA_Datatype datatype;
00042   int          m_A, r_val = 0;
00043   int          FLA_TRINV_VAR3_BLOCKSIZE;
00044 
00045   // Check parameters.
00046   if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
00047     FLA_Trinv_check( uplo, diag, A );
00048 
00049   // Determine the datatype of the operation.
00050   datatype = FLA_Obj_datatype( A );
00051 
00052   // Extract the appropriate blocksize for the given datatype.
00053   FLA_TRINV_VAR3_BLOCKSIZE = FLA_Blocksize_extract( datatype, fla_trinv_var3_bsize );
00054 
00055   // Determine the dimension of A.
00056   m_A = FLA_Obj_length( A );
00057 
00058   // Invoke FLA_Trinv_internal() with the appropriate control tree.
00059   if      ( m_A <= FLA_TRINV_VAR3_BLOCKSIZE )
00060   {
00061     r_val = FLA_Trinv_internal( uplo, diag, A, fla_trinv_cntl_lapack );
00062   }
00063   else if ( FLA_TRINV_VAR3_BLOCKSIZE < m_A )
00064   {
00065     r_val = FLA_Trinv_internal( uplo, diag, A, fla_trinv_cntl );
00066   }
00067 
00068   return r_val;
00069 }

void FLA_F2C() fla_trinv_f ( F_INT *  uplo,
F_INT *  diag,
F_INT *  A,
F_INT *  IERROR 
)

References FLA_Trinv().

00073 {
00074   *IERROR = FLA_Trinv( *( ( FLA_Uplo * ) uplo ), 
00075                        *( ( FLA_Diag * ) diag ), 
00076                        *( ( FLA_Obj  * ) A    ) );
00077 }


Variable Documentation


Generated on Mon Jul 6 05:45:56 2009 for libflame by  doxygen 1.5.9