Functions | |
FLA_Error | FLA_Sqrt (FLA_Obj alpha) |
void FLA_F2C() | fla_sqrt_f (F_INT *alpha, F_INT *IERROR) |
References FLA_Check_error_level(), FLA_Obj_datatype(), FLA_Sqrt_check(), dcomplex::real, and scomplex::real.
Referenced by FLA_Chol_l_unb_var1(), FLA_Chol_l_unb_var2(), FLA_Chol_l_unb_var3(), FLA_Chol_u_unb_var1(), FLA_Chol_u_unb_var2(), FLA_Chol_u_unb_var3(), and fla_sqrt_f().
00036 { 00037 FLA_Datatype datatype; 00038 int r_val = FLA_SUCCESS; 00039 00040 if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING ) 00041 FLA_Sqrt_check( alpha ); 00042 00043 datatype = FLA_Obj_datatype( alpha ); 00044 00045 switch ( datatype ){ 00046 00047 case FLA_FLOAT: 00048 { 00049 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha ); 00050 00051 if ( *buff_alpha < 0.0F ) 00052 r_val = FLA_FAILURE; 00053 else 00054 *buff_alpha = ( float ) sqrt( *buff_alpha ); 00055 00056 break; 00057 } 00058 00059 case FLA_DOUBLE: 00060 { 00061 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha ); 00062 00063 if ( *buff_alpha < 0.0 ) 00064 r_val = FLA_FAILURE; 00065 else 00066 *buff_alpha = ( double ) sqrt( *buff_alpha ); 00067 00068 break; 00069 } 00070 00071 case FLA_COMPLEX: 00072 { 00073 scomplex *buff_alpha = ( scomplex * ) FLA_COMPLEX_PTR( alpha ); 00074 00075 if ( buff_alpha->real < 0.0F ) 00076 r_val = FLA_FAILURE; 00077 else 00078 buff_alpha->real = ( float ) sqrt( buff_alpha->real ); 00079 00080 break; 00081 } 00082 00083 case FLA_DOUBLE_COMPLEX: 00084 { 00085 dcomplex *buff_alpha = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( alpha ); 00086 00087 if ( buff_alpha->real < 0.0 ) 00088 r_val = FLA_FAILURE; 00089 else 00090 buff_alpha->real = ( double ) sqrt( buff_alpha->real ); 00091 00092 break; 00093 } 00094 00095 } 00096 00097 return r_val; 00098 }
void FLA_F2C() fla_sqrt_f | ( | F_INT * | alpha, | |
F_INT * | IERROR | |||
) |