libflame revision_anchor
FLA_Apply_G_rf_blk_var3.c File Reference

(r)

Functions

FLA_Error FLA_Apply_G_rf_blk_var3 (FLA_Obj G, FLA_Obj A, dim_t b_alg)
 
FLA_Error FLA_Apply_G_rf_bls_var3 (int k_G, int m_A, int n_A, scomplex *buff_G, int rs_G, int cs_G, float *buff_A, int rs_A, int cs_A, int b_alg)
 
FLA_Error FLA_Apply_G_rf_bld_var3 (int k_G, int m_A, int n_A, dcomplex *buff_G, int rs_G, int cs_G, double *buff_A, int rs_A, int cs_A, int b_alg)
 
FLA_Error FLA_Apply_G_rf_blc_var3 (int k_G, int m_A, int n_A, scomplex *buff_G, int rs_G, int cs_G, scomplex *buff_A, int rs_A, int cs_A, int b_alg)
 
FLA_Error FLA_Apply_G_rf_blz_var3 (int k_G, int m_A, int n_A, dcomplex *buff_G, int rs_G, int cs_G, dcomplex *buff_A, int rs_A, int cs_A, int b_alg)
 

Function Documentation

◆ FLA_Apply_G_rf_blc_var3()

FLA_Error FLA_Apply_G_rf_blc_var3 ( int k_G,
int m_A,
int n_A,
scomplex * buff_G,
int rs_G,
int cs_G,
scomplex * buff_A,
int rs_A,
int cs_A,
int b_alg )
163{
164 int i;
165 int b = 0;
166
167 for ( i = 0; i < m_A; i += b )
168 {
169 scomplex* A1 = buff_A + (0 )*cs_A + (i )*rs_A;
170 int m_ahead = max( 0, m_A - i );
171
172 b = min( b_alg, m_ahead );
173
174 // ass_var3 does not support arbitrary strides: TODO
176 //FLA_Apply_G_rf_asc_var3( k_G,
177 b,
178 n_A,
179 buff_G, rs_G, cs_G,
180 A1, rs_A, cs_A );
181 }
182
183 return FLA_SUCCESS;
184}
FLA_Error FLA_Apply_G_rf_opc_var3(int k_G, int m_A, int n_A, scomplex *buff_G, int rs_G, int cs_G, scomplex *buff_A, int rs_A, int cs_A)
Definition FLA_Apply_G_rf_opt_var3.c:1018
int i
Definition bl1_axmyv2.c:145
Definition blis_type_defs.h:133

References FLA_Apply_G_rf_opc_var3(), and i.

Referenced by FLA_Apply_G_lf_blk_var3(), FLA_Apply_G_rf_blk_var3(), FLA_Bsvd_ext_opc_var1(), and FLA_Bsvd_v_opc_var1().

◆ FLA_Apply_G_rf_bld_var3()

FLA_Error FLA_Apply_G_rf_bld_var3 ( int k_G,
int m_A,
int n_A,
dcomplex * buff_G,
int rs_G,
int cs_G,
double * buff_A,
int rs_A,
int cs_A,
int b_alg )
134{
135 int i;
136 int b = 0;
137
138 for ( i = 0; i < m_A; i += b )
139 {
140 double* A1 = buff_A + (0 )*cs_A + (i )*rs_A;
141 int m_ahead = max( 0, m_A - i );
142
143 b = min( b_alg, m_ahead );
144
145 // ass_var3 does not support arbitrary strides: TODO
147 //FLA_Apply_G_rf_asd_var3( k_G,
148 b,
149 n_A,
150 buff_G, rs_G, cs_G,
151 A1, rs_A, cs_A );
152 }
153
154 return FLA_SUCCESS;
155}
FLA_Error FLA_Apply_G_rf_opd_var3(int k_G, int m_A, int n_A, dcomplex *buff_G, int rs_G, int cs_G, double *buff_A, int rs_A, int cs_A)
Definition FLA_Apply_G_rf_opt_var3.c:565

