Functions | |
FLA_Error | FLA_Trinv_unb_external (FLA_Uplo uplo, FLA_Diag diag, FLA_Obj A) |
void FLA_F2C() | fla_trinv_unb_external_f (F_INT *uplo, F_INT *diag, F_INT *A, F_INT *IERROR) |
References ctrti2(), dtrti2(), FLA_Check_error_level(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_ldim(), FLA_Obj_length(), FLA_Param_map_to_blas_diag(), FLA_Param_map_to_blas_uplo(), FLA_Trinv_check(), strti2(), and ztrti2().
Referenced by FLA_Trinv_l_task(), FLA_Trinv_task(), FLA_Trinv_u_task(), and fla_trinv_unb_external_f().
00036 { 00037 FLA_Datatype datatype; 00038 int m_A, ldim_A; 00039 int info; 00040 char blas_uplo; 00041 char blas_diag; 00042 00043 if ( FLA_Check_error_level() == FLA_FULL_ERROR_CHECKING ) 00044 FLA_Trinv_check( uplo, diag, A ); 00045 00046 if ( FLA_Obj_has_zero_dim( A ) ) return FLA_SUCCESS; 00047 00048 datatype = FLA_Obj_datatype( A ); 00049 00050 m_A = FLA_Obj_length( A ); 00051 ldim_A = FLA_Obj_ldim( A ); 00052 00053 FLA_Param_map_to_blas_uplo( uplo, &blas_uplo ); 00054 FLA_Param_map_to_blas_diag( diag, &blas_diag ); 00055 00056 00057 switch( datatype ){ 00058 00059 case FLA_FLOAT: 00060 { 00061 float *buff_A = ( float * ) FLA_FLOAT_PTR( A ); 00062 00063 FLA_C2F( strti2 )( &blas_uplo, 00064 &blas_diag, 00065 &m_A, 00066 buff_A, &ldim_A, 00067 &info ); 00068 00069 break; 00070 } 00071 00072 case FLA_DOUBLE: 00073 { 00074 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A ); 00075 00076 FLA_C2F( dtrti2 )( &blas_uplo, 00077 &blas_diag, 00078 &m_A, 00079 buff_A, &ldim_A, 00080 &info ); 00081 00082 break; 00083 } 00084 00085 case FLA_COMPLEX: 00086 { 00087 scomplex *buff_A = ( scomplex * ) FLA_COMPLEX_PTR( A ); 00088 00089 FLA_C2F( ctrti2 )( &blas_uplo, 00090 &blas_diag, 00091 &m_A, 00092 buff_A, &ldim_A, 00093 &info ); 00094 00095 break; 00096 } 00097 00098 case FLA_DOUBLE_COMPLEX: 00099 { 00100 dcomplex *buff_A = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( A ); 00101 00102 FLA_C2F( ztrti2 )( &blas_uplo, 00103 &blas_diag, 00104 &m_A, 00105 buff_A, &ldim_A, 00106 &info ); 00107 00108 break; 00109 } 00110 00111 } 00112 00113 return info; 00114 }
void FLA_F2C() fla_trinv_unb_external_f | ( | F_INT * | uplo, | |
F_INT * | diag, | |||
F_INT * | A, | |||
F_INT * | IERROR | |||
) |
References FLA_Trinv_unb_external().
00118 { 00119 *IERROR = FLA_Trinv_unb_external( *( ( FLA_Uplo * ) uplo ), 00120 *( ( FLA_Diag * ) diag ), 00121 *( ( FLA_Obj * ) A ) ); 00122 }