Functions | |
FLA_Error | FLA_Chol_blk_external (FLA_Uplo uplo, FLA_Obj A) |
void FLA_F2C() | fla_chol_blk_external_f (F_INT *uplo, F_INT *A, F_INT *IERROR) |
References cpotrf(), dpotrf(), FLA_Check_error_level(), FLA_Chol_check(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_ldim(), FLA_Obj_length(), FLA_Param_map_to_blas_uplo(), spotrf(), and zpotrf().
Referenced by fla_chol_blk_external_f(), and FLA_SPDinv_blk_external().
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_Chol_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( spotrf )( &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( dpotrf )( &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( cpotrf )( &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( zpotrf )( &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_chol_blk_external_f | ( | F_INT * | uplo, | |
F_INT * | A, | |||
F_INT * | IERROR | |||
) |
References FLA_Chol_blk_external().
00112 { 00113 *IERROR = FLA_Chol_blk_external( *( ( FLA_Uplo * ) uplo ), 00114 *( ( FLA_Obj * ) A ) ); 00115 }