References FLA_Apply_G_rf_opd_var3(), and i.

Referenced by FLA_Apply_G_lf_blk_var3(), FLA_Apply_G_rf_blk_var3(), FLA_Bsvd_ext_opd_var1(), FLA_Bsvd_v_opd_var1(), and FLA_Tevd_v_opd_var1().

◆ FLA_Apply_G_rf_blk_var3()

FLA_Error FLA_Apply_G_rf_blk_var3 ( FLA_Obj G,
FLA_Obj A,
dim_t b_alg )
14{
15 FLA_Datatype datatype;
16 int k_G, m_A, n_A;
17 int rs_G, cs_G;
18 int rs_A, cs_A;
19
20 datatype = FLA_Obj_datatype( A );
21
22 k_G = FLA_Obj_width( G );
23 m_A = FLA_Obj_length( A );
24 n_A = FLA_Obj_width( A );
25
26 rs_G = FLA_Obj_row_stride( G );
27 cs_G = FLA_Obj_col_stride( G );
28
29 rs_A = FLA_Obj_row_stride( A );
30 cs_A = FLA_Obj_col_stride( A );
31
32 switch ( datatype )
33 {
34 case FLA_FLOAT:
35 {
36 scomplex* buff_G = ( scomplex* ) FLA_COMPLEX_PTR( G );
37 float* buff_A = ( float* ) FLA_FLOAT_PTR( A );
38
40 m_A,
41 n_A,
42 buff_G, rs_G, cs_G,
43 buff_A, rs_A, cs_A,
44 b_alg );
45
46 break;
47 }
48
49 case FLA_DOUBLE:
50 {
51 dcomplex* buff_G = ( dcomplex* ) FLA_DOUBLE_COMPLEX_PTR( G );
52 double* buff_A = ( double* ) FLA_DOUBLE_PTR( A );
53
55 m_A,
56 n_A,
57 buff_G, rs_G, cs_G,
58 buff_A, rs_A, cs_A,
59 b_alg );
60
61 break;
62 }
63
64 case FLA_COMPLEX:
65 {
66 scomplex* buff_G = ( scomplex* ) FLA_COMPLEX_PTR( G );
67 scomplex* buff_A = ( scomplex* ) FLA_COMPLEX_PTR( A );
68
70 m_A,
71 n_A,
72 buff_G, rs_G, cs_G,
73 buff_A, rs_A, cs_A,
74 b_alg );
75
76 break;
77 }
78
79 case FLA_DOUBLE_COMPLEX:
80 {
81 dcomplex* buff_G = ( dcomplex* ) FLA_DOUBLE_COMPLEX_PTR( G );
82 dcomplex* buff_A = ( dcomplex* ) FLA_DOUBLE_COMPLEX_PTR( A );
83
85 m_A,
86 n_A,
87 buff_G, rs_G, cs_G,
88 buff_A, rs_A, cs_A,
89 b_alg );
90
91 break;
92 }
93 }
94
95 return FLA_SUCCESS;
96}
FLA_Error FLA_Apply_G_rf_blz_var3(int k_G, int m_A, int n_A, dcomplex *buff_G, int rs_G, int cs_G, dcomplex *buff_A, int rs_A, int cs_A, int b_alg)
Definition FLA_Apply_G_rf_blk_var3.c:186
FLA_Error FLA_Apply_G_rf_bld_var3(int k_G, int m_A, int n_A, dcomplex *buff_G, int rs_G, int cs_G, double *buff_A, int rs_A, int cs_A, int b_alg)
Definition FLA_Apply_G_rf_blk_var3.c:128
FLA_Error FLA_Apply_G_rf_blc_var3(int k_G, int m_A, int n_A, scomplex *buff_G, int rs_G, int cs_G, scomplex *buff_A, int rs_A, int cs_A, int b_alg)
Definition FLA_Apply_G_rf_blk_var3.c:157
FLA_Error FLA_Apply_G_rf_bls_var3(int k_G, int m_A, int n_A, scomplex *buff_G, int rs_G, int cs_G, float *buff_A, int rs_A, int cs_A, int b_alg)
Definition FLA_Apply_G_rf_blk_var3.c:99
dim_t FLA_Obj_width(FLA_Obj obj)
Definition FLA_Query.c:123
dim_t FLA_Obj_row_stride(FLA_Obj obj)
Definition FLA_Query.c:167
dim_t FLA_Obj_length(FLA_Obj obj)
Definition FLA_Query.c:116
dim_t FLA_Obj_col_stride(FLA_Obj obj)
Definition FLA_Query.c:174
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

References FLA_Apply_G_rf_blc_var3(), FLA_Apply_G_rf_bld_var3(), FLA_Apply_G_rf_bls_var3(), FLA_Apply_G_rf_blz_var3(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_length(), FLA_Obj_row_stride(), and FLA_Obj_width().

◆ FLA_Apply_G_rf_bls_var3()

FLA_Error FLA_Apply_G_rf_bls_var3 ( int k_G,
int m_A,
int n_A,
scomplex * buff_G,
int rs_G,
int cs_G,
float * buff_A,
int rs_A,
int cs_A,
int b_alg )
105{
106 int i;
107 int b = 0;
108
109 for ( i = 0; i < m_A; i += b )
110 {
111 float* A1 = buff_A + (0 )*cs_A + (i )*rs_A;
112 int m_ahead = max( 0, m_A - i );
113
114 b = min( b_alg, m_ahead );
115
116 // ass_var3 does not support arbitrary strides: TODO
118 //FLA_Apply_G_rf_ass_var3( k_G,
119 b,
120 n_A,
121 buff_G, rs_G, cs_G,
122 A1, rs_A, cs_A );
123 }
124
125 return FLA_SUCCESS;
126}
FLA_Error FLA_Apply_G_rf_ops_var3(int k_G, int m_A, int n_A, scomplex *buff_G, int rs_G, int cs_G, float *buff_A, int rs_A, int cs_A)
Definition FLA_Apply_G_rf_opt_var3.c:112

References FLA_Apply_G_rf_ops_var3(), and i.

Referenced by FLA_Apply_G_lf_blk_var3(), FLA_Apply_G_rf_blk_var3(), FLA_Bsvd_ext_ops_var1(), and FLA_Bsvd_v_ops_var1().

◆ FLA_Apply_G_rf_blz_var3()

FLA_Error FLA_Apply_G_rf_blz_var3 ( int k_G,
int m_A,
int n_A,
dcomplex * buff_G,
int rs_G,
int cs_G,
dcomplex * buff_A,
int rs_A,
int cs_A,
int b_alg )
192{
193 int i;
194 int b = 0;
195
196 for ( i = 0; i < m_A; i += b )
197 {
198 dcomplex* A1 = buff_A + (0 )*cs_A + (i )*rs_A;
199 int m_ahead = max( 0, m_A - i );
200
201 b = min( b_alg, m_ahead );
202
203 // ass_var3 does not support arbitrary strides: TODO
205 //FLA_Apply_G_rf_asz_var3( k_G,
206 b,
207 n_A,
208 buff_G, rs_G, cs_G,
209 A1, rs_A, cs_A );
210 }
211
212 return FLA_SUCCESS;
213}
FLA_Error FLA_Apply_G_rf_opz_var3(int k_G, int m_A, int n_A, dcomplex *buff_G, int rs_G, int cs_G, dcomplex *buff_A, int rs_A, int cs_A)
Definition FLA_Apply_G_rf_opt_var3.c:1471

References FLA_Apply_G_rf_opz_var3(), and i.

Referenced by FLA_Apply_G_lf_blk_var3(), FLA_Apply_G_rf_blk_var3(), FLA_Bsvd_ext_opz_var1(), FLA_Bsvd_v_opz_var1(), and FLA_Tevd_v_opz_var1().