FLA_Ttmm_blk_external.c File Reference

(r)


Functions

FLA_Error FLA_Ttmm_blk_external (FLA_Uplo uplo, FLA_Obj A)
void FLA_F2C() fla_ttmm_blk_external_f (F_INT *uplo, F_INT *A, F_INT *IERROR)

Function Documentation

FLA_Error FLA_Ttmm_blk_external ( FLA_Uplo  uplo,
FLA_Obj  A 
)

References clauum(), dlauum(), FLA_Check_error_level(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_ldim(), FLA_Obj_length(), FLA_Param_map_to_blas_uplo(), FLA_Ttmm_check(), slauum(), and zlauum().

Referenced by FLA_SPDinv_blk_external(), and fla_ttmm_blk_external_f().

00036 {
00037   FLA_Datatype datatype;
00038   int          m_A, ldim_A;
00039   int          info;
00040   char         blas_uplo;
00041 
00042   if ( FLA_Check_error_level() == FLA_FULL_ERROR_CHECKING )
00043     FLA_Ttmm_check( uplo, A );
00044 
00045   if ( FLA_Obj_has_zero_dim( A ) ) return FLA_SUCCESS;
00046 
00047   datatype = FLA_Obj_datatype( A );
00048 
00049   m_A      = FLA_Obj_length( A );
00050   ldim_A   = FLA_Obj_ldim( A );
00051 
00052   FLA_Param_map_to_blas_uplo( uplo, &blas_uplo );
00053 
00054 
00055   switch( datatype ){
00056 
00057   case FLA_FLOAT:
00058   {
00059     float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
00060 
00061     FLA_C2F( slauum )( &blas_uplo,
00062                        &m_A,
00063                        buff_A, &ldim_A,
00064                        &info );
00065 
00066     break;
00067   }
00068 
00069   case FLA_DOUBLE:
00070   {
00071     double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
00072 
00073     FLA_C2F( dlauum )( &blas_uplo,
00074                        &m_A,
00075                        buff_A, &ldim_A,
00076                        &info );
00077 
00078     break;
00079   } 
00080 
00081   case FLA_COMPLEX:
00082   {
00083     scomplex *buff_A = ( scomplex * ) FLA_COMPLEX_PTR( A );
00084 
00085     FLA_C2F( clauum )( &blas_uplo,
00086                        &m_A,
00087                        buff_A, &ldim_A,
00088                        &info );
00089 
00090     break;
00091   } 
00092 
00093   case FLA_DOUBLE_COMPLEX:
00094   {
00095     dcomplex *buff_A = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( A );
00096 
00097     FLA_C2F( zlauum )( &blas_uplo,
00098                        &m_A,
00099                        buff_A, &ldim_A,
00100                        &info );
00101 
00102     break;
00103   } 
00104 
00105   }
00106 
00107   return info;
00108 }

void FLA_F2C() fla_ttmm_blk_external_f ( F_INT *  uplo,
F_INT *  A,
F_INT *  IERROR 
)

References FLA_Ttmm_blk_external().

00112 {
00113   *IERROR = FLA_Ttmm_blk_external( *( ( FLA_Uplo * ) uplo ), 
00114                                    *( ( FLA_Obj  * ) A    ) );
00115 }


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