14{
16
19
21
22 switch ( datatype ){
23
24 case FLA_FLOAT:
25 {
26 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
27
28 *buff_alpha = ( float ) fabs( ( double ) *buff_alpha );
29
30 break;
31 }
32
33 case FLA_DOUBLE:
34 {
35 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
36
37 *buff_alpha = fabs( *buff_alpha );
38
39 break;
40 }
41
42 case FLA_COMPLEX:
43 {
45
46 buff_alpha->
real = ( float ) sqrt( (
double ) buff_alpha->
real * buff_alpha->
real +
47 buff_alpha->
imag * buff_alpha->
imag );
48 buff_alpha->
imag = 0.0F;
49
50
51 break;
52 }
53
54 case FLA_DOUBLE_COMPLEX:
55 {
57
58 buff_alpha->
real = sqrt( buff_alpha->
real * buff_alpha->
real +
59 buff_alpha->
imag * buff_alpha->
imag );
60 buff_alpha->
imag = 0.0;
61
62 break;
63 }
64
65 }
66
67 return FLA_SUCCESS;
68}
FLA_Error FLA_Absolute_value_check(FLA_Obj alpha)
Definition FLA_Absolute_value_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
Definition blis_type_defs.h:138
double real
Definition blis_type_defs.h:139
double imag
Definition blis_type_defs.h:139
Definition blis_type_defs.h:133
float imag
Definition blis_type_defs.h:134
float real
Definition blis_type_defs.h:134