14{
17 int num_elem;
18 int inc_x;
19
22
24 {
26 return FLA_SUCCESS;
27 }
28
31
34
35
36 switch ( datatype ){
37
38 case FLA_FLOAT:
39 {
40 float *buff_x = ( float * ) FLA_FLOAT_PTR( x );
41 float *buff_asum_x = ( float * ) FLA_FLOAT_PTR( asum_x );
42
44 buff_x, inc_x,
45 buff_asum_x );
46
47 break;
48 }
49
50 case FLA_DOUBLE:
51 {
52 double *buff_x = ( double * ) FLA_DOUBLE_PTR( x );
53 double *buff_asum_x = ( double * ) FLA_DOUBLE_PTR( asum_x );
54
56 buff_x, inc_x,
57 buff_asum_x );
58
59 break;
60 }
61
62 case FLA_COMPLEX:
63 {
64 if ( dt_asum == FLA_FLOAT )
65 {
67 float *buff_asum_x = ( float * ) FLA_FLOAT_PTR( asum_x );
68
70 buff_x, inc_x,
71 buff_asum_x );
72 }
73 else if ( dt_asum == FLA_COMPLEX )
74 {
77
79 buff_x, inc_x,
80 &(buff_asum_x->
real) );
81 buff_asum_x->
imag = 0.0F;
82 }
83
84 break;
85 }
86
87 case FLA_DOUBLE_COMPLEX:
88 {
89 if ( dt_asum == FLA_DOUBLE )
90 {
92 double *buff_asum_x = ( double * ) FLA_DOUBLE_PTR( asum_x );
93
95 buff_x, inc_x,
96 buff_asum_x );
97 }
98 else if ( dt_asum == FLA_DOUBLE_COMPLEX )
99 {
102
104 buff_x, inc_x,
105 &(buff_asum_x->
real) );
106 buff_asum_x->
imag = 0.0;
107 }
108
109 break;
110 }
111
112 }
113
114 return FLA_SUCCESS;
115}
FLA_Error FLA_Asum_check(FLA_Obj x, FLA_Obj asum_x)
Definition FLA_Asum_check.c:13
FLA_Obj FLA_ZERO
Definition FLA_Init.c:20
FLA_Bool FLA_Obj_has_zero_dim(FLA_Obj A)
Definition FLA_Query.c:400
unsigned int FLA_Check_error_level(void)
Definition FLA_Check.c:18
dim_t FLA_Obj_vector_inc(FLA_Obj obj)
Definition FLA_Query.c:145
dim_t FLA_Obj_vector_dim(FLA_Obj obj)
Definition FLA_Query.c:137
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition FLA_Query.c:13
int FLA_Datatype
Definition FLA_type_defs.h:49
FLA_Error FLA_Set(FLA_Obj alpha, FLA_Obj A)
Definition FLA_Set.c:13
void bl1_zasum(int n, dcomplex *x, int incx, double *norm)
Definition bl1_asum.c:46
void bl1_casum(int n, scomplex *x, int incx, float *norm)
Definition bl1_asum.c:35
void bl1_sasum(int n, float *x, int incx, float *norm)
Definition bl1_asum.c:13
void bl1_dasum(int n, double *x, int incx, double *norm)
Definition bl1_asum.c:24
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