libflame  revision_anchor
Functions
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(), scomplex::imag, dcomplex::imag, scomplex::real, and dcomplex::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().