libflame revision_anchor
Functions
FLA_Sqrt.c File Reference

(r)

Functions

FLA_Error FLA_Sqrt (FLA_Obj alpha)
 

Function Documentation

◆ FLA_Sqrt()

FLA_Error FLA_Sqrt ( FLA_Obj  alpha)
14{
15 FLA_Datatype datatype;
16 int r_val = FLA_SUCCESS;
17
20
21 datatype = FLA_Obj_datatype( alpha );
22
23 switch ( datatype ){
24
25 case FLA_FLOAT:
26 {
27 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
28
29 if ( *buff_alpha <= 0.0F || isnan(*buff_alpha) )
31 else
33
34 break;
35 }
36
37 case FLA_DOUBLE:
38 {
39 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
40
41 if ( *buff_alpha <= 0.0 || isnan(*buff_alpha) )
43 else
45
46 break;
47 }
48
49 case FLA_COMPLEX:
50 {
52
53 if ( buff_alpha->real <= 0.0F || isnan(buff_alpha->real) )
55 else
56 buff_alpha->real = ( float ) sqrt( buff_alpha->real );
57
58 break;
59 }
60
62 {
64
65 if ( buff_alpha->real <= 0.0 || isnan(buff_alpha->real) )
67 else
68 buff_alpha->real = ( double ) sqrt( buff_alpha->real );
69
70 break;
71 }
72
73 }
74
75 return r_val;
76}
FLA_Error FLA_Sqrt_check(FLA_Obj alpha)
Definition FLA_Sqrt_check.c:13
unsigned int FLA_Check_error_level(void)
Definition FLA_Check.c:18
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition FLA_Query.c:13
int FLA_Datatype
Definition FLA_type_defs.h:49
int i
Definition bl1_axmyv2.c:145
Definition blis_type_defs.h:138
double real
Definition blis_type_defs.h:139
Definition blis_type_defs.h:133
float real
Definition blis_type_defs.h:134

References FLA_Check_error_level(), FLA_Obj_datatype(), FLA_Sqrt_check(), i, scomplex::real, and dcomplex::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(), FLA_Hevd_compute_scaling(), and FLA_Svd_compute_scaling().