Functions | |
FLA_Error | FLA_Hess_internal (FLA_Obj A, FLA_Obj t, int ilo, int ihi, fla_hess_t *cntl) |
FLA_Error FLA_Hess_internal | ( | FLA_Obj | A, | |
FLA_Obj | t, | |||
int | ilo, | |||
int | ihi, | |||
fla_hess_t * | cntl | |||
) |
References FLA_Check_error_level(), FLA_Check_null_pointer(), and FLA_Hess_unb_external().
Referenced by FLA_Hess().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING ) 00040 { 00041 FLA_Error e_val = FLA_Check_null_pointer( ( void* ) cntl ); 00042 FLA_Check_error_code( e_val ); 00043 } 00044 00045 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00046 { 00047 r_val = FLA_Hess_unb_external( A, t, ilo, ihi ); 00048 } 00049 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00050 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00051 { 00052 // libflame currently lacks implementations for reduction to upper 00053 // Hessenberg form, so for now we just call the external implementation. 00054 r_val = FLA_Hess_unb_external( A, t, ilo, ihi ); 00055 } 00056 #endif 00057 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00058 { 00059 // libflame currently lacks implementations for reduction to upper 00060 // Hessenberg form, so for now we just call the external implementation. 00061 r_val = FLA_Hess_unb_external( A, t, ilo, ihi ); 00062 } 00063 00064 return r_val; 00065 }