libflame revision_anchor
FLA_Absolute_square.c File Reference

(r)

Functions

FLA_Error FLA_Absolute_square (FLA_Obj alpha)
 

Function Documentation

◆ FLA_Absolute_square()

FLA_Error FLA_Absolute_square ( FLA_Obj alpha)
14{
15 FLA_Datatype datatype;
16
17 if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
19
20 datatype = FLA_Obj_datatype( alpha );
21
22 switch ( datatype ){
23
24 case FLA_FLOAT:
25 {
26 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
27
28 *buff_alpha = (*buff_alpha) * (*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 = (*buff_alpha) * (*buff_alpha);
38
39 break;
40 }
41
42 case FLA_COMPLEX:
43 {
44 scomplex *buff_alpha = ( scomplex * ) FLA_COMPLEX_PTR( alpha );
45
46 buff_alpha->real = buff_alpha->real * buff_alpha->real +
47 buff_alpha->imag * buff_alpha->imag;
48 buff_alpha->imag = 0.0F;
49
50 break;
51 }
52
53 case FLA_DOUBLE_COMPLEX:
54 {
55 dcomplex *buff_alpha = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( alpha );
56
57 buff_alpha->real = buff_alpha->real * buff_alpha->real +
58 buff_alpha->imag * buff_alpha->imag;
59 buff_alpha->imag = 0.0;
60
61 break;
62 }
63
64 }
65
66 return FLA_SUCCESS;
67}
FLA_Error FLA_Absolute_square_check(FLA_Obj alpha)
Definition FLA_Absolute_square_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

References FLA_Absolute_square_check(), FLA_Check_error_level(), FLA_Obj_datatype(), dcomplex::imag, scomplex::imag, dcomplex::real, and scomplex::real.

Referenced by FLA_Ttmm_l_unb_var1(), FLA_Ttmm_l_unb_var2(), FLA_Ttmm_l_unb_var3(), FLA_Ttmm_u_unb_var1(), FLA_Ttmm_u_unb_var2(), and FLA_Ttmm_u_unb_var3().