1 #ifndef BLAS_EXTENDED_TEST_H
2 #define BLAS_EXTENDED_TEST_H
3 
4 #define MAX_BAD_TESTS 100
5 #define TOTAL_FAILURE_THRESHOLD 1000
6 
7 double power(int i1, int i2);
8 double xrand(int *is);
9 int FixedBits(double r_true_l, double r_true_t);
10 
11 void ddmuld(double dda_l, double dda_t, double db, double *ddc_l,
12 	    double *ddc_t);
13 void ddadd(double dda_l, double dda_t, double ddb_l, double ddb_t,
14 	   double *ddc_l, double *ddc_t);
15 void dddiv(double dda_l, double dda_t, double ddb_l, double ddb_t,
16 	   double *ddc_l, double *ddc_t);
17 void z_dddivd(double *dda_l, double *dda_t, double *db, double *ddc_l,
18 	      double *ddc_t);
19 
20 void testgen_BLAS_sdot(int n, int n_fix2, int n_mix, int norm,
21 		       enum blas_conj_type conj, float *alpha, int alpha_flag,
22 		       float *beta, int beta_flag, float *x, float *y,
23 		       int *seed, float *r, double *r_true_l,
24 		       double *r_true_t);
25 
26 void testgen_BLAS_cdot(int n, int n_fix2, int n_mix, int norm,
27 		       enum blas_conj_type conj, void *alpha, int alpha_flag,
28 		       void *beta, int beta_flag, void *x, void *y, int *seed,
29 		       void *r, double r_true_l[], double r_true_t[]);
30 
31 void testgen_BLAS_ddot(int n, int n_fix2, int n_mix, int norm,
32 		       enum blas_conj_type conj, double *alpha,
33 		       int alpha_flag, double *beta, int beta_flag, double *x,
34 		       double *y, int *seed, double *r, double *r_true_l,
35 		       double *r_true_t);
36 
37 void testgen_BLAS_zdot(int n, int n_fix2, int n_mix, int norm,
38 		       enum blas_conj_type conj, void *alpha, int alpha_flag,
39 		       void *beta, int beta_flag, void *x, void *y, int *seed,
40 		       void *r, double r_true_l[], double r_true_t[]);
41 
42 void testgen_BLAS_sdot2(int n, int n_fix2, int n_mix, int norm,
43 			enum blas_conj_type conj, float *alpha,
44 			int alpha_flag, float *beta, int beta_flag,
45 			float *head_x, float *tail_x, float *y, int *seed,
46 			float *r, double *r_true_l, double *r_true_t);
47 
48 void testgen_BLAS_cdot2(int n, int n_fix2, int n_mix, int norm,
49 			enum blas_conj_type conj, void *alpha, int alpha_flag,
50 			void *beta, int beta_flag, void *head_x, void *tail_x,
51 			void *y, int *seed, void *r, double r_true_l[],
52 			double r_true_t[]);
53 
54 void testgen_BLAS_ddot2(int n, int n_fix2, int n_mix, int norm,
55 			enum blas_conj_type conj, double *alpha,
56 			int alpha_flag, double *beta, int beta_flag,
57 			double *head_x, double *tail_x, double *y, int *seed,
58 			double *r, double *r_true_l, double *r_true_t);
59 
60 void testgen_BLAS_zdot2(int n, int n_fix2, int n_mix, int norm,
61 			enum blas_conj_type conj, void *alpha, int alpha_flag,
62 			void *beta, int beta_flag, void *head_x, void *tail_x,
63 			void *y, int *seed, void *r, double r_true_l[],
64 			double r_true_t[]);
65 
66 
67 void BLAS_sdot_testgen(int n, int n_fix2, int n_mix, int norm,
68 		       enum blas_conj_type conj, float *alpha, int alpha_flag,
69 		       float *beta, int beta_flag, float *x, float *y,
70 		       int *seed, float *r, double *r_true_l,
71 		       double *r_true_t);
72 void BLAS_ddot_testgen(int n, int n_fix2, int n_mix, int norm,
73 		       enum blas_conj_type conj, double *alpha,
74 		       int alpha_flag, double *beta, int beta_flag, double *x,
75 		       double *y, int *seed, double *r, double *r_true_l,
76 		       double *r_true_t);
77 void BLAS_cdot_testgen(int n, int n_fix2, int n_mix, int norm,
78 		       enum blas_conj_type conj, void *alpha, int alpha_flag,
79 		       void *beta, int beta_flag, void *x, void *y, int *seed,
80 		       void *r, double *r_true_l, double *r_true_t);
81 void BLAS_zdot_testgen(int n, int n_fix2, int n_mix, int norm,
82 		       enum blas_conj_type conj, void *alpha, int alpha_flag,
83 		       void *beta, int beta_flag, void *x, void *y, int *seed,
84 		       void *r, double *r_true_l, double *r_true_t);
85 void BLAS_cdot_s_s_testgen(int n, int n_fix2, int n_mix, int norm,
86 			   enum blas_conj_type conj, void *alpha,
87 			   int alpha_flag, void *beta, int beta_flag,
88 			   float *x, float *y, int *seed, void *r,
89 			   double *r_true_l, double *r_true_t);
90 void BLAS_cdot_s_c_testgen(int n, int n_fix2, int n_mix, int norm,
91 			   enum blas_conj_type conj, void *alpha,
92 			   int alpha_flag, void *beta, int beta_flag,
93 			   float *x, void *y, int *seed, void *r,
94 			   double *r_true_l, double *r_true_t);
95 void BLAS_cdot_c_s_testgen(int n, int n_fix2, int n_mix, int norm,
96 			   enum blas_conj_type conj, void *alpha,
97 			   int alpha_flag, void *beta, int beta_flag, void *x,
98 			   float *y, int *seed, void *r, double *r_true_l,
99 			   double *r_true_t);
100 void BLAS_zdot_d_d_testgen(int n, int n_fix2, int n_mix, int norm,
101 			   enum blas_conj_type conj, void *alpha,
102 			   int alpha_flag, void *beta, int beta_flag,
103 			   double *x, double *y, int *seed, void *r,
104 			   double *r_true_l, double *r_true_t);
105 void BLAS_zdot_d_z_testgen(int n, int n_fix2, int n_mix, int norm,
106 			   enum blas_conj_type conj, void *alpha,
107 			   int alpha_flag, void *beta, int beta_flag,
108 			   double *x, void *y, int *seed, void *r,
109 			   double *r_true_l, double *r_true_t);
110 void BLAS_zdot_z_d_testgen(int n, int n_fix2, int n_mix, int norm,
111 			   enum blas_conj_type conj, void *alpha,
112 			   int alpha_flag, void *beta, int beta_flag, void *x,
113 			   double *y, int *seed, void *r, double *r_true_l,
114 			   double *r_true_t);
115 void BLAS_ddot_s_s_testgen(int n, int n_fix2, int n_mix, int norm,
116 			   enum blas_conj_type conj, double *alpha,
117 			   int alpha_flag, double *beta, int beta_flag,
118 			   float *x, float *y, int *seed, double *r,
119 			   double *r_true_l, double *r_true_t);
120 void BLAS_ddot_s_d_testgen(int n, int n_fix2, int n_mix, int norm,
121 			   enum blas_conj_type conj, double *alpha,
122 			   int alpha_flag, double *beta, int beta_flag,
123 			   float *x, double *y, int *seed, double *r,
124 			   double *r_true_l, double *r_true_t);
125 void BLAS_ddot_d_s_testgen(int n, int n_fix2, int n_mix, int norm,
126 			   enum blas_conj_type conj, double *alpha,
127 			   int alpha_flag, double *beta, int beta_flag,
128 			   double *x, float *y, int *seed, double *r,
129 			   double *r_true_l, double *r_true_t);
130 void BLAS_zdot_c_c_testgen(int n, int n_fix2, int n_mix, int norm,
131 			   enum blas_conj_type conj, void *alpha,
132 			   int alpha_flag, void *beta, int beta_flag, void *x,
133 			   void *y, int *seed, void *r, double *r_true_l,
134 			   double *r_true_t);
135 void BLAS_zdot_c_z_testgen(int n, int n_fix2, int n_mix, int norm,
136 			   enum blas_conj_type conj, void *alpha,
137 			   int alpha_flag, void *beta, int beta_flag, void *x,
138 			   void *y, int *seed, void *r, double *r_true_l,
139 			   double *r_true_t);
140 void BLAS_zdot_z_c_testgen(int n, int n_fix2, int n_mix, int norm,
141 			   enum blas_conj_type conj, void *alpha,
142 			   int alpha_flag, void *beta, int beta_flag, void *x,
143 			   void *y, int *seed, void *r, double *r_true_l,
144 			   double *r_true_t);
145 void scopy_vector(const float *x, int n, int incx, float *y, int incy);
146 void dcopy_vector(const double *x, int n, int incx, double *y, int incy);
147 void ccopy_vector(const void *x, int n, int incx, void *y, int incy);
148 void zcopy_vector(const void *x, int n, int incx, void *y, int incy);
149 
150 void sprint_vector(const float *x, int n, int inc, const char *name);
151 void dprint_vector(const double *x, int n, int inc, const char *name);
152 void cprint_vector(const void *x, int n, int inc, const char *name);
153 void zprint_vector(const void *x, int n, int inc, const char *name);
154 
155 void test_BLAS_sdot(int n, enum blas_conj_type conj, float alpha, float beta,
156 		    float rin, float rout, double r_true_l, double r_true_t,
157 		    float *x, int incx, float *y, int incy, double eps_int,
158 		    double un_int, double *test_ratio);
159 void test_BLAS_ddot(int n, enum blas_conj_type conj, double alpha,
160 		    double beta, double rin, double rout, double r_true_l,
161 		    double r_true_t, double *x, int incx, double *y, int incy,
162 		    double eps_int, double un_int, double *test_ratio);
163 void test_BLAS_cdot(int n, enum blas_conj_type conj, const void *alpha,
164 		    const void *beta, const void *rin, const void *rout,
165 		    double *r_true_l, double *r_true_t, void *x, int incx,
166 		    void *y, int incy, double eps_int, double un_int,
167 		    double *test_ratio);
168 void test_BLAS_zdot(int n, enum blas_conj_type conj, const void *alpha,
169 		    const void *beta, const void *rin, const void *rout,
170 		    double *r_true_l, double *r_true_t, void *x, int incx,
171 		    void *y, int incy, double eps_int, double un_int,
172 		    double *test_ratio);
173 void test_BLAS_cdot_s_s(int n, enum blas_conj_type conj, const void *alpha,
174 			const void *beta, const void *rin, const void *rout,
175 			double *r_true_l, double *r_true_t, float *x,
176 			int incx, float *y, int incy, double eps_int,
177 			double un_int, double *test_ratio);
178 void test_BLAS_cdot_s_c(int n, enum blas_conj_type conj, const void *alpha,
179 			const void *beta, const void *rin, const void *rout,
180 			double *r_true_l, double *r_true_t, float *x,
181 			int incx, void *y, int incy, double eps_int,
182 			double un_int, double *test_ratio);
183 void test_BLAS_cdot_c_s(int n, enum blas_conj_type conj, const void *alpha,
184 			const void *beta, const void *rin, const void *rout,
185 			double *r_true_l, double *r_true_t, void *x, int incx,
186 			float *y, int incy, double eps_int, double un_int,
187 			double *test_ratio);
188 void test_BLAS_zdot_d_d(int n, enum blas_conj_type conj, const void *alpha,
189 			const void *beta, const void *rin, const void *rout,
190 			double *r_true_l, double *r_true_t, double *x,
191 			int incx, double *y, int incy, double eps_int,
192 			double un_int, double *test_ratio);
193 void test_BLAS_zdot_d_z(int n, enum blas_conj_type conj, const void *alpha,
194 			const void *beta, const void *rin, const void *rout,
195 			double *r_true_l, double *r_true_t, double *x,
196 			int incx, void *y, int incy, double eps_int,
197 			double un_int, double *test_ratio);
198 void test_BLAS_zdot_z_d(int n, enum blas_conj_type conj, const void *alpha,
199 			const void *beta, const void *rin, const void *rout,
200 			double *r_true_l, double *r_true_t, void *x, int incx,
201 			double *y, int incy, double eps_int, double un_int,
202 			double *test_ratio);
203 void test_BLAS_ddot_s_s(int n, enum blas_conj_type conj, double alpha,
204 			double beta, double rin, double rout, double r_true_l,
205 			double r_true_t, float *x, int incx, float *y,
206 			int incy, double eps_int, double un_int,
207 			double *test_ratio);
208 void test_BLAS_ddot_s_d(int n, enum blas_conj_type conj, double alpha,
209 			double beta, double rin, double rout, double r_true_l,
210 			double r_true_t, float *x, int incx, double *y,
211 			int incy, double eps_int, double un_int,
212 			double *test_ratio);
213 void test_BLAS_ddot_d_s(int n, enum blas_conj_type conj, double alpha,
214 			double beta, double rin, double rout, double r_true_l,
215 			double r_true_t, double *x, int incx, float *y,
216 			int incy, double eps_int, double un_int,
217 			double *test_ratio);
218 void test_BLAS_zdot_c_c(int n, enum blas_conj_type conj, const void *alpha,
219 			const void *beta, const void *rin, const void *rout,
220 			double *r_true_l, double *r_true_t, void *x, int incx,
221 			void *y, int incy, double eps_int, double un_int,
222 			double *test_ratio);
223 void test_BLAS_zdot_c_z(int n, enum blas_conj_type conj, const void *alpha,
224 			const void *beta, const void *rin, const void *rout,
225 			double *r_true_l, double *r_true_t, void *x, int incx,
226 			void *y, int incy, double eps_int, double un_int,
227 			double *test_ratio);
228 void test_BLAS_zdot_z_c(int n, enum blas_conj_type conj, const void *alpha,
229 			const void *beta, const void *rin, const void *rout,
230 			double *r_true_l, double *r_true_t, void *x, int incx,
231 			void *y, int incy, double eps_int, double un_int,
232 			double *test_ratio);
233 
234 void BLAS_sdot2_testgen(int n, int n_fix2, int n_mix, int norm,
235 			enum blas_conj_type conj, float *alpha,
236 			int alpha_flag, float *beta, int beta_flag,
237 			float *head_x, float *tail_x, float *y, int *seed,
238 			float *r, double *r_true_l, double *r_true_t);
239 void BLAS_ddot2_testgen(int n, int n_fix2, int n_mix, int norm,
240 			enum blas_conj_type conj, double *alpha,
241 			int alpha_flag, double *beta, int beta_flag,
242 			double *head_x, double *tail_x, double *y, int *seed,
243 			double *r, double *r_true_l, double *r_true_t);
244 void BLAS_cdot2_testgen(int n, int n_fix2, int n_mix, int norm,
245 			enum blas_conj_type conj, void *alpha, int alpha_flag,
246 			void *beta, int beta_flag, void *head_x, void *tail_x,
247 			void *y, int *seed, void *r, double *r_true_l,
248 			double *r_true_t);
249 void BLAS_zdot2_testgen(int n, int n_fix2, int n_mix, int norm,
250 			enum blas_conj_type conj, void *alpha, int alpha_flag,
251 			void *beta, int beta_flag, void *head_x, void *tail_x,
252 			void *y, int *seed, void *r, double *r_true_l,
253 			double *r_true_t);
254 void BLAS_cdot2_s_s_testgen(int n, int n_fix2, int n_mix, int norm,
255 			    enum blas_conj_type conj, void *alpha,
256 			    int alpha_flag, void *beta, int beta_flag,
257 			    float *head_x, float *tail_x, float *y, int *seed,
258 			    void *r, double *r_true_l, double *r_true_t);
259 void BLAS_cdot2_s_c_testgen(int n, int n_fix2, int n_mix, int norm,
260 			    enum blas_conj_type conj, void *alpha,
261 			    int alpha_flag, void *beta, int beta_flag,
262 			    float *head_x, float *tail_x, void *y, int *seed,
263 			    void *r, double *r_true_l, double *r_true_t);
264 void BLAS_cdot2_c_s_testgen(int n, int n_fix2, int n_mix, int norm,
265 			    enum blas_conj_type conj, void *alpha,
266 			    int alpha_flag, void *beta, int beta_flag,
267 			    void *head_x, void *tail_x, float *y, int *seed,
268 			    void *r, double *r_true_l, double *r_true_t);
269 void BLAS_zdot2_d_d_testgen(int n, int n_fix2, int n_mix, int norm,
270 			    enum blas_conj_type conj, void *alpha,
271 			    int alpha_flag, void *beta, int beta_flag,
272 			    double *head_x, double *tail_x, double *y,
273 			    int *seed, void *r, double *r_true_l,
274 			    double *r_true_t);
275 void BLAS_zdot2_d_z_testgen(int n, int n_fix2, int n_mix, int norm,
276 			    enum blas_conj_type conj, void *alpha,
277 			    int alpha_flag, void *beta, int beta_flag,
278 			    double *head_x, double *tail_x, void *y,
279 			    int *seed, void *r, double *r_true_l,
280 			    double *r_true_t);
281 void BLAS_zdot2_z_d_testgen(int n, int n_fix2, int n_mix, int norm,
282 			    enum blas_conj_type conj, void *alpha,
283 			    int alpha_flag, void *beta, int beta_flag,
284 			    void *head_x, void *tail_x, double *y, int *seed,
285 			    void *r, double *r_true_l, double *r_true_t);
286 void BLAS_ddot2_s_s_testgen(int n, int n_fix2, int n_mix, int norm,
287 			    enum blas_conj_type conj, double *alpha,
288 			    int alpha_flag, double *beta, int beta_flag,
289 			    float *head_x, float *tail_x, float *y, int *seed,
290 			    double *r, double *r_true_l, double *r_true_t);
291 void BLAS_ddot2_s_d_testgen(int n, int n_fix2, int n_mix, int norm,
292 			    enum blas_conj_type conj, double *alpha,
293 			    int alpha_flag, double *beta, int beta_flag,
294 			    float *head_x, float *tail_x, double *y,
295 			    int *seed, double *r, double *r_true_l,
296 			    double *r_true_t);
297 void BLAS_ddot2_d_s_testgen(int n, int n_fix2, int n_mix, int norm,
298 			    enum blas_conj_type conj, double *alpha,
299 			    int alpha_flag, double *beta, int beta_flag,
300 			    double *head_x, double *tail_x, float *y,
301 			    int *seed, double *r, double *r_true_l,
302 			    double *r_true_t);
303 void BLAS_zdot2_c_c_testgen(int n, int n_fix2, int n_mix, int norm,
304 			    enum blas_conj_type conj, void *alpha,
305 			    int alpha_flag, void *beta, int beta_flag,
306 			    void *head_x, void *tail_x, void *y, int *seed,
307 			    void *r, double *r_true_l, double *r_true_t);
308 void BLAS_zdot2_c_z_testgen(int n, int n_fix2, int n_mix, int norm,
309 			    enum blas_conj_type conj, void *alpha,
310 			    int alpha_flag, void *beta, int beta_flag,
311 			    void *head_x, void *tail_x, void *y, int *seed,
312 			    void *r, double *r_true_l, double *r_true_t);
313 void BLAS_zdot2_z_c_testgen(int n, int n_fix2, int n_mix, int norm,
314 			    enum blas_conj_type conj, void *alpha,
315 			    int alpha_flag, void *beta, int beta_flag,
316 			    void *head_x, void *tail_x, void *y, int *seed,
317 			    void *r, double *r_true_l, double *r_true_t);
318 void BLAS_sdot2_x(enum blas_conj_type conj, int n, float alpha,
319 		  const float *x, int incx, float beta, const float *head_y,
320 		  const float *tail_y, int incy, float *r,
321 		  enum blas_prec_type prec);
322 void BLAS_ddot2_x(enum blas_conj_type conj, int n, double alpha,
323 		  const double *x, int incx, double beta,
324 		  const double *head_y, const double *tail_y, int incy,
325 		  double *r, enum blas_prec_type prec);
326 void BLAS_cdot2_x(enum blas_conj_type conj, int n, const void *alpha,
327 		  const void *x, int incx, const void *beta,
328 		  const void *head_y, const void *tail_y, int incy, void *r,
329 		  enum blas_prec_type prec);
330 void BLAS_zdot2_x(enum blas_conj_type conj, int n, const void *alpha,
331 		  const void *x, int incx, const void *beta,
332 		  const void *head_y, const void *tail_y, int incy, void *r,
333 		  enum blas_prec_type prec);
334 void s_r_truth2(enum blas_conj_type conj, int n, float alpha, const float *x,
335 		int incx, float beta, const float *head_y,
336 		const float *tail_y, int incy, float *r, double *head_r_true,
337 		double *tail_r_true);
338 void d_r_truth2(enum blas_conj_type conj, int n, double alpha,
339 		const double *x, int incx, double beta, const double *head_y,
340 		const double *tail_y, int incy, double *r,
341 		double *head_r_true, double *tail_r_true);
342 void c_r_truth2(enum blas_conj_type conj, int n, const void *alpha,
343 		const void *x, int incx, const void *beta, const void *head_y,
344 		const void *tail_y, int incy, void *r, double *head_r_true,
345 		double *tail_r_true);
346 void z_r_truth2(enum blas_conj_type conj, int n, const void *alpha,
347 		const void *x, int incx, const void *beta, const void *head_y,
348 		const void *tail_y, int incy, void *r, double *head_r_true,
349 		double *tail_r_true);
350 
351 void test_BLAS_sdot2(int n, enum blas_conj_type conj, float alpha, float beta,
352 		     float rin, float rout, double r_true_l, double r_true_t,
353 		     float *x, int incx, float *head_y, float *tail_y,
354 		     int incy, double eps_int, double un_int,
355 		     double *test_ratio);
356 void test_BLAS_ddot2(int n, enum blas_conj_type conj, double alpha,
357 		     double beta, double rin, double rout, double r_true_l,
358 		     double r_true_t, double *x, int incx, double *head_y,
359 		     double *tail_y, int incy, double eps_int, double un_int,
360 		     double *test_ratio);
361 void test_BLAS_cdot2(int n, enum blas_conj_type conj, const void *alpha,
362 		     const void *beta, const void *rin, const void *rout,
363 		     double *r_true_l, double *r_true_t, void *x, int incx,
364 		     void *head_y, void *tail_y, int incy, double eps_int,
365 		     double un_int, double *test_ratio);
366 void test_BLAS_zdot2(int n, enum blas_conj_type conj, const void *alpha,
367 		     const void *beta, const void *rin, const void *rout,
368 		     double *r_true_l, double *r_true_t, void *x, int incx,
369 		     void *head_y, void *tail_y, int incy, double eps_int,
370 		     double un_int, double *test_ratio);
371 void test_BLAS_cdot2_s_s(int n, enum blas_conj_type conj, const void *alpha,
372 			 const void *beta, const void *rin, const void *rout,
373 			 double *r_true_l, double *r_true_t, float *x,
374 			 int incx, float *head_y, float *tail_y, int incy,
375 			 double eps_int, double un_int, double *test_ratio);
376 void test_BLAS_cdot2_s_c(int n, enum blas_conj_type conj, const void *alpha,
377 			 const void *beta, const void *rin, const void *rout,
378 			 double *r_true_l, double *r_true_t, float *x,
379 			 int incx, void *head_y, void *tail_y, int incy,
380 			 double eps_int, double un_int, double *test_ratio);
381 void test_BLAS_cdot2_c_s(int n, enum blas_conj_type conj, const void *alpha,
382 			 const void *beta, const void *rin, const void *rout,
383 			 double *r_true_l, double *r_true_t, void *x,
384 			 int incx, float *head_y, float *tail_y, int incy,
385 			 double eps_int, double un_int, double *test_ratio);
386 void test_BLAS_zdot2_d_d(int n, enum blas_conj_type conj, const void *alpha,
387 			 const void *beta, const void *rin, const void *rout,
388 			 double *r_true_l, double *r_true_t, double *x,
389 			 int incx, double *head_y, double *tail_y, int incy,
390 			 double eps_int, double un_int, double *test_ratio);
391 void test_BLAS_zdot2_d_z(int n, enum blas_conj_type conj, const void *alpha,
392 			 const void *beta, const void *rin, const void *rout,
393 			 double *r_true_l, double *r_true_t, double *x,
394 			 int incx, void *head_y, void *tail_y, int incy,
395 			 double eps_int, double un_int, double *test_ratio);
396 void test_BLAS_zdot2_z_d(int n, enum blas_conj_type conj, const void *alpha,
397 			 const void *beta, const void *rin, const void *rout,
398 			 double *r_true_l, double *r_true_t, void *x,
399 			 int incx, double *head_y, double *tail_y, int incy,
400 			 double eps_int, double un_int, double *test_ratio);
401 void test_BLAS_ddot2_s_s(int n, enum blas_conj_type conj, double alpha,
402 			 double beta, double rin, double rout,
403 			 double r_true_l, double r_true_t, float *x, int incx,
404 			 float *head_y, float *tail_y, int incy,
405 			 double eps_int, double un_int, double *test_ratio);
406 void test_BLAS_ddot2_s_d(int n, enum blas_conj_type conj, double alpha,
407 			 double beta, double rin, double rout,
408 			 double r_true_l, double r_true_t, float *x, int incx,
409 			 double *head_y, double *tail_y, int incy,
410 			 double eps_int, double un_int, double *test_ratio);
411 void test_BLAS_ddot2_d_s(int n, enum blas_conj_type conj, double alpha,
412 			 double beta, double rin, double rout,
413 			 double r_true_l, double r_true_t, double *x,
414 			 int incx, float *head_y, float *tail_y, int incy,
415 			 double eps_int, double un_int, double *test_ratio);
416 void test_BLAS_zdot2_c_c(int n, enum blas_conj_type conj, const void *alpha,
417 			 const void *beta, const void *rin, const void *rout,
418 			 double *r_true_l, double *r_true_t, void *x,
419 			 int incx, void *head_y, void *tail_y, int incy,
420 			 double eps_int, double un_int, double *test_ratio);
421 void test_BLAS_zdot2_c_z(int n, enum blas_conj_type conj, const void *alpha,
422 			 const void *beta, const void *rin, const void *rout,
423 			 double *r_true_l, double *r_true_t, void *x,
424 			 int incx, void *head_y, void *tail_y, int incy,
425 			 double eps_int, double un_int, double *test_ratio);
426 void test_BLAS_zdot2_z_c(int n, enum blas_conj_type conj, const void *alpha,
427 			 const void *beta, const void *rin, const void *rout,
428 			 double *r_true_l, double *r_true_t, void *x,
429 			 int incx, void *head_y, void *tail_y, int incy,
430 			 double eps_int, double un_int, double *test_ratio);
431 
432 
433 void BLAS_sgemv_testgen(int norm, enum blas_order_type order,
434 			enum blas_trans_type trans, int m, int n,
435 			float *alpha, int alpha_flag, float *A, int lda,
436 			float *x, float *beta, int beta_flag, float *y,
437 			int *seed, double *r_true_l, double *r_true_t);
438 void BLAS_dgemv_testgen(int norm, enum blas_order_type order,
439 			enum blas_trans_type trans, int m, int n,
440 			double *alpha, int alpha_flag, double *A, int lda,
441 			double *x, double *beta, int beta_flag, double *y,
442 			int *seed, double *r_true_l, double *r_true_t);
443 void BLAS_cgemv_testgen(int norm, enum blas_order_type order,
444 			enum blas_trans_type trans, int m, int n, void *alpha,
445 			int alpha_flag, void *A, int lda, void *x, void *beta,
446 			int beta_flag, void *y, int *seed, double *r_true_l,
447 			double *r_true_t);
448 void BLAS_zgemv_testgen(int norm, enum blas_order_type order,
449 			enum blas_trans_type trans, int m, int n, void *alpha,
450 			int alpha_flag, void *A, int lda, void *x, void *beta,
451 			int beta_flag, void *y, int *seed, double *r_true_l,
452 			double *r_true_t);
453 void BLAS_cgemv_s_s_testgen(int norm, enum blas_order_type order,
454 			    enum blas_trans_type trans, int m, int n,
455 			    void *alpha, int alpha_flag, float *A, int lda,
456 			    float *x, void *beta, int beta_flag, void *y,
457 			    int *seed, double *r_true_l, double *r_true_t);
458 void BLAS_cgemv_s_c_testgen(int norm, enum blas_order_type order,
459 			    enum blas_trans_type trans, int m, int n,
460 			    void *alpha, int alpha_flag, float *A, int lda,
461 			    void *x, void *beta, int beta_flag, void *y,
462 			    int *seed, double *r_true_l, double *r_true_t);
463 void BLAS_cgemv_c_s_testgen(int norm, enum blas_order_type order,
464 			    enum blas_trans_type trans, int m, int n,
465 			    void *alpha, int alpha_flag, void *A, int lda,
466 			    float *x, void *beta, int beta_flag, void *y,
467 			    int *seed, double *r_true_l, double *r_true_t);
468 void BLAS_zgemv_d_d_testgen(int norm, enum blas_order_type order,
469 			    enum blas_trans_type trans, int m, int n,
470 			    void *alpha, int alpha_flag, double *A, int lda,
471 			    double *x, void *beta, int beta_flag, void *y,
472 			    int *seed, double *r_true_l, double *r_true_t);
473 void BLAS_zgemv_d_z_testgen(int norm, enum blas_order_type order,
474 			    enum blas_trans_type trans, int m, int n,
475 			    void *alpha, int alpha_flag, double *A, int lda,
476 			    void *x, void *beta, int beta_flag, void *y,
477 			    int *seed, double *r_true_l, double *r_true_t);
478 void BLAS_zgemv_z_d_testgen(int norm, enum blas_order_type order,
479 			    enum blas_trans_type trans, int m, int n,
480 			    void *alpha, int alpha_flag, void *A, int lda,
481 			    double *x, void *beta, int beta_flag, void *y,
482 			    int *seed, double *r_true_l, double *r_true_t);
483 void BLAS_dgemv_s_s_testgen(int norm, enum blas_order_type order,
484 			    enum blas_trans_type trans, int m, int n,
485 			    double *alpha, int alpha_flag, float *A, int lda,
486 			    float *x, double *beta, int beta_flag, double *y,
487 			    int *seed, double *r_true_l, double *r_true_t);
488 void BLAS_dgemv_s_d_testgen(int norm, enum blas_order_type order,
489 			    enum blas_trans_type trans, int m, int n,
490 			    double *alpha, int alpha_flag, float *A, int lda,
491 			    double *x, double *beta, int beta_flag, double *y,
492 			    int *seed, double *r_true_l, double *r_true_t);
493 void BLAS_dgemv_d_s_testgen(int norm, enum blas_order_type order,
494 			    enum blas_trans_type trans, int m, int n,
495 			    double *alpha, int alpha_flag, double *A, int lda,
496 			    float *x, double *beta, int beta_flag, double *y,
497 			    int *seed, double *r_true_l, double *r_true_t);
498 void BLAS_zgemv_c_c_testgen(int norm, enum blas_order_type order,
499 			    enum blas_trans_type trans, int m, int n,
500 			    void *alpha, int alpha_flag, void *A, int lda,
501 			    void *x, void *beta, int beta_flag, void *y,
502 			    int *seed, double *r_true_l, double *r_true_t);
503 void BLAS_zgemv_c_z_testgen(int norm, enum blas_order_type order,
504 			    enum blas_trans_type trans, int m, int n,
505 			    void *alpha, int alpha_flag, void *A, int lda,
506 			    void *x, void *beta, int beta_flag, void *y,
507 			    int *seed, double *r_true_l, double *r_true_t);
508 void BLAS_zgemv_z_c_testgen(int norm, enum blas_order_type order,
509 			    enum blas_trans_type trans, int m, int n,
510 			    void *alpha, int alpha_flag, void *A, int lda,
511 			    void *x, void *beta, int beta_flag, void *y,
512 			    int *seed, double *r_true_l, double *r_true_t);
513 
514 
515 
516 void sge_commit_row(enum blas_order_type order, enum blas_trans_type trans,
517 		    int m, int n, float *a, int lda, float *a_vec, int row);
518 void dge_commit_row(enum blas_order_type order, enum blas_trans_type trans,
519 		    int m, int n, double *a, int lda, double *a_vec, int row);
520 void cge_commit_row(enum blas_order_type order, enum blas_trans_type trans,
521 		    int m, int n, void *a, int lda, void *a_vec, int row);
522 void zge_commit_row(enum blas_order_type order, enum blas_trans_type trans,
523 		    int m, int n, void *a, int lda, void *a_vec, int row);
524 
525 void sge_commit_col(enum blas_order_type order, enum blas_trans_type trans,
526 		    int m, int n, float *a, int lda, float *a_vec, int col);
527 void dge_commit_col(enum blas_order_type order, enum blas_trans_type trans,
528 		    int m, int n, double *a, int lda, double *a_vec, int col);
529 void cge_commit_col(enum blas_order_type order, enum blas_trans_type trans,
530 		    int m, int n, void *a, int lda, void *a_vec, int col);
531 void zge_commit_col(enum blas_order_type order, enum blas_trans_type trans,
532 		    int m, int n, void *a, int lda, void *a_vec, int col);
533 
534 void sge_copy_row(enum blas_order_type order, enum blas_trans_type trans,
535 		  int m, int n, float *a, int lda, float *a_vec, int row);
536 void dge_copy_row(enum blas_order_type order, enum blas_trans_type trans,
537 		  int m, int n, double *a, int lda, double *a_vec, int row);
538 void cge_copy_row(enum blas_order_type order, enum blas_trans_type trans,
539 		  int m, int n, void *a, int lda, void *a_vec, int row);
540 void zge_copy_row(enum blas_order_type order, enum blas_trans_type trans,
541 		  int m, int n, void *a, int lda, void *a_vec, int row);
542 
543 void sge_copy_col(enum blas_order_type order, enum blas_trans_type trans,
544 		  int m, int n, float *a, int lda, float *a_vec, int col);
545 void dge_copy_col(enum blas_order_type order, enum blas_trans_type trans,
546 		  int m, int n, double *a, int lda, double *a_vec, int col);
547 void cge_copy_col(enum blas_order_type order, enum blas_trans_type trans,
548 		  int m, int n, void *a, int lda, void *a_vec, int col);
549 void zge_copy_col(enum blas_order_type order, enum blas_trans_type trans,
550 		  int m, int n, void *a, int lda, void *a_vec, int col);
551 
552 void sge_copy_matrix(enum blas_order_type order, int m, int n, float *a,
553 		     int lda, float *b, int ldb);
554 void dge_copy_matrix(enum blas_order_type order, int m, int n, double *a,
555 		     int lda, double *b, int ldb);
556 void cge_copy_matrix(enum blas_order_type order, int m, int n, void *a,
557 		     int lda, void *b, int ldb);
558 void zge_copy_matrix(enum blas_order_type order, int m, int n, void *a,
559 		     int lda, void *b, int ldb);
560 
561 void sge_print_matrix(float *a, int m, int n, int lda,
562 		      enum blas_order_type order, const char *name);
563 void dge_print_matrix(double *a, int m, int n, int lda,
564 		      enum blas_order_type order, const char *name);
565 void cge_print_matrix(void *a, int m, int n, int lda,
566 		      enum blas_order_type order, const char *name);
567 void zge_print_matrix(void *a, int m, int n, int lda,
568 		      enum blas_order_type order, const char *name);
569 
570 
571 void BLAS_sgbmv_testgen(int norm, enum blas_order_type order,
572 			enum blas_trans_type trans, int m, int n, int kl,
573 			int ku, float *alpha, int alpha_flag, float *AB,
574 			int lda, float *x, float *beta, int beta_flag,
575 			float *y, int *seed, double *r_true_l,
576 			double *r_true_t);
577 void BLAS_dgbmv_testgen(int norm, enum blas_order_type order,
578 			enum blas_trans_type trans, int m, int n, int kl,
579 			int ku, double *alpha, int alpha_flag, double *AB,
580 			int lda, double *x, double *beta, int beta_flag,
581 			double *y, int *seed, double *r_true_l,
582 			double *r_true_t);
583 void BLAS_cgbmv_testgen(int norm, enum blas_order_type order,
584 			enum blas_trans_type trans, int m, int n, int kl,
585 			int ku, void *alpha, int alpha_flag, void *AB,
586 			int lda, void *x, void *beta, int beta_flag, void *y,
587 			int *seed, double *r_true_l, double *r_true_t);
588 void BLAS_zgbmv_testgen(int norm, enum blas_order_type order,
589 			enum blas_trans_type trans, int m, int n, int kl,
590 			int ku, void *alpha, int alpha_flag, void *AB,
591 			int lda, void *x, void *beta, int beta_flag, void *y,
592 			int *seed, double *r_true_l, double *r_true_t);
593 void BLAS_cgbmv_s_s_testgen(int norm, enum blas_order_type order,
594 			    enum blas_trans_type trans, int m, int n, int kl,
595 			    int ku, void *alpha, int alpha_flag, float *AB,
596 			    int lda, float *x, void *beta, int beta_flag,
597 			    void *y, int *seed, double *r_true_l,
598 			    double *r_true_t);
599 void BLAS_cgbmv_s_c_testgen(int norm, enum blas_order_type order,
600 			    enum blas_trans_type trans, int m, int n, int kl,
601 			    int ku, void *alpha, int alpha_flag, float *AB,
602 			    int lda, void *x, void *beta, int beta_flag,
603 			    void *y, int *seed, double *r_true_l,
604 			    double *r_true_t);
605 void BLAS_cgbmv_c_s_testgen(int norm, enum blas_order_type order,
606 			    enum blas_trans_type trans, int m, int n, int kl,
607 			    int ku, void *alpha, int alpha_flag, void *AB,
608 			    int lda, float *x, void *beta, int beta_flag,
609 			    void *y, int *seed, double *r_true_l,
610 			    double *r_true_t);
611 void BLAS_zgbmv_d_d_testgen(int norm, enum blas_order_type order,
612 			    enum blas_trans_type trans, int m, int n, int kl,
613 			    int ku, void *alpha, int alpha_flag, double *AB,
614 			    int lda, double *x, void *beta, int beta_flag,
615 			    void *y, int *seed, double *r_true_l,
616 			    double *r_true_t);
617 void BLAS_zgbmv_d_z_testgen(int norm, enum blas_order_type order,
618 			    enum blas_trans_type trans, int m, int n, int kl,
619 			    int ku, void *alpha, int alpha_flag, double *AB,
620 			    int lda, void *x, void *beta, int beta_flag,
621 			    void *y, int *seed, double *r_true_l,
622 			    double *r_true_t);
623 void BLAS_zgbmv_z_d_testgen(int norm, enum blas_order_type order,
624 			    enum blas_trans_type trans, int m, int n, int kl,
625 			    int ku, void *alpha, int alpha_flag, void *AB,
626 			    int lda, double *x, void *beta, int beta_flag,
627 			    void *y, int *seed, double *r_true_l,
628 			    double *r_true_t);
629 void BLAS_dgbmv_s_s_testgen(int norm, enum blas_order_type order,
630 			    enum blas_trans_type trans, int m, int n, int kl,
631 			    int ku, double *alpha, int alpha_flag, float *AB,
632 			    int lda, float *x, double *beta, int beta_flag,
633 			    double *y, int *seed, double *r_true_l,
634 			    double *r_true_t);
635 void BLAS_dgbmv_s_d_testgen(int norm, enum blas_order_type order,
636 			    enum blas_trans_type trans, int m, int n, int kl,
637 			    int ku, double *alpha, int alpha_flag, float *AB,
638 			    int lda, double *x, double *beta, int beta_flag,
639 			    double *y, int *seed, double *r_true_l,
640 			    double *r_true_t);
641 void BLAS_dgbmv_d_s_testgen(int norm, enum blas_order_type order,
642 			    enum blas_trans_type trans, int m, int n, int kl,
643 			    int ku, double *alpha, int alpha_flag, double *AB,
644 			    int lda, float *x, double *beta, int beta_flag,
645 			    double *y, int *seed, double *r_true_l,
646 			    double *r_true_t);
647 void BLAS_zgbmv_c_c_testgen(int norm, enum blas_order_type order,
648 			    enum blas_trans_type trans, int m, int n, int kl,
649 			    int ku, void *alpha, int alpha_flag, void *AB,
650 			    int lda, void *x, void *beta, int beta_flag,
651 			    void *y, int *seed, double *r_true_l,
652 			    double *r_true_t);
653 void BLAS_zgbmv_c_z_testgen(int norm, enum blas_order_type order,
654 			    enum blas_trans_type trans, int m, int n, int kl,
655 			    int ku, void *alpha, int alpha_flag, void *AB,
656 			    int lda, void *x, void *beta, int beta_flag,
657 			    void *y, int *seed, double *r_true_l,
658 			    double *r_true_t);
659 void BLAS_zgbmv_z_c_testgen(int norm, enum blas_order_type order,
660 			    enum blas_trans_type trans, int m, int n, int kl,
661 			    int ku, void *alpha, int alpha_flag, void *AB,
662 			    int lda, void *x, void *beta, int beta_flag,
663 			    void *y, int *seed, double *r_true_l,
664 			    double *r_true_t);
665 
666 void sgbmv_prepare(enum blas_order_type order, enum blas_trans_type trans,
667 		   int m, int n, int kl, int ku, float *AB, int lda, float *y,
668 		   int row, int *nfix2, int *nmix, int *ysize);
669 void cgbmv_prepare(enum blas_order_type order, enum blas_trans_type trans,
670 		   int m, int n, int kl, int ku, void *AB, int lda, void *y,
671 		   int row, int *nfix2, int *nmix, int *ysize);
672 void dgbmv_prepare(enum blas_order_type order, enum blas_trans_type trans,
673 		   int m, int n, int kl, int ku, double *AB, int lda,
674 		   double *y, int row, int *nfix2, int *nmix, int *ysize);
675 void zgbmv_prepare(enum blas_order_type order, enum blas_trans_type trans,
676 		   int m, int n, int kl, int ku, void *AB, int lda, void *y,
677 		   int row, int *nfix2, int *nmix, int *ysize);
678 
679 
680 void sgbmv_commit(enum blas_order_type order, enum blas_trans_type trans,
681 		  int m, int n, int kl, int ku, float *AB, int lda, float *y,
682 		  int row);
683 void cgbmv_commit(enum blas_order_type order, enum blas_trans_type trans,
684 		  int m, int n, int kl, int ku, void *AB, int lda, void *y,
685 		  int row);
686 void dgbmv_commit(enum blas_order_type order, enum blas_trans_type trans,
687 		  int m, int n, int kl, int ku, double *AB, int lda,
688 		  double *y, int row);
689 void zgbmv_commit(enum blas_order_type order, enum blas_trans_type trans,
690 		  int m, int n, int kl, int ku, void *AB, int lda, void *y,
691 		  int row);
692 
693 
694 void sgbmv_copy(enum blas_order_type order, enum blas_trans_type trans, int m,
695 		int n, int kl, int ku, const float *AB, int lda, float *y,
696 		int row);
697 void cgbmv_copy(enum blas_order_type order, enum blas_trans_type trans, int m,
698 		int n, int kl, int ku, const void *AB, int lda, void *y,
699 		int row);
700 void dgbmv_copy(enum blas_order_type order, enum blas_trans_type trans, int m,
701 		int n, int kl, int ku, const double *AB, int lda, double *y,
702 		int row);
703 void zgbmv_copy(enum blas_order_type order, enum blas_trans_type trans, int m,
704 		int n, int kl, int ku, const void *AB, int lda, void *y,
705 		int row);
706 
707 
708 void BLAS_sgemm_testgen(int norm, enum blas_order_type order,
709 			enum blas_trans_type transa,
710 			enum blas_trans_type transb, int m, int n, int k,
711 			int randomize, float *alpha, int alpha_flag, float *a,
712 			int lda, float *beta, int beta_flag, float *b,
713 			int ldb, float *c, int ldc, int *seed,
714 			double *head_r_true, double *tail_r_true);
715 void BLAS_dgemm_testgen(int norm, enum blas_order_type order,
716 			enum blas_trans_type transa,
717 			enum blas_trans_type transb, int m, int n, int k,
718 			int randomize, double *alpha, int alpha_flag,
719 			double *a, int lda, double *beta, int beta_flag,
720 			double *b, int ldb, double *c, int ldc, int *seed,
721 			double *head_r_true, double *tail_r_true);
722 void BLAS_cgemm_testgen(int norm, enum blas_order_type order,
723 			enum blas_trans_type transa,
724 			enum blas_trans_type transb, int m, int n, int k,
725 			int randomize, void *alpha, int alpha_flag, void *a,
726 			int lda, void *beta, int beta_flag, void *b, int ldb,
727 			void *c, int ldc, int *seed, double *head_r_true,
728 			double *tail_r_true);
729 void BLAS_zgemm_testgen(int norm, enum blas_order_type order,
730 			enum blas_trans_type transa,
731 			enum blas_trans_type transb, int m, int n, int k,
732 			int randomize, void *alpha, int alpha_flag, void *a,
733 			int lda, void *beta, int beta_flag, void *b, int ldb,
734 			void *c, int ldc, int *seed, double *head_r_true,
735 			double *tail_r_true);
736 void BLAS_cgemm_s_s_testgen(int norm, enum blas_order_type order,
737 			    enum blas_trans_type transa,
738 			    enum blas_trans_type transb, int m, int n, int k,
739 			    int randomize, void *alpha, int alpha_flag,
740 			    float *a, int lda, void *beta, int beta_flag,
741 			    float *b, int ldb, void *c, int ldc, int *seed,
742 			    double *head_r_true, double *tail_r_true);
743 void BLAS_cgemm_s_c_testgen(int norm, enum blas_order_type order,
744 			    enum blas_trans_type transa,
745 			    enum blas_trans_type transb, int m, int n, int k,
746 			    int randomize, void *alpha, int alpha_flag,
747 			    float *a, int lda, void *beta, int beta_flag,
748 			    void *b, int ldb, void *c, int ldc, int *seed,
749 			    double *head_r_true, double *tail_r_true);
750 void BLAS_cgemm_c_s_testgen(int norm, enum blas_order_type order,
751 			    enum blas_trans_type transa,
752 			    enum blas_trans_type transb, int m, int n, int k,
753 			    int randomize, void *alpha, int alpha_flag,
754 			    void *a, int lda, void *beta, int beta_flag,
755 			    float *b, int ldb, void *c, int ldc, int *seed,
756 			    double *head_r_true, double *tail_r_true);
757 void BLAS_zgemm_d_d_testgen(int norm, enum blas_order_type order,
758 			    enum blas_trans_type transa,
759 			    enum blas_trans_type transb, int m, int n, int k,
760 			    int randomize, void *alpha, int alpha_flag,
761 			    double *a, int lda, void *beta, int beta_flag,
762 			    double *b, int ldb, void *c, int ldc, int *seed,
763 			    double *head_r_true, double *tail_r_true);
764 void BLAS_zgemm_d_z_testgen(int norm, enum blas_order_type order,
765 			    enum blas_trans_type transa,
766 			    enum blas_trans_type transb, int m, int n, int k,
767 			    int randomize, void *alpha, int alpha_flag,
768 			    double *a, int lda, void *beta, int beta_flag,
769 			    void *b, int ldb, void *c, int ldc, int *seed,
770 			    double *head_r_true, double *tail_r_true);
771 void BLAS_zgemm_z_d_testgen(int norm, enum blas_order_type order,
772 			    enum blas_trans_type transa,
773 			    enum blas_trans_type transb, int m, int n, int k,
774 			    int randomize, void *alpha, int alpha_flag,
775 			    void *a, int lda, void *beta, int beta_flag,
776 			    double *b, int ldb, void *c, int ldc, int *seed,
777 			    double *head_r_true, double *tail_r_true);
778 void BLAS_dgemm_s_s_testgen(int norm, enum blas_order_type order,
779 			    enum blas_trans_type transa,
780 			    enum blas_trans_type transb, int m, int n, int k,
781 			    int randomize, double *alpha, int alpha_flag,
782 			    float *a, int lda, double *beta, int beta_flag,
783 			    float *b, int ldb, double *c, int ldc, int *seed,
784 			    double *head_r_true, double *tail_r_true);
785 void BLAS_dgemm_s_d_testgen(int norm, enum blas_order_type order,
786 			    enum blas_trans_type transa,
787 			    enum blas_trans_type transb, int m, int n, int k,
788 			    int randomize, double *alpha, int alpha_flag,
789 			    float *a, int lda, double *beta, int beta_flag,
790 			    double *b, int ldb, double *c, int ldc, int *seed,
791 			    double *head_r_true, double *tail_r_true);
792 void BLAS_dgemm_d_s_testgen(int norm, enum blas_order_type order,
793 			    enum blas_trans_type transa,
794 			    enum blas_trans_type transb, int m, int n, int k,
795 			    int randomize, double *alpha, int alpha_flag,
796 			    double *a, int lda, double *beta, int beta_flag,
797 			    float *b, int ldb, double *c, int ldc, int *seed,
798 			    double *head_r_true, double *tail_r_true);
799 void BLAS_zgemm_c_c_testgen(int norm, enum blas_order_type order,
800 			    enum blas_trans_type transa,
801 			    enum blas_trans_type transb, int m, int n, int k,
802 			    int randomize, void *alpha, int alpha_flag,
803 			    void *a, int lda, void *beta, int beta_flag,
804 			    void *b, int ldb, void *c, int ldc, int *seed,
805 			    double *head_r_true, double *tail_r_true);
806 void BLAS_zgemm_c_z_testgen(int norm, enum blas_order_type order,
807 			    enum blas_trans_type transa,
808 			    enum blas_trans_type transb, int m, int n, int k,
809 			    int randomize, void *alpha, int alpha_flag,
810 			    void *a, int lda, void *beta, int beta_flag,
811 			    void *b, int ldb, void *c, int ldc, int *seed,
812 			    double *head_r_true, double *tail_r_true);
813 void BLAS_zgemm_z_c_testgen(int norm, enum blas_order_type order,
814 			    enum blas_trans_type transa,
815 			    enum blas_trans_type transb, int m, int n, int k,
816 			    int randomize, void *alpha, int alpha_flag,
817 			    void *a, int lda, void *beta, int beta_flag,
818 			    void *b, int ldb, void *c, int ldc, int *seed,
819 			    double *head_r_true, double *tail_r_true);
820 void BLAS_sgemv2_testgen(int norm, enum blas_order_type order,
821 			 enum blas_trans_type trans, int m, int n,
822 			 float *alpha, int alpha_flag, float *A, int lda,
823 			 float *head_x, float *tail_x, float *beta,
824 			 int beta_flag, float *y, int *seed, double *r_true_l,
825 			 double *r_true_t);
826 void BLAS_dgemv2_testgen(int norm, enum blas_order_type order,
827 			 enum blas_trans_type trans, int m, int n,
828 			 double *alpha, int alpha_flag, double *A, int lda,
829 			 double *head_x, double *tail_x, double *beta,
830 			 int beta_flag, double *y, int *seed,
831 			 double *r_true_l, double *r_true_t);
832 void BLAS_cgemv2_testgen(int norm, enum blas_order_type order,
833 			 enum blas_trans_type trans, int m, int n,
834 			 void *alpha, int alpha_flag, void *A, int lda,
835 			 void *head_x, void *tail_x, void *beta,
836 			 int beta_flag, void *y, int *seed, double *r_true_l,
837 			 double *r_true_t);
838 void BLAS_zgemv2_testgen(int norm, enum blas_order_type order,
839 			 enum blas_trans_type trans, int m, int n,
840 			 void *alpha, int alpha_flag, void *A, int lda,
841 			 void *head_x, void *tail_x, void *beta,
842 			 int beta_flag, void *y, int *seed, double *r_true_l,
843 			 double *r_true_t);
844 void BLAS_cgemv2_s_s_testgen(int norm, enum blas_order_type order,
845 			     enum blas_trans_type trans, int m, int n,
846 			     void *alpha, int alpha_flag, float *A, int lda,
847 			     float *head_x, float *tail_x, void *beta,
848 			     int beta_flag, void *y, int *seed,
849 			     double *r_true_l, double *r_true_t);
850 void BLAS_cgemv2_s_c_testgen(int norm, enum blas_order_type order,
851 			     enum blas_trans_type trans, int m, int n,
852 			     void *alpha, int alpha_flag, float *A, int lda,
853 			     void *head_x, void *tail_x, void *beta,
854 			     int beta_flag, void *y, int *seed,
855 			     double *r_true_l, double *r_true_t);
856 void BLAS_cgemv2_c_s_testgen(int norm, enum blas_order_type order,
857 			     enum blas_trans_type trans, int m, int n,
858 			     void *alpha, int alpha_flag, void *A, int lda,
859 			     float *head_x, float *tail_x, void *beta,
860 			     int beta_flag, void *y, int *seed,
861 			     double *r_true_l, double *r_true_t);
862 void BLAS_zgemv2_d_d_testgen(int norm, enum blas_order_type order,
863 			     enum blas_trans_type trans, int m, int n,
864 			     void *alpha, int alpha_flag, double *A, int lda,
865 			     double *head_x, double *tail_x, void *beta,
866 			     int beta_flag, void *y, int *seed,
867 			     double *r_true_l, double *r_true_t);
868 void BLAS_zgemv2_d_z_testgen(int norm, enum blas_order_type order,
869 			     enum blas_trans_type trans, int m, int n,
870 			     void *alpha, int alpha_flag, double *A, int lda,
871 			     void *head_x, void *tail_x, void *beta,
872 			     int beta_flag, void *y, int *seed,
873 			     double *r_true_l, double *r_true_t);
874 void BLAS_zgemv2_z_d_testgen(int norm, enum blas_order_type order,
875 			     enum blas_trans_type trans, int m, int n,
876 			     void *alpha, int alpha_flag, void *A, int lda,
877 			     double *head_x, double *tail_x, void *beta,
878 			     int beta_flag, void *y, int *seed,
879 			     double *r_true_l, double *r_true_t);
880 void BLAS_dgemv2_s_s_testgen(int norm, enum blas_order_type order,
881 			     enum blas_trans_type trans, int m, int n,
882 			     double *alpha, int alpha_flag, float *A, int lda,
883 			     float *head_x, float *tail_x, double *beta,
884 			     int beta_flag, double *y, int *seed,
885 			     double *r_true_l, double *r_true_t);
886 void BLAS_dgemv2_s_d_testgen(int norm, enum blas_order_type order,
887 			     enum blas_trans_type trans, int m, int n,
888 			     double *alpha, int alpha_flag, float *A, int lda,
889 			     double *head_x, double *tail_x, double *beta,
890 			     int beta_flag, double *y, int *seed,
891 			     double *r_true_l, double *r_true_t);
892 void BLAS_dgemv2_d_s_testgen(int norm, enum blas_order_type order,
893 			     enum blas_trans_type trans, int m, int n,
894 			     double *alpha, int alpha_flag, double *A,
895 			     int lda, float *head_x, float *tail_x,
896 			     double *beta, int beta_flag, double *y,
897 			     int *seed, double *r_true_l, double *r_true_t);
898 void BLAS_zgemv2_c_c_testgen(int norm, enum blas_order_type order,
899 			     enum blas_trans_type trans, int m, int n,
900 			     void *alpha, int alpha_flag, void *A, int lda,
901 			     void *head_x, void *tail_x, void *beta,
902 			     int beta_flag, void *y, int *seed,
903 			     double *r_true_l, double *r_true_t);
904 void BLAS_zgemv2_c_z_testgen(int norm, enum blas_order_type order,
905 			     enum blas_trans_type trans, int m, int n,
906 			     void *alpha, int alpha_flag, void *A, int lda,
907 			     void *head_x, void *tail_x, void *beta,
908 			     int beta_flag, void *y, int *seed,
909 			     double *r_true_l, double *r_true_t);
910 void BLAS_zgemv2_z_c_testgen(int norm, enum blas_order_type order,
911 			     enum blas_trans_type trans, int m, int n,
912 			     void *alpha, int alpha_flag, void *A, int lda,
913 			     void *head_x, void *tail_x, void *beta,
914 			     int beta_flag, void *y, int *seed,
915 			     double *r_true_l, double *r_true_t);
916 
917 void BLAS_ssymv2_testgen(int norm, enum blas_order_type order,
918 			 enum blas_uplo_type uplo, int n, float *alpha,
919 			 int alpha_flag, float *A, int lda, float *head_x,
920 			 float *tail_x, float *beta, int beta_flag, float *y,
921 			 int *seed, double *r_true_l, double *r_true_t);
922 void BLAS_dsymv2_testgen(int norm, enum blas_order_type order,
923 			 enum blas_uplo_type uplo, int n, double *alpha,
924 			 int alpha_flag, double *A, int lda, double *head_x,
925 			 double *tail_x, double *beta, int beta_flag,
926 			 double *y, int *seed, double *r_true_l,
927 			 double *r_true_t);
928 void BLAS_csymv2_testgen(int norm, enum blas_order_type order,
929 			 enum blas_uplo_type uplo, int n, void *alpha,
930 			 int alpha_flag, void *A, int lda, void *head_x,
931 			 void *tail_x, void *beta, int beta_flag, void *y,
932 			 int *seed, double *r_true_l, double *r_true_t);
933 void BLAS_zsymv2_testgen(int norm, enum blas_order_type order,
934 			 enum blas_uplo_type uplo, int n, void *alpha,
935 			 int alpha_flag, void *A, int lda, void *head_x,
936 			 void *tail_x, void *beta, int beta_flag, void *y,
937 			 int *seed, double *r_true_l, double *r_true_t);
938 void BLAS_csymv2_s_s_testgen(int norm, enum blas_order_type order,
939 			     enum blas_uplo_type uplo, int n, void *alpha,
940 			     int alpha_flag, float *A, int lda, float *head_x,
941 			     float *tail_x, void *beta, int beta_flag,
942 			     void *y, int *seed, double *r_true_l,
943 			     double *r_true_t);
944 void BLAS_csymv2_s_c_testgen(int norm, enum blas_order_type order,
945 			     enum blas_uplo_type uplo, int n, void *alpha,
946 			     int alpha_flag, float *A, int lda, void *head_x,
947 			     void *tail_x, void *beta, int beta_flag, void *y,
948 			     int *seed, double *r_true_l, double *r_true_t);
949 void BLAS_csymv2_c_s_testgen(int norm, enum blas_order_type order,
950 			     enum blas_uplo_type uplo, int n, void *alpha,
951 			     int alpha_flag, void *A, int lda, float *head_x,
952 			     float *tail_x, void *beta, int beta_flag,
953 			     void *y, int *seed, double *r_true_l,
954 			     double *r_true_t);
955 void BLAS_zsymv2_d_d_testgen(int norm, enum blas_order_type order,
956 			     enum blas_uplo_type uplo, int n, void *alpha,
957 			     int alpha_flag, double *A, int lda,
958 			     double *head_x, double *tail_x, void *beta,
959 			     int beta_flag, void *y, int *seed,
960 			     double *r_true_l, double *r_true_t);
961 void BLAS_zsymv2_d_z_testgen(int norm, enum blas_order_type order,
962 			     enum blas_uplo_type uplo, int n, void *alpha,
963 			     int alpha_flag, double *A, int lda, void *head_x,
964 			     void *tail_x, void *beta, int beta_flag, void *y,
965 			     int *seed, double *r_true_l, double *r_true_t);
966 void BLAS_zsymv2_z_d_testgen(int norm, enum blas_order_type order,
967 			     enum blas_uplo_type uplo, int n, void *alpha,
968 			     int alpha_flag, void *A, int lda, double *head_x,
969 			     double *tail_x, void *beta, int beta_flag,
970 			     void *y, int *seed, double *r_true_l,
971 			     double *r_true_t);
972 void BLAS_dsymv2_s_s_testgen(int norm, enum blas_order_type order,
973 			     enum blas_uplo_type uplo, int n, double *alpha,
974 			     int alpha_flag, float *A, int lda, float *head_x,
975 			     float *tail_x, double *beta, int beta_flag,
976 			     double *y, int *seed, double *r_true_l,
977 			     double *r_true_t);
978 void BLAS_dsymv2_s_d_testgen(int norm, enum blas_order_type order,
979 			     enum blas_uplo_type uplo, int n, double *alpha,
980 			     int alpha_flag, float *A, int lda,
981 			     double *head_x, double *tail_x, double *beta,
982 			     int beta_flag, double *y, int *seed,
983 			     double *r_true_l, double *r_true_t);
984 void BLAS_dsymv2_d_s_testgen(int norm, enum blas_order_type order,
985 			     enum blas_uplo_type uplo, int n, double *alpha,
986 			     int alpha_flag, double *A, int lda,
987 			     float *head_x, float *tail_x, double *beta,
988 			     int beta_flag, double *y, int *seed,
989 			     double *r_true_l, double *r_true_t);
990 void BLAS_zsymv2_c_c_testgen(int norm, enum blas_order_type order,
991 			     enum blas_uplo_type uplo, int n, void *alpha,
992 			     int alpha_flag, void *A, int lda, void *head_x,
993 			     void *tail_x, void *beta, int beta_flag, void *y,
994 			     int *seed, double *r_true_l, double *r_true_t);
995 void BLAS_zsymv2_c_z_testgen(int norm, enum blas_order_type order,
996 			     enum blas_uplo_type uplo, int n, void *alpha,
997 			     int alpha_flag, void *A, int lda, void *head_x,
998 			     void *tail_x, void *beta, int beta_flag, void *y,
999 			     int *seed, double *r_true_l, double *r_true_t);
1000 void BLAS_zsymv2_z_c_testgen(int norm, enum blas_order_type order,
1001 			     enum blas_uplo_type uplo, int n, void *alpha,
1002 			     int alpha_flag, void *A, int lda, void *head_x,
1003 			     void *tail_x, void *beta, int beta_flag, void *y,
1004 			     int *seed, double *r_true_l, double *r_true_t);
1005 
1006 
1007 void BLAS_sskmv2_testgen(int norm, enum blas_order_type order,
1008 			 enum blas_uplo_type uplo, int n, float *alpha,
1009 			 float *beta, float *a, int lda, float *x_head,
1010 			 float *x_tail, float *y, int *seed,
1011 			 double *head_r_true, double *tail_r_true);
1012 void BLAS_dskmv2_testgen(int norm, enum blas_order_type order,
1013 			 enum blas_uplo_type uplo, int n, double *alpha,
1014 			 double *beta, double *a, int lda, double *x_head,
1015 			 double *x_tail, double *y, int *seed,
1016 			 double *head_r_true, double *tail_r_true);
1017 void BLAS_dskmv2_testgen_d_s(int norm, enum blas_order_type order,
1018 			     enum blas_uplo_type uplo, int n, double *alpha,
1019 			     double *beta, double *a, int lda, float *x_head,
1020 			     float *x_tail, double *y, int *seed,
1021 			     double *head_r_true, double *tail_r_true);
1022 void BLAS_dskmv2_testgen_s_d(int norm, enum blas_order_type order,
1023 			     enum blas_uplo_type uplo, int n, double *alpha,
1024 			     double *beta, float *a, int lda, double *x_head,
1025 			     double *x_tail, double *y, int *seed,
1026 			     double *head_r_true, double *tail_r_true);
1027 void BLAS_dskmv2_testgen_s_s(int norm, enum blas_order_type order,
1028 			     enum blas_uplo_type uplo, int n, double *alpha,
1029 			     double *beta, float *a, int lda, float *x_head,
1030 			     float *x_tail, double *y, int *seed,
1031 			     double *head_r_true, double *tail_r_true);
1032 
1033 void BLAS_chemv2_testgen(int norm, enum blas_order_type order,
1034 			 enum blas_uplo_type uplo, int n, void *alpha,
1035 			 int alpha_flag, void *beta, int beta_flag, void *a,
1036 			 int lda, void *x_head, void *x_tail, void *y,
1037 			 int *seed, double *head_r_true, double *tail_r_true);
1038 void BLAS_zhemv2_testgen(int norm, enum blas_order_type order,
1039 			 enum blas_uplo_type uplo, int n, void *alpha,
1040 			 int alpha_flag, void *beta, int beta_flag, void *a,
1041 			 int lda, void *x_head, void *x_tail, void *y,
1042 			 int *seed, double *head_r_true, double *tail_r_true);
1043 void BLAS_zhemv2_c_z_testgen(int norm, enum blas_order_type order,
1044 			     enum blas_uplo_type uplo, int n, void *alpha,
1045 			     int alpha_flag, void *beta, int beta_flag,
1046 			     void *a, int lda, void *x_head, void *x_tail,
1047 			     void *y, int *seed, double *head_r_true,
1048 			     double *tail_r_true);
1049 void BLAS_zhemv2_z_c_testgen(int norm, enum blas_order_type order,
1050 			     enum blas_uplo_type uplo, int n, void *alpha,
1051 			     int alpha_flag, void *beta, int beta_flag,
1052 			     void *a, int lda, void *x_head, void *x_tail,
1053 			     void *y, int *seed, double *head_r_true,
1054 			     double *tail_r_true);
1055 void BLAS_zhemv2_c_c_testgen(int norm, enum blas_order_type order,
1056 			     enum blas_uplo_type uplo, int n, void *alpha,
1057 			     int alpha_flag, void *beta, int beta_flag,
1058 			     void *a, int lda, void *x_head, void *x_tail,
1059 			     void *y, int *seed, double *head_r_true,
1060 			     double *tail_r_true);
1061 void BLAS_zhemv2_z_d_testgen(int norm, enum blas_order_type order,
1062 			     enum blas_uplo_type uplo, int n, void *alpha,
1063 			     int alpha_flag, void *beta, int beta_flag,
1064 			     void *a, int lda, double *x_head, double *x_tail,
1065 			     void *y, int *seed, double *head_r_true,
1066 			     double *tail_r_true);
1067 void BLAS_chemv2_c_s_testgen(int norm, enum blas_order_type order,
1068 			     enum blas_uplo_type uplo, int n, void *alpha,
1069 			     int alpha_flag, void *beta, int beta_flag,
1070 			     void *a, int lda, float *x_head, float *x_tail,
1071 			     void *y, int *seed, double *head_r_true,
1072 			     double *tail_r_true);
1073 
1074 
1075 void BLAS_sgbmv2_testgen(int norm, enum blas_order_type order,
1076 			 enum blas_trans_type trans, int m, int n, int kl,
1077 			 int ku, float *alpha, int alpha_flag, float *AB,
1078 			 int lda, float *x_head, float *x_tail, float *beta,
1079 			 int beta_flag, float *y, int *seed, double *r_true_l,
1080 			 double *r_true_t);
1081 void BLAS_dgbmv2_testgen(int norm, enum blas_order_type order,
1082 			 enum blas_trans_type trans, int m, int n, int kl,
1083 			 int ku, double *alpha, int alpha_flag, double *AB,
1084 			 int lda, double *x_head, double *x_tail,
1085 			 double *beta, int beta_flag, double *y, int *seed,
1086 			 double *r_true_l, double *r_true_t);
1087 void BLAS_cgbmv2_testgen(int norm, enum blas_order_type order,
1088 			 enum blas_trans_type trans, int m, int n, int kl,
1089 			 int ku, void *alpha, int alpha_flag, void *AB,
1090 			 int lda, void *x_head, void *x_tail, void *beta,
1091 			 int beta_flag, void *y, int *seed, double *r_true_l,
1092 			 double *r_true_t);
1093 void BLAS_zgbmv2_testgen(int norm, enum blas_order_type order,
1094 			 enum blas_trans_type trans, int m, int n, int kl,
1095 			 int ku, void *alpha, int alpha_flag, void *AB,
1096 			 int lda, void *x_head, void *x_tail, void *beta,
1097 			 int beta_flag, void *y, int *seed, double *r_true_l,
1098 			 double *r_true_t);
1099 void BLAS_cgbmv2_s_s_testgen(int norm, enum blas_order_type order,
1100 			     enum blas_trans_type trans, int m, int n, int kl,
1101 			     int ku, void *alpha, int alpha_flag, float *AB,
1102 			     int lda, float *x_head, float *x_tail,
1103 			     void *beta, int beta_flag, void *y, int *seed,
1104 			     double *r_true_l, double *r_true_t);
1105 void BLAS_cgbmv2_s_c_testgen(int norm, enum blas_order_type order,
1106 			     enum blas_trans_type trans, int m, int n, int kl,
1107 			     int ku, void *alpha, int alpha_flag, float *AB,
1108 			     int lda, void *x_head, void *x_tail, void *beta,
1109 			     int beta_flag, void *y, int *seed,
1110 			     double *r_true_l, double *r_true_t);
1111 void BLAS_cgbmv2_c_s_testgen(int norm, enum blas_order_type order,
1112 			     enum blas_trans_type trans, int m, int n, int kl,
1113 			     int ku, void *alpha, int alpha_flag, void *AB,
1114 			     int lda, float *x_head, float *x_tail,
1115 			     void *beta, int beta_flag, void *y, int *seed,
1116 			     double *r_true_l, double *r_true_t);
1117 void BLAS_zgbmv2_d_d_testgen(int norm, enum blas_order_type order,
1118 			     enum blas_trans_type trans, int m, int n, int kl,
1119 			     int ku, void *alpha, int alpha_flag, double *AB,
1120 			     int lda, double *x_head, double *x_tail,
1121 			     void *beta, int beta_flag, void *y, int *seed,
1122 			     double *r_true_l, double *r_true_t);
1123 void BLAS_zgbmv2_d_z_testgen(int norm, enum blas_order_type order,
1124 			     enum blas_trans_type trans, int m, int n, int kl,
1125 			     int ku, void *alpha, int alpha_flag, double *AB,
1126 			     int lda, void *x_head, void *x_tail, void *beta,
1127 			     int beta_flag, void *y, int *seed,
1128 			     double *r_true_l, double *r_true_t);
1129 void BLAS_zgbmv2_z_d_testgen(int norm, enum blas_order_type order,
1130 			     enum blas_trans_type trans, int m, int n, int kl,
1131 			     int ku, void *alpha, int alpha_flag, void *AB,
1132 			     int lda, double *x_head, double *x_tail,
1133 			     void *beta, int beta_flag, void *y, int *seed,
1134 			     double *r_true_l, double *r_true_t);
1135 void BLAS_dgbmv2_s_s_testgen(int norm, enum blas_order_type order,
1136 			     enum blas_trans_type trans, int m, int n, int kl,
1137 			     int ku, double *alpha, int alpha_flag, float *AB,
1138 			     int lda, float *x_head, float *x_tail,
1139 			     double *beta, int beta_flag, double *y,
1140 			     int *seed, double *r_true_l, double *r_true_t);
1141 void BLAS_dgbmv2_s_d_testgen(int norm, enum blas_order_type order,
1142 			     enum blas_trans_type trans, int m, int n, int kl,
1143 			     int ku, double *alpha, int alpha_flag, float *AB,
1144 			     int lda, double *x_head, double *x_tail,
1145 			     double *beta, int beta_flag, double *y,
1146 			     int *seed, double *r_true_l, double *r_true_t);
1147 void BLAS_dgbmv2_d_s_testgen(int norm, enum blas_order_type order,
1148 			     enum blas_trans_type trans, int m, int n, int kl,
1149 			     int ku, double *alpha, int alpha_flag,
1150 			     double *AB, int lda, float *x_head,
1151 			     float *x_tail, double *beta, int beta_flag,
1152 			     double *y, int *seed, double *r_true_l,
1153 			     double *r_true_t);
1154 void BLAS_zgbmv2_c_c_testgen(int norm, enum blas_order_type order,
1155 			     enum blas_trans_type trans, int m, int n, int kl,
1156 			     int ku, void *alpha, int alpha_flag, void *AB,
1157 			     int lda, void *x_head, void *x_tail, void *beta,
1158 			     int beta_flag, void *y, int *seed,
1159 			     double *r_true_l, double *r_true_t);
1160 void BLAS_zgbmv2_c_z_testgen(int norm, enum blas_order_type order,
1161 			     enum blas_trans_type trans, int m, int n, int kl,
1162 			     int ku, void *alpha, int alpha_flag, void *AB,
1163 			     int lda, void *x_head, void *x_tail, void *beta,
1164 			     int beta_flag, void *y, int *seed,
1165 			     double *r_true_l, double *r_true_t);
1166 void BLAS_zgbmv2_z_c_testgen(int norm, enum blas_order_type order,
1167 			     enum blas_trans_type trans, int m, int n, int kl,
1168 			     int ku, void *alpha, int alpha_flag, void *AB,
1169 			     int lda, void *x_head, void *x_tail, void *beta,
1170 			     int beta_flag, void *y, int *seed,
1171 			     double *r_true_l, double *r_true_t);
1172 void BLAS_sge_sum_mv_testgen(int norm, enum blas_order_type order, int m,
1173 			     int n, int randomize, float *alpha,
1174 			     int alpha_flag, float *beta, int beta_flag,
1175 			     float *a, int lda, float *b, int ldb, float *x,
1176 			     int incx, float *alpha_use_ptr, float *a_use,
1177 			     float *b_use, int *seed, double *head_r_true,
1178 			     double *tail_r_true);
1179 void BLAS_dge_sum_mv_testgen(int norm, enum blas_order_type order, int m,
1180 			     int n, int randomize, double *alpha,
1181 			     int alpha_flag, double *beta, int beta_flag,
1182 			     double *a, int lda, double *b, int ldb,
1183 			     double *x, int incx, double *alpha_use_ptr,
1184 			     double *a_use, double *b_use, int *seed,
1185 			     double *head_r_true, double *tail_r_true);
1186 void BLAS_cge_sum_mv_testgen(int norm, enum blas_order_type order, int m,
1187 			     int n, int randomize, void *alpha,
1188 			     int alpha_flag, void *beta, int beta_flag,
1189 			     void *a, int lda, void *b, int ldb, void *x,
1190 			     int incx, void *alpha_use_ptr, void *a_use,
1191 			     void *b_use, int *seed, double *head_r_true,
1192 			     double *tail_r_true);
1193 void BLAS_zge_sum_mv_testgen(int norm, enum blas_order_type order, int m,
1194 			     int n, int randomize, void *alpha,
1195 			     int alpha_flag, void *beta, int beta_flag,
1196 			     void *a, int lda, void *b, int ldb, void *x,
1197 			     int incx, void *alpha_use_ptr, void *a_use,
1198 			     void *b_use, int *seed, double *head_r_true,
1199 			     double *tail_r_true);
1200 void BLAS_cge_sum_mv_s_s_testgen(int norm, enum blas_order_type order, int m,
1201 				 int n, int randomize, void *alpha,
1202 				 int alpha_flag, void *beta, int beta_flag,
1203 				 float *a, int lda, float *b, int ldb,
1204 				 float *x, int incx, void *alpha_use_ptr,
1205 				 float *a_use, float *b_use, int *seed,
1206 				 double *head_r_true, double *tail_r_true);
1207 void BLAS_cge_sum_mv_s_c_testgen(int norm, enum blas_order_type order, int m,
1208 				 int n, int randomize, void *alpha,
1209 				 int alpha_flag, void *beta, int beta_flag,
1210 				 float *a, int lda, float *b, int ldb,
1211 				 void *x, int incx, void *alpha_use_ptr,
1212 				 float *a_use, float *b_use, int *seed,
1213 				 double *head_r_true, double *tail_r_true);
1214 void BLAS_cge_sum_mv_c_s_testgen(int norm, enum blas_order_type order, int m,
1215 				 int n, int randomize, void *alpha,
1216 				 int alpha_flag, void *beta, int beta_flag,
1217 				 void *a, int lda, void *b, int ldb, float *x,
1218 				 int incx, void *alpha_use_ptr, void *a_use,
1219 				 void *b_use, int *seed, double *head_r_true,
1220 				 double *tail_r_true);
1221 void BLAS_zge_sum_mv_d_d_testgen(int norm, enum blas_order_type order, int m,
1222 				 int n, int randomize, void *alpha,
1223 				 int alpha_flag, void *beta, int beta_flag,
1224 				 double *a, int lda, double *b, int ldb,
1225 				 double *x, int incx, void *alpha_use_ptr,
1226 				 double *a_use, double *b_use, int *seed,
1227 				 double *head_r_true, double *tail_r_true);
1228 void BLAS_zge_sum_mv_d_z_testgen(int norm, enum blas_order_type order, int m,
1229 				 int n, int randomize, void *alpha,
1230 				 int alpha_flag, void *beta, int beta_flag,
1231 				 double *a, int lda, double *b, int ldb,
1232 				 void *x, int incx, void *alpha_use_ptr,
1233 				 double *a_use, double *b_use, int *seed,
1234 				 double *head_r_true, double *tail_r_true);
1235 void BLAS_zge_sum_mv_z_d_testgen(int norm, enum blas_order_type order, int m,
1236 				 int n, int randomize, void *alpha,
1237 				 int alpha_flag, void *beta, int beta_flag,
1238 				 void *a, int lda, void *b, int ldb,
1239 				 double *x, int incx, void *alpha_use_ptr,
1240 				 void *a_use, void *b_use, int *seed,
1241 				 double *head_r_true, double *tail_r_true);
1242 void BLAS_dge_sum_mv_s_s_testgen(int norm, enum blas_order_type order, int m,
1243 				 int n, int randomize, double *alpha,
1244 				 int alpha_flag, double *beta, int beta_flag,
1245 				 float *a, int lda, float *b, int ldb,
1246 				 float *x, int incx, double *alpha_use_ptr,
1247 				 float *a_use, float *b_use, int *seed,
1248 				 double *head_r_true, double *tail_r_true);
1249 void BLAS_dge_sum_mv_s_d_testgen(int norm, enum blas_order_type order, int m,
1250 				 int n, int randomize, double *alpha,
1251 				 int alpha_flag, double *beta, int beta_flag,
1252 				 float *a, int lda, float *b, int ldb,
1253 				 double *x, int incx, double *alpha_use_ptr,
1254 				 float *a_use, float *b_use, int *seed,
1255 				 double *head_r_true, double *tail_r_true);
1256 void BLAS_dge_sum_mv_d_s_testgen(int norm, enum blas_order_type order, int m,
1257 				 int n, int randomize, double *alpha,
1258 				 int alpha_flag, double *beta, int beta_flag,
1259 				 double *a, int lda, double *b, int ldb,
1260 				 float *x, int incx, double *alpha_use_ptr,
1261 				 double *a_use, double *b_use, int *seed,
1262 				 double *head_r_true, double *tail_r_true);
1263 void BLAS_zge_sum_mv_c_c_testgen(int norm, enum blas_order_type order, int m,
1264 				 int n, int randomize, void *alpha,
1265 				 int alpha_flag, void *beta, int beta_flag,
1266 				 void *a, int lda, void *b, int ldb, void *x,
1267 				 int incx, void *alpha_use_ptr, void *a_use,
1268 				 void *b_use, int *seed, double *head_r_true,
1269 				 double *tail_r_true);
1270 void BLAS_zge_sum_mv_c_z_testgen(int norm, enum blas_order_type order, int m,
1271 				 int n, int randomize, void *alpha,
1272 				 int alpha_flag, void *beta, int beta_flag,
1273 				 void *a, int lda, void *b, int ldb, void *x,
1274 				 int incx, void *alpha_use_ptr, void *a_use,
1275 				 void *b_use, int *seed, double *head_r_true,
1276 				 double *tail_r_true);
1277 void BLAS_zge_sum_mv_z_c_testgen(int norm, enum blas_order_type order, int m,
1278 				 int n, int randomize, void *alpha,
1279 				 int alpha_flag, void *beta, int beta_flag,
1280 				 void *a, int lda, void *b, int ldb, void *x,
1281 				 int incx, void *alpha_use_ptr, void *a_use,
1282 				 void *b_use, int *seed, double *head_r_true,
1283 				 double *tail_r_true);
1284 
1285 void BLAS_ssymv_testgen(int norm, enum blas_order_type order,
1286 			enum blas_uplo_type uplo,
1287 			int n, int randomize,
1288 			float *alpha, int alpha_flag, float *beta,
1289 			int beta_flag, float *a, int lda, float *x, int incx,
1290 			float *y, int incy, int *seed, double *head_r_true,
1291 			double *tail_r_true);
1292 void BLAS_dsymv_testgen(int norm, enum blas_order_type order,
1293 			enum blas_uplo_type uplo, int n, int randomize,
1294 			double *alpha, int alpha_flag, double *beta,
1295 			int beta_flag, double *a, int lda, double *x,
1296 			int incx, double *y, int incy, int *seed,
1297 			double *head_r_true, double *tail_r_true);
1298 void BLAS_csymv_testgen(int norm, enum blas_order_type order,
1299 			enum blas_uplo_type uplo, int n, int randomize,
1300 			void *alpha, int alpha_flag, void *beta,
1301 			int beta_flag, void *a, int lda, void *x, int incx,
1302 			void *y, int incy, int *seed, double *head_r_true,
1303 			double *tail_r_true);
1304 void BLAS_zsymv_testgen(int norm, enum blas_order_type order,
1305 			enum blas_uplo_type uplo, int n, int randomize,
1306 			void *alpha, int alpha_flag, void *beta,
1307 			int beta_flag, void *a, int lda, void *x, int incx,
1308 			void *y, int incy, int *seed, double *head_r_true,
1309 			double *tail_r_true);
1310 void BLAS_csymv_s_s_testgen(int norm, enum blas_order_type order,
1311 			    enum blas_uplo_type uplo, int n, int randomize,
1312 			    void *alpha, int alpha_flag, void *beta,
1313 			    int beta_flag, float *a, int lda, float *x,
1314 			    int incx, void *y, int incy, int *seed,
1315 			    double *head_r_true, double *tail_r_true);
1316 void BLAS_csymv_s_c_testgen(int norm, enum blas_order_type order,
1317 			    enum blas_uplo_type uplo, int n, int randomize,
1318 			    void *alpha, int alpha_flag, void *beta,
1319 			    int beta_flag, float *a, int lda, void *x,
1320 			    int incx, void *y, int incy, int *seed,
1321 			    double *head_r_true, double *tail_r_true);
1322 void BLAS_csymv_c_s_testgen(int norm, enum blas_order_type order,
1323 			    enum blas_uplo_type uplo, int n, int randomize,
1324 			    void *alpha, int alpha_flag, void *beta,
1325 			    int beta_flag, void *a, int lda, float *x,
1326 			    int incx, void *y, int incy, int *seed,
1327 			    double *head_r_true, double *tail_r_true);
1328 void BLAS_zsymv_d_d_testgen(int norm, enum blas_order_type order,
1329 			    enum blas_uplo_type uplo, int n, int randomize,
1330 			    void *alpha, int alpha_flag, void *beta,
1331 			    int beta_flag, double *a, int lda, double *x,
1332 			    int incx, void *y, int incy, int *seed,
1333 			    double *head_r_true, double *tail_r_true);
1334 void BLAS_zsymv_d_z_testgen(int norm, enum blas_order_type order,
1335 			    enum blas_uplo_type uplo, int n, int randomize,
1336 			    void *alpha, int alpha_flag, void *beta,
1337 			    int beta_flag, double *a, int lda, void *x,
1338 			    int incx, void *y, int incy, int *seed,
1339 			    double *head_r_true, double *tail_r_true);
1340 void BLAS_zsymv_z_d_testgen(int norm, enum blas_order_type order,
1341 			    enum blas_uplo_type uplo, int n, int randomize,
1342 			    void *alpha, int alpha_flag, void *beta,
1343 			    int beta_flag, void *a, int lda, double *x,
1344 			    int incx, void *y, int incy, int *seed,
1345 			    double *head_r_true, double *tail_r_true);
1346 void BLAS_dsymv_s_s_testgen(int norm, enum blas_order_type order,
1347 			    enum blas_uplo_type uplo, int n, int randomize,
1348 			    double *alpha, int alpha_flag, double *beta,
1349 			    int beta_flag, float *a, int lda, float *x,
1350 			    int incx, double *y, int incy, int *seed,
1351 			    double *head_r_true, double *tail_r_true);
1352 void BLAS_dsymv_s_d_testgen(int norm, enum blas_order_type order,
1353 			    enum blas_uplo_type uplo, int n, int randomize,
1354 			    double *alpha, int alpha_flag, double *beta,
1355 			    int beta_flag, float *a, int lda, double *x,
1356 			    int incx, double *y, int incy, int *seed,
1357 			    double *head_r_true, double *tail_r_true);
1358 void BLAS_dsymv_d_s_testgen(int norm, enum blas_order_type order,
1359 			    enum blas_uplo_type uplo, int n, int randomize,
1360 			    double *alpha, int alpha_flag, double *beta,
1361 			    int beta_flag, double *a, int lda, float *x,
1362 			    int incx, double *y, int incy, int *seed,
1363 			    double *head_r_true, double *tail_r_true);
1364 void BLAS_zsymv_c_c_testgen(int norm, enum blas_order_type order,
1365 			    enum blas_uplo_type uplo, int n, int randomize,
1366 			    void *alpha, int alpha_flag, void *beta,
1367 			    int beta_flag, void *a, int lda, void *x,
1368 			    int incx, void *y, int incy, int *seed,
1369 			    double *head_r_true, double *tail_r_true);
1370 void BLAS_zsymv_c_z_testgen(int norm, enum blas_order_type order,
1371 			    enum blas_uplo_type uplo, int n, int randomize,
1372 			    void *alpha, int alpha_flag, void *beta,
1373 			    int beta_flag, void *a, int lda, void *x,
1374 			    int incx, void *y, int incy, int *seed,
1375 			    double *head_r_true, double *tail_r_true);
1376 void BLAS_zsymv_z_c_testgen(int norm, enum blas_order_type order,
1377 			    enum blas_uplo_type uplo, int n, int randomize,
1378 			    void *alpha, int alpha_flag, void *beta,
1379 			    int beta_flag, void *a, int lda, void *x,
1380 			    int incx, void *y, int incy, int *seed,
1381 			    double *head_r_true, double *tail_r_true);
1382 
1383 void ssy_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1384 		    int n, float *a, int lda, float *a_vec, int row);
1385 void dsy_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1386 		    int n, double *a, int lda, double *a_vec, int row);
1387 void csy_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1388 		    int n, void *a, int lda, void *a_vec, int row);
1389 void zsy_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1390 		    int n, void *a, int lda, void *a_vec, int row);
1391 
1392 void ssy_copy_row(enum blas_order_type order, enum blas_uplo_type uplo, int n,
1393 		  float *a, int lda, float *a_vec, int row);
1394 void dsy_copy_row(enum blas_order_type order, enum blas_uplo_type uplo, int n,
1395 		  double *a, int lda, double *a_vec, int row);
1396 void csy_copy_row(enum blas_order_type order, enum blas_uplo_type uplo, int n,
1397 		  void *a, int lda, void *a_vec, int row);
1398 void zsy_copy_row(enum blas_order_type order, enum blas_uplo_type uplo, int n,
1399 		  void *a, int lda, void *a_vec, int row);
1400 
1401 void ssy_print_matrix(float *a, int n, int lda,
1402 		      enum blas_order_type order, enum blas_uplo_type uplo);
1403 void dsy_print_matrix(double *a, int n, int lda,
1404 		      enum blas_order_type order, enum blas_uplo_type uplo);
1405 void csy_print_matrix(void *a, int n, int lda,
1406 		      enum blas_order_type order, enum blas_uplo_type uplo);
1407 void zsy_print_matrix(void *a, int n, int lda,
1408 		      enum blas_order_type order, enum blas_uplo_type uplo);
1409 
1410 
1411 void BLAS_ssbmv_testgen(int norm, enum blas_order_type order,
1412 			enum blas_uplo_type uplo,
1413 			int n, int randomize,
1414 			float *alpha, int alpha_flag, float *beta,
1415 			int beta_flag, float *a, int k, int lda, float *x,
1416 			int incx, float *y, int incy, int *seed,
1417 			double *head_r_true, double *tail_r_true);
1418 void BLAS_dsbmv_testgen(int norm, enum blas_order_type order,
1419 			enum blas_uplo_type uplo, int n, int randomize,
1420 			double *alpha, int alpha_flag, double *beta,
1421 			int beta_flag, double *a, int k, int lda, double *x,
1422 			int incx, double *y, int incy, int *seed,
1423 			double *head_r_true, double *tail_r_true);
1424 void BLAS_csbmv_testgen(int norm, enum blas_order_type order,
1425 			enum blas_uplo_type uplo, int n, int randomize,
1426 			void *alpha, int alpha_flag, void *beta,
1427 			int beta_flag, void *a, int k, int lda, void *x,
1428 			int incx, void *y, int incy, int *seed,
1429 			double *head_r_true, double *tail_r_true);
1430 void BLAS_zsbmv_testgen(int norm, enum blas_order_type order,
1431 			enum blas_uplo_type uplo, int n, int randomize,
1432 			void *alpha, int alpha_flag, void *beta,
1433 			int beta_flag, void *a, int k, int lda, void *x,
1434 			int incx, void *y, int incy, int *seed,
1435 			double *head_r_true, double *tail_r_true);
1436 void BLAS_csbmv_s_s_testgen(int norm, enum blas_order_type order,
1437 			    enum blas_uplo_type uplo, int n, int randomize,
1438 			    void *alpha, int alpha_flag, void *beta,
1439 			    int beta_flag, float *a, int k, int lda, float *x,
1440 			    int incx, void *y, int incy, int *seed,
1441 			    double *head_r_true, double *tail_r_true);
1442 void BLAS_csbmv_s_c_testgen(int norm, enum blas_order_type order,
1443 			    enum blas_uplo_type uplo, int n, int randomize,
1444 			    void *alpha, int alpha_flag, void *beta,
1445 			    int beta_flag, float *a, int k, int lda, void *x,
1446 			    int incx, void *y, int incy, int *seed,
1447 			    double *head_r_true, double *tail_r_true);
1448 void BLAS_csbmv_c_s_testgen(int norm, enum blas_order_type order,
1449 			    enum blas_uplo_type uplo, int n, int randomize,
1450 			    void *alpha, int alpha_flag, void *beta,
1451 			    int beta_flag, void *a, int k, int lda, float *x,
1452 			    int incx, void *y, int incy, int *seed,
1453 			    double *head_r_true, double *tail_r_true);
1454 void BLAS_zsbmv_d_d_testgen(int norm, enum blas_order_type order,
1455 			    enum blas_uplo_type uplo, int n, int randomize,
1456 			    void *alpha, int alpha_flag, void *beta,
1457 			    int beta_flag, double *a, int k, int lda,
1458 			    double *x, int incx, void *y, int incy, int *seed,
1459 			    double *head_r_true, double *tail_r_true);
1460 void BLAS_zsbmv_d_z_testgen(int norm, enum blas_order_type order,
1461 			    enum blas_uplo_type uplo, int n, int randomize,
1462 			    void *alpha, int alpha_flag, void *beta,
1463 			    int beta_flag, double *a, int k, int lda, void *x,
1464 			    int incx, void *y, int incy, int *seed,
1465 			    double *head_r_true, double *tail_r_true);
1466 void BLAS_zsbmv_z_d_testgen(int norm, enum blas_order_type order,
1467 			    enum blas_uplo_type uplo, int n, int randomize,
1468 			    void *alpha, int alpha_flag, void *beta,
1469 			    int beta_flag, void *a, int k, int lda, double *x,
1470 			    int incx, void *y, int incy, int *seed,
1471 			    double *head_r_true, double *tail_r_true);
1472 void BLAS_dsbmv_s_s_testgen(int norm, enum blas_order_type order,
1473 			    enum blas_uplo_type uplo, int n, int randomize,
1474 			    double *alpha, int alpha_flag, double *beta,
1475 			    int beta_flag, float *a, int k, int lda, float *x,
1476 			    int incx, double *y, int incy, int *seed,
1477 			    double *head_r_true, double *tail_r_true);
1478 void BLAS_dsbmv_s_d_testgen(int norm, enum blas_order_type order,
1479 			    enum blas_uplo_type uplo, int n, int randomize,
1480 			    double *alpha, int alpha_flag, double *beta,
1481 			    int beta_flag, float *a, int k, int lda,
1482 			    double *x, int incx, double *y, int incy,
1483 			    int *seed, double *head_r_true,
1484 			    double *tail_r_true);
1485 void BLAS_dsbmv_d_s_testgen(int norm, enum blas_order_type order,
1486 			    enum blas_uplo_type uplo, int n, int randomize,
1487 			    double *alpha, int alpha_flag, double *beta,
1488 			    int beta_flag, double *a, int k, int lda,
1489 			    float *x, int incx, double *y, int incy,
1490 			    int *seed, double *head_r_true,
1491 			    double *tail_r_true);
1492 void BLAS_zsbmv_c_c_testgen(int norm, enum blas_order_type order,
1493 			    enum blas_uplo_type uplo, int n, int randomize,
1494 			    void *alpha, int alpha_flag, void *beta,
1495 			    int beta_flag, void *a, int k, int lda, void *x,
1496 			    int incx, void *y, int incy, int *seed,
1497 			    double *head_r_true, double *tail_r_true);
1498 void BLAS_zsbmv_c_z_testgen(int norm, enum blas_order_type order,
1499 			    enum blas_uplo_type uplo, int n, int randomize,
1500 			    void *alpha, int alpha_flag, void *beta,
1501 			    int beta_flag, void *a, int k, int lda, void *x,
1502 			    int incx, void *y, int incy, int *seed,
1503 			    double *head_r_true, double *tail_r_true);
1504 void BLAS_zsbmv_z_c_testgen(int norm, enum blas_order_type order,
1505 			    enum blas_uplo_type uplo, int n, int randomize,
1506 			    void *alpha, int alpha_flag, void *beta,
1507 			    int beta_flag, void *a, int k, int lda, void *x,
1508 			    int incx, void *y, int incy, int *seed,
1509 			    double *head_r_true, double *tail_r_true);
1510 void ssbmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1511 		      int n, float *a, int k, int lda, float *a_vec, int row);
1512 void dsbmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1513 		      int n, double *a, int k, int lda, double *a_vec,
1514 		      int row);
1515 void csbmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1516 		      int n, void *a, int k, int lda, void *a_vec, int row);
1517 void zsbmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1518 		      int n, void *a, int k, int lda, void *a_vec, int row);
1519 
1520 void ssbmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
1521 		    int n, float *a, int k, int lda, float *a_vec, int row);
1522 void dsbmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
1523 		    int n, double *a, int k, int lda, double *a_vec, int row);
1524 void csbmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
1525 		    int n, void *a, int k, int lda, void *a_vec, int row);
1526 void zsbmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
1527 		    int n, void *a, int k, int lda, void *a_vec, int row);
1528 
1529 void sprint_sbmv_matrix(float *a, int n, int k, int lda,
1530 			enum blas_order_type order, enum blas_uplo_type uplo);
1531 void dprint_sbmv_matrix(double *a, int n, int k, int lda,
1532 			enum blas_order_type order, enum blas_uplo_type uplo);
1533 void cprint_sbmv_matrix(void *a, int n, int k, int lda,
1534 			enum blas_order_type order, enum blas_uplo_type uplo);
1535 void zprint_sbmv_matrix(void *a, int n, int k, int lda,
1536 			enum blas_order_type order, enum blas_uplo_type uplo);
1537 
1538 
1539 void BLAS_sskew_testgen_hemv(int norm, enum blas_order_type order,
1540 			     enum blas_uplo_type uplo,
1541 			     int n, int randomize,
1542 			     float *alpha, float *beta,
1543 			     float *a, int lda, float *x, int incx, float *y,
1544 			     int incy, int *seed, double *head_r_true,
1545 			     double *tail_r_true);
1546 void BLAS_dskew_testgen_hemv(int norm, enum blas_order_type order,
1547 			     enum blas_uplo_type uplo, int n, int randomize,
1548 			     double *alpha, double *beta, double *a, int lda,
1549 			     double *x, int incx, double *y, int incy,
1550 			     int *seed, double *head_r_true,
1551 			     double *tail_r_true);
1552 void BLAS_dskew_testgen_hemv_d_s(int norm, enum blas_order_type order,
1553 				 enum blas_uplo_type uplo, int n,
1554 				 int randomize, double *alpha, double *beta,
1555 				 double *a, int lda, float *x, int incx,
1556 				 double *y, int incy, int *seed,
1557 				 double *head_r_true, double *tail_r_true);
1558 void BLAS_dskew_testgen_hemv_s_d(int norm, enum blas_order_type order,
1559 				 enum blas_uplo_type uplo, int n,
1560 				 int randomize, double *alpha, double *beta,
1561 				 float *a, int lda, double *x, int incx,
1562 				 double *y, int incy, int *seed,
1563 				 double *head_r_true, double *tail_r_true);
1564 void BLAS_dskew_testgen_hemv_s_s(int norm, enum blas_order_type order,
1565 				 enum blas_uplo_type uplo, int n,
1566 				 int randomize, double *alpha, double *beta,
1567 				 float *a, int lda, float *x, int incx,
1568 				 double *y, int incy, int *seed,
1569 				 double *head_r_true, double *tail_r_true);
1570 
1571 void BLAS_chemv_testgen(int norm, enum blas_order_type order,
1572 			enum blas_uplo_type uplo,
1573 			int n, int randomize,
1574 			void *alpha, int alpha_flag, void *beta,
1575 			int beta_flag, void *a, int lda, void *x, int incx,
1576 			void *y, int incy, int *seed, double *head_r_true,
1577 			double *tail_r_true);
1578 void BLAS_zhemv_testgen(int norm, enum blas_order_type order,
1579 			enum blas_uplo_type uplo, int n, int randomize,
1580 			void *alpha, int alpha_flag, void *beta,
1581 			int beta_flag, void *a, int lda, void *x, int incx,
1582 			void *y, int incy, int *seed, double *head_r_true,
1583 			double *tail_r_true);
1584 void BLAS_zhemv_c_z_testgen(int norm, enum blas_order_type order,
1585 			    enum blas_uplo_type uplo, int n, int randomize,
1586 			    void *alpha, int alpha_flag, void *beta,
1587 			    int beta_flag, void *a, int lda, void *x,
1588 			    int incx, void *y, int incy, int *seed,
1589 			    double *head_r_true, double *tail_r_true);
1590 void BLAS_zhemv_z_c_testgen(int norm, enum blas_order_type order,
1591 			    enum blas_uplo_type uplo, int n, int randomize,
1592 			    void *alpha, int alpha_flag, void *beta,
1593 			    int beta_flag, void *a, int lda, void *x,
1594 			    int incx, void *y, int incy, int *seed,
1595 			    double *head_r_true, double *tail_r_true);
1596 void BLAS_zhemv_c_c_testgen(int norm, enum blas_order_type order,
1597 			    enum blas_uplo_type uplo, int n, int randomize,
1598 			    void *alpha, int alpha_flag, void *beta,
1599 			    int beta_flag, void *a, int lda, void *x,
1600 			    int incx, void *y, int incy, int *seed,
1601 			    double *head_r_true, double *tail_r_true);
1602 void BLAS_zhemv_z_d_testgen(int norm, enum blas_order_type order,
1603 			    enum blas_uplo_type uplo, int n, int randomize,
1604 			    void *alpha, int alpha_flag, void *beta,
1605 			    int beta_flag, void *a, int lda, double *x,
1606 			    int incx, void *y, int incy, int *seed,
1607 			    double *head_r_true, double *tail_r_true);
1608 void BLAS_chemv_c_s_testgen(int norm, enum blas_order_type order,
1609 			    enum blas_uplo_type uplo, int n, int randomize,
1610 			    void *alpha, int alpha_flag, void *beta,
1611 			    int beta_flag, void *a, int lda, float *x,
1612 			    int incx, void *y, int incy, int *seed,
1613 			    double *head_r_true, double *tail_r_true);
1614 void che_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
1615 		  enum blas_side_type side, int n, void *a, int lda,
1616 		  void *a_vec, int row);
1617 void zhe_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
1618 		  enum blas_side_type side, int n, void *a, int lda,
1619 		  void *a_vec, int row);
1620 
1621 void che_print_matrix(void *a, int n, int lda,
1622 		      enum blas_order_type order, enum blas_uplo_type uplo);
1623 void zhe_print_matrix(void *a, int n, int lda,
1624 		      enum blas_order_type order, enum blas_uplo_type uplo);
1625 
1626 void sskew_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1627 		      enum blas_side_type side, int n, float *a, int lda,
1628 		      float *a_vec, int row);
1629 void dskew_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1630 		      enum blas_side_type side, int n, double *a, int lda,
1631 		      double *a_vec, int row);
1632 
1633 void sskew_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
1634 		    enum blas_side_type side, int n, float *a, int lda,
1635 		    float *a_vec, int row);
1636 void dskew_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
1637 		    enum blas_side_type side, int n, double *a, int lda,
1638 		    double *a_vec, int row);
1639 
1640 void BLAS_sskew_testgen_hbmv(int norm, enum blas_order_type order,
1641 			     enum blas_uplo_type uplo,
1642 			     int n, int randomize,
1643 			     float *alpha, float *beta,
1644 			     float *a, int k, int lda, float *x, int incx,
1645 			     float *y, int incy, int *seed,
1646 			     double *head_r_true, double *tail_r_true);
1647 void BLAS_dskew_testgen_hbmv(int norm, enum blas_order_type order,
1648 			     enum blas_uplo_type uplo, int n, int randomize,
1649 			     double *alpha, double *beta, double *a, int k,
1650 			     int lda, double *x, int incx, double *y,
1651 			     int incy, int *seed, double *head_r_true,
1652 			     double *tail_r_true);
1653 void BLAS_dskew_testgen_hbmv_d_s(int norm, enum blas_order_type order,
1654 				 enum blas_uplo_type uplo, int n,
1655 				 int randomize, double *alpha, double *beta,
1656 				 double *a, int k, int lda, float *x,
1657 				 int incx, double *y, int incy, int *seed,
1658 				 double *head_r_true, double *tail_r_true);
1659 void BLAS_dskew_testgen_hbmv_s_d(int norm, enum blas_order_type order,
1660 				 enum blas_uplo_type uplo, int n,
1661 				 int randomize, double *alpha, double *beta,
1662 				 float *a, int k, int lda, double *x,
1663 				 int incx, double *y, int incy, int *seed,
1664 				 double *head_r_true, double *tail_r_true);
1665 void BLAS_dskew_testgen_hbmv_s_s(int norm, enum blas_order_type order,
1666 				 enum blas_uplo_type uplo, int n,
1667 				 int randomize, double *alpha, double *beta,
1668 				 float *a, int k, int lda, float *x, int incx,
1669 				 double *y, int incy, int *seed,
1670 				 double *head_r_true, double *tail_r_true);
1671 
1672 void BLAS_chbmv_testgen(int norm, enum blas_order_type order,
1673 			enum blas_uplo_type uplo, int n, int randomize,
1674 			void *alpha, int alpha_flag, void *beta,
1675 			int beta_flag, void *a, int k, int lda, void *x,
1676 			int incx, void *y, int incy, int *seed,
1677 			double *head_r_true, double *tail_r_true);
1678 void BLAS_zhbmv_testgen(int norm, enum blas_order_type order,
1679 			enum blas_uplo_type uplo, int n, int randomize,
1680 			void *alpha, int alpha_flag, void *beta,
1681 			int beta_flag, void *a, int k, int lda, void *x,
1682 			int incx, void *y, int incy, int *seed,
1683 			double *head_r_true, double *tail_r_true);
1684 void BLAS_zhbmv_c_z_testgen(int norm, enum blas_order_type order,
1685 			    enum blas_uplo_type uplo, int n, int randomize,
1686 			    void *alpha, int alpha_flag, void *beta,
1687 			    int beta_flag, void *a, int k, int lda, void *x,
1688 			    int incx, void *y, int incy, int *seed,
1689 			    double *head_r_true, double *tail_r_true);
1690 void BLAS_zhbmv_z_c_testgen(int norm, enum blas_order_type order,
1691 			    enum blas_uplo_type uplo, int n, int randomize,
1692 			    void *alpha, int alpha_flag, void *beta,
1693 			    int beta_flag, void *a, int k, int lda, void *x,
1694 			    int incx, void *y, int incy, int *seed,
1695 			    double *head_r_true, double *tail_r_true);
1696 void BLAS_zhbmv_c_c_testgen(int norm, enum blas_order_type order,
1697 			    enum blas_uplo_type uplo, int n, int randomize,
1698 			    void *alpha, int alpha_flag, void *beta,
1699 			    int beta_flag, void *a, int k, int lda, void *x,
1700 			    int incx, void *y, int incy, int *seed,
1701 			    double *head_r_true, double *tail_r_true);
1702 void BLAS_zhbmv_z_d_testgen(int norm, enum blas_order_type order,
1703 			    enum blas_uplo_type uplo, int n, int randomize,
1704 			    void *alpha, int alpha_flag, void *beta,
1705 			    int beta_flag, void *a, int k, int lda, double *x,
1706 			    int incx, void *y, int incy, int *seed,
1707 			    double *head_r_true, double *tail_r_true);
1708 void BLAS_chbmv_c_s_testgen(int norm, enum blas_order_type order,
1709 			    enum blas_uplo_type uplo, int n, int randomize,
1710 			    void *alpha, int alpha_flag, void *beta,
1711 			    int beta_flag, void *a, int k, int lda, float *x,
1712 			    int incx, void *y, int incy, int *seed,
1713 			    double *head_r_true, double *tail_r_true);
1714 
1715 void sskew_commit_row_hbmv(enum blas_order_type order,
1716 			   enum blas_uplo_type uplo, int n, float *a, int k,
1717 			   int lda, float *a_vec, int row);
1718 void dskew_commit_row_hbmv(enum blas_order_type order,
1719 			   enum blas_uplo_type uplo, int n, double *a, int k,
1720 			   int lda, double *a_vec, int row);
1721 
1722 void chbmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1723 		      int n, void *a, int k, int lda, void *a_vec, int row);
1724 void zhbmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1725 		      int n, void *a, int k, int lda, void *a_vec, int row);
1726 
1727 void sskew_copy_row_hbmv(enum blas_order_type order, enum blas_uplo_type uplo,
1728 			 int n, float *a, int k, int lda,
1729 			 float *a_vec, int row);
1730 void dskew_copy_row_hbmv(enum blas_order_type order, enum blas_uplo_type uplo,
1731 			 int n, double *a, int k, int lda,
1732 			 double *a_vec, int row);
1733 
1734 void chbmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
1735 		    int n, void *a, int k, int lda, void *a_vec, int row);
1736 void zhbmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
1737 		    int n, void *a, int k, int lda, void *a_vec, int row);
1738 
1739 void cprint_hbmv_matrix(void *a, int n, int k, int lda,
1740 			enum blas_order_type order, enum blas_uplo_type uplo);
1741 void zprint_hbmv_matrix(void *a, int n, int k, int lda,
1742 			enum blas_order_type order, enum blas_uplo_type uplo);
1743 
1744 void BLAS_ssymm_testgen(int norm, enum blas_order_type order,
1745 			enum blas_uplo_type uplo, enum blas_side_type side,
1746 			int m, int n, int randomize, float *alpha,
1747 			int alpha_flag, float *beta, int beta_flag, float *a,
1748 			int lda, float *b, int ldb, float *c, int ldc,
1749 			int *seed, double *head_r_true, double *tail_r_true);
1750 void BLAS_dsymm_testgen(int norm, enum blas_order_type order,
1751 			enum blas_uplo_type uplo, enum blas_side_type side,
1752 			int m, int n, int randomize, double *alpha,
1753 			int alpha_flag, double *beta, int beta_flag,
1754 			double *a, int lda, double *b, int ldb, double *c,
1755 			int ldc, int *seed, double *head_r_true,
1756 			double *tail_r_true);
1757 void BLAS_csymm_testgen(int norm, enum blas_order_type order,
1758 			enum blas_uplo_type uplo, enum blas_side_type side,
1759 			int m, int n, int randomize, void *alpha,
1760 			int alpha_flag, void *beta, int beta_flag, void *a,
1761 			int lda, void *b, int ldb, void *c, int ldc,
1762 			int *seed, double *head_r_true, double *tail_r_true);
1763 void BLAS_zsymm_testgen(int norm, enum blas_order_type order,
1764 			enum blas_uplo_type uplo, enum blas_side_type side,
1765 			int m, int n, int randomize, void *alpha,
1766 			int alpha_flag, void *beta, int beta_flag, void *a,
1767 			int lda, void *b, int ldb, void *c, int ldc,
1768 			int *seed, double *head_r_true, double *tail_r_true);
1769 void BLAS_csymm_s_s_testgen(int norm, enum blas_order_type order,
1770 			    enum blas_uplo_type uplo,
1771 			    enum blas_side_type side, int m, int n,
1772 			    int randomize, void *alpha, int alpha_flag,
1773 			    void *beta, int beta_flag, float *a, int lda,
1774 			    float *b, int ldb, void *c, int ldc, int *seed,
1775 			    double *head_r_true, double *tail_r_true);
1776 void BLAS_csymm_s_c_testgen(int norm, enum blas_order_type order,
1777 			    enum blas_uplo_type uplo,
1778 			    enum blas_side_type side, int m, int n,
1779 			    int randomize, void *alpha, int alpha_flag,
1780 			    void *beta, int beta_flag, float *a, int lda,
1781 			    void *b, int ldb, void *c, int ldc, int *seed,
1782 			    double *head_r_true, double *tail_r_true);
1783 void BLAS_csymm_c_s_testgen(int norm, enum blas_order_type order,
1784 			    enum blas_uplo_type uplo,
1785 			    enum blas_side_type side, int m, int n,
1786 			    int randomize, void *alpha, int alpha_flag,
1787 			    void *beta, int beta_flag, void *a, int lda,
1788 			    float *b, int ldb, void *c, int ldc, int *seed,
1789 			    double *head_r_true, double *tail_r_true);
1790 void BLAS_zsymm_d_d_testgen(int norm, enum blas_order_type order,
1791 			    enum blas_uplo_type uplo,
1792 			    enum blas_side_type side, int m, int n,
1793 			    int randomize, void *alpha, int alpha_flag,
1794 			    void *beta, int beta_flag, double *a, int lda,
1795 			    double *b, int ldb, void *c, int ldc, int *seed,
1796 			    double *head_r_true, double *tail_r_true);
1797 void BLAS_zsymm_d_z_testgen(int norm, enum blas_order_type order,
1798 			    enum blas_uplo_type uplo,
1799 			    enum blas_side_type side, int m, int n,
1800 			    int randomize, void *alpha, int alpha_flag,
1801 			    void *beta, int beta_flag, double *a, int lda,
1802 			    void *b, int ldb, void *c, int ldc, int *seed,
1803 			    double *head_r_true, double *tail_r_true);
1804 void BLAS_zsymm_z_d_testgen(int norm, enum blas_order_type order,
1805 			    enum blas_uplo_type uplo,
1806 			    enum blas_side_type side, int m, int n,
1807 			    int randomize, void *alpha, int alpha_flag,
1808 			    void *beta, int beta_flag, void *a, int lda,
1809 			    double *b, int ldb, void *c, int ldc, int *seed,
1810 			    double *head_r_true, double *tail_r_true);
1811 void BLAS_dsymm_s_s_testgen(int norm, enum blas_order_type order,
1812 			    enum blas_uplo_type uplo,
1813 			    enum blas_side_type side, int m, int n,
1814 			    int randomize, double *alpha, int alpha_flag,
1815 			    double *beta, int beta_flag, float *a, int lda,
1816 			    float *b, int ldb, double *c, int ldc, int *seed,
1817 			    double *head_r_true, double *tail_r_true);
1818 void BLAS_dsymm_s_d_testgen(int norm, enum blas_order_type order,
1819 			    enum blas_uplo_type uplo,
1820 			    enum blas_side_type side, int m, int n,
1821 			    int randomize, double *alpha, int alpha_flag,
1822 			    double *beta, int beta_flag, float *a, int lda,
1823 			    double *b, int ldb, double *c, int ldc, int *seed,
1824 			    double *head_r_true, double *tail_r_true);
1825 void BLAS_dsymm_d_s_testgen(int norm, enum blas_order_type order,
1826 			    enum blas_uplo_type uplo,
1827 			    enum blas_side_type side, int m, int n,
1828 			    int randomize, double *alpha, int alpha_flag,
1829 			    double *beta, int beta_flag, double *a, int lda,
1830 			    float *b, int ldb, double *c, int ldc, int *seed,
1831 			    double *head_r_true, double *tail_r_true);
1832 void BLAS_zsymm_c_c_testgen(int norm, enum blas_order_type order,
1833 			    enum blas_uplo_type uplo,
1834 			    enum blas_side_type side, int m, int n,
1835 			    int randomize, void *alpha, int alpha_flag,
1836 			    void *beta, int beta_flag, void *a, int lda,
1837 			    void *b, int ldb, void *c, int ldc, int *seed,
1838 			    double *head_r_true, double *tail_r_true);
1839 void BLAS_zsymm_c_z_testgen(int norm, enum blas_order_type order,
1840 			    enum blas_uplo_type uplo,
1841 			    enum blas_side_type side, int m, int n,
1842 			    int randomize, void *alpha, int alpha_flag,
1843 			    void *beta, int beta_flag, void *a, int lda,
1844 			    void *b, int ldb, void *c, int ldc, int *seed,
1845 			    double *head_r_true, double *tail_r_true);
1846 void BLAS_zsymm_z_c_testgen(int norm, enum blas_order_type order,
1847 			    enum blas_uplo_type uplo,
1848 			    enum blas_side_type side, int m, int n,
1849 			    int randomize, void *alpha, int alpha_flag,
1850 			    void *beta, int beta_flag, void *a, int lda,
1851 			    void *b, int ldb, void *c, int ldc, int *seed,
1852 			    double *head_r_true, double *tail_r_true);
1853 
1854 void BLAS_chemm_testgen(int norm, enum blas_order_type order,
1855 			enum blas_uplo_type uplo, enum blas_side_type side,
1856 			int m, int n, int randomize, void *alpha,
1857 			int alpha_flag, void *beta, int beta_flag, void *a,
1858 			int lda, void *b, int ldb, void *c, int ldc,
1859 			int *seed, double *head_r_true, double *tail_r_true);
1860 void BLAS_zhemm_testgen(int norm, enum blas_order_type order,
1861 			enum blas_uplo_type uplo, enum blas_side_type side,
1862 			int m, int n, int randomize, void *alpha,
1863 			int alpha_flag, void *beta, int beta_flag, void *a,
1864 			int lda, void *b, int ldb, void *c, int ldc,
1865 			int *seed, double *head_r_true, double *tail_r_true);
1866 void BLAS_zhemm_c_z_testgen(int norm, enum blas_order_type order,
1867 			    enum blas_uplo_type uplo,
1868 			    enum blas_side_type side, int m, int n,
1869 			    int randomize, void *alpha, int alpha_flag,
1870 			    void *beta, int beta_flag, void *a, int lda,
1871 			    void *b, int ldb, void *c, int ldc, int *seed,
1872 			    double *head_r_true, double *tail_r_true);
1873 void BLAS_zhemm_z_c_testgen(int norm, enum blas_order_type order,
1874 			    enum blas_uplo_type uplo,
1875 			    enum blas_side_type side, int m, int n,
1876 			    int randomize, void *alpha, int alpha_flag,
1877 			    void *beta, int beta_flag, void *a, int lda,
1878 			    void *b, int ldb, void *c, int ldc, int *seed,
1879 			    double *head_r_true, double *tail_r_true);
1880 void BLAS_zhemm_c_c_testgen(int norm, enum blas_order_type order,
1881 			    enum blas_uplo_type uplo,
1882 			    enum blas_side_type side, int m, int n,
1883 			    int randomize, void *alpha, int alpha_flag,
1884 			    void *beta, int beta_flag, void *a, int lda,
1885 			    void *b, int ldb, void *c, int ldc, int *seed,
1886 			    double *head_r_true, double *tail_r_true);
1887 
1888 void BLAS_zhemm_z_d_testgen(int norm, enum blas_order_type order,
1889 			    enum blas_uplo_type uplo,
1890 			    enum blas_side_type side, int m, int n,
1891 			    int randomize, void *alpha, int alpha_flag,
1892 			    void *beta, int beta_flag, void *a, int lda,
1893 			    double *b, int ldb, void *c, int ldc, int *seed,
1894 			    double *head_r_true, double *tail_r_true);
1895 void BLAS_chemm_c_s_testgen(int norm, enum blas_order_type order,
1896 			    enum blas_uplo_type uplo,
1897 			    enum blas_side_type side, int m, int n,
1898 			    int randomize, void *alpha, int alpha_flag,
1899 			    void *beta, int beta_flag, void *a, int lda,
1900 			    float *b, int ldb, void *c, int ldc, int *seed,
1901 			    double *head_r_true, double *tail_r_true);
1902 
1903 void BLAS_sskew_testgen(int norm, enum blas_order_type order,
1904 			enum blas_uplo_type uplo, enum blas_side_type side,
1905 			int m, int n, float *alpha, int alpha_flag,
1906 			float *beta, int beta_flag, float *a, int lda,
1907 			float *b, int ldb, float *c, int ldc, int *seed,
1908 			double *head_r_true, double *tail_r_true);
1909 void BLAS_dskew_testgen(int norm, enum blas_order_type order,
1910 			enum blas_uplo_type uplo, enum blas_side_type side,
1911 			int m, int n, double *alpha, int alpha_flag,
1912 			double *beta, int beta_flag, double *a, int lda,
1913 			double *b, int ldb, double *c, int ldc, int *seed,
1914 			double *head_r_true, double *tail_r_true);
1915 void BLAS_dskew_d_s_testgen(int norm, enum blas_order_type order,
1916 			    enum blas_uplo_type uplo,
1917 			    enum blas_side_type side, int m, int n,
1918 			    double *alpha, int alpha_flag, double *beta,
1919 			    int beta_flag, double *a, int lda, float *b,
1920 			    int ldb, double *c, int ldc, int *seed,
1921 			    double *head_r_true, double *tail_r_true);
1922 void BLAS_dskew_s_d_testgen(int norm, enum blas_order_type order,
1923 			    enum blas_uplo_type uplo,
1924 			    enum blas_side_type side, int m, int n,
1925 			    double *alpha, int alpha_flag, double *beta,
1926 			    int beta_flag, float *a, int lda, double *b,
1927 			    int ldb, double *c, int ldc, int *seed,
1928 			    double *head_r_true, double *tail_r_true);
1929 void BLAS_dskew_s_s_testgen(int norm, enum blas_order_type order,
1930 			    enum blas_uplo_type uplo,
1931 			    enum blas_side_type side, int m, int n,
1932 			    double *alpha, int alpha_flag, double *beta,
1933 			    int beta_flag, float *a, int lda, float *b,
1934 			    int ldb, double *c, int ldc, int *seed,
1935 			    double *head_r_true, double *tail_r_true);
1936 
1937 
1938 void BLAS_chpmv_testgen(int norm, enum blas_order_type order,
1939 			enum blas_uplo_type uplo,
1940 			int n, int randomize,
1941 			void *alpha, int alpha_flag, void *beta,
1942 			int beta_flag, void *a, void *x, int incx, void *y,
1943 			int incy, int *seed, double *r_true_l,
1944 			double *r_true_t);
1945 void BLAS_zhpmv_testgen(int norm, enum blas_order_type order,
1946 			enum blas_uplo_type uplo, int n, int randomize,
1947 			void *alpha, int alpha_flag, void *beta,
1948 			int beta_flag, void *a, void *x, int incx, void *y,
1949 			int incy, int *seed, double *r_true_l,
1950 			double *r_true_t);
1951 void BLAS_zhpmv_c_z_testgen(int norm, enum blas_order_type order,
1952 			    enum blas_uplo_type uplo, int n, int randomize,
1953 			    void *alpha, int alpha_flag, void *beta,
1954 			    int beta_flag, void *a, void *x, int incx,
1955 			    void *y, int incy, int *seed, double *r_true_l,
1956 			    double *r_true_t);
1957 void BLAS_zhpmv_z_c_testgen(int norm, enum blas_order_type order,
1958 			    enum blas_uplo_type uplo, int n, int randomize,
1959 			    void *alpha, int alpha_flag, void *beta,
1960 			    int beta_flag, void *a, void *x, int incx,
1961 			    void *y, int incy, int *seed, double *r_true_l,
1962 			    double *r_true_t);
1963 void BLAS_zhpmv_c_c_testgen(int norm, enum blas_order_type order,
1964 			    enum blas_uplo_type uplo, int n, int randomize,
1965 			    void *alpha, int alpha_flag, void *beta,
1966 			    int beta_flag, void *a, void *x, int incx,
1967 			    void *y, int incy, int *seed, double *r_true_l,
1968 			    double *r_true_t);
1969 void BLAS_zhpmv_z_d_testgen(int norm, enum blas_order_type order,
1970 			    enum blas_uplo_type uplo, int n, int randomize,
1971 			    void *alpha, int alpha_flag, void *beta,
1972 			    int beta_flag, void *a, double *x, int incx,
1973 			    void *y, int incy, int *seed, double *r_true_l,
1974 			    double *r_true_t);
1975 void BLAS_chpmv_c_s_testgen(int norm, enum blas_order_type order,
1976 			    enum blas_uplo_type uplo, int n, int randomize,
1977 			    void *alpha, int alpha_flag, void *beta,
1978 			    int beta_flag, void *a, float *x, int incx,
1979 			    void *y, int incy, int *seed, double *r_true_l,
1980 			    double *r_true_t);
1981 void chpmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
1982 		    int n, void *a, void *a_vec, int row);
1983 void zhpmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
1984 		    int n, void *a, void *a_vec, int row);
1985 
1986 void chpmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1987 		      int n, void *a, void *a_vec, int row);
1988 void zhpmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
1989 		      int n, void *a, void *a_vec, int row);
1990 
1991 void chpmv_pack_matrix(enum blas_order_type order, enum blas_uplo_type uplo,
1992 		       int n, void *a_packed, void *a_full, int lda);
1993 void zhpmv_pack_matrix(enum blas_order_type order, enum blas_uplo_type uplo,
1994 		       int n, void *a_packed, void *a_full, int lda);
1995 
1996 void cprint_hpmv_matrix(void *a, int n,
1997 			enum blas_order_type order, enum blas_uplo_type uplo);
1998 void zprint_hpmv_matrix(void *a, int n,
1999 			enum blas_order_type order, enum blas_uplo_type uplo);
2000 
2001 void BLAS_sspmv_testgen(int norm, enum blas_order_type order,
2002 			enum blas_uplo_type uplo, int n, int randomize,
2003 			float *alpha, int alpha_flag, float *beta,
2004 			int beta_flag, float *a, float *x, int incx, float *y,
2005 			int incy, int *seed, double *r_true_l,
2006 			double *r_true_t);
2007 void BLAS_dspmv_testgen(int norm, enum blas_order_type order,
2008 			enum blas_uplo_type uplo, int n, int randomize,
2009 			double *alpha, int alpha_flag, double *beta,
2010 			int beta_flag, double *a, double *x, int incx,
2011 			double *y, int incy, int *seed, double *r_true_l,
2012 			double *r_true_t);
2013 void BLAS_cspmv_testgen(int norm, enum blas_order_type order,
2014 			enum blas_uplo_type uplo, int n, int randomize,
2015 			void *alpha, int alpha_flag, void *beta,
2016 			int beta_flag, void *a, void *x, int incx, void *y,
2017 			int incy, int *seed, double *r_true_l,
2018 			double *r_true_t);
2019 void BLAS_zspmv_testgen(int norm, enum blas_order_type order,
2020 			enum blas_uplo_type uplo, int n, int randomize,
2021 			void *alpha, int alpha_flag, void *beta,
2022 			int beta_flag, void *a, void *x, int incx, void *y,
2023 			int incy, int *seed, double *r_true_l,
2024 			double *r_true_t);
2025 void BLAS_cspmv_s_s_testgen(int norm, enum blas_order_type order,
2026 			    enum blas_uplo_type uplo, int n, int randomize,
2027 			    void *alpha, int alpha_flag, void *beta,
2028 			    int beta_flag, float *a, float *x, int incx,
2029 			    void *y, int incy, int *seed, double *r_true_l,
2030 			    double *r_true_t);
2031 void BLAS_cspmv_s_c_testgen(int norm, enum blas_order_type order,
2032 			    enum blas_uplo_type uplo, int n, int randomize,
2033 			    void *alpha, int alpha_flag, void *beta,
2034 			    int beta_flag, float *a, void *x, int incx,
2035 			    void *y, int incy, int *seed, double *r_true_l,
2036 			    double *r_true_t);
2037 void BLAS_cspmv_c_s_testgen(int norm, enum blas_order_type order,
2038 			    enum blas_uplo_type uplo, int n, int randomize,
2039 			    void *alpha, int alpha_flag, void *beta,
2040 			    int beta_flag, void *a, float *x, int incx,
2041 			    void *y, int incy, int *seed, double *r_true_l,
2042 			    double *r_true_t);
2043 void BLAS_zspmv_d_d_testgen(int norm, enum blas_order_type order,
2044 			    enum blas_uplo_type uplo, int n, int randomize,
2045 			    void *alpha, int alpha_flag, void *beta,
2046 			    int beta_flag, double *a, double *x, int incx,
2047 			    void *y, int incy, int *seed, double *r_true_l,
2048 			    double *r_true_t);
2049 void BLAS_zspmv_d_z_testgen(int norm, enum blas_order_type order,
2050 			    enum blas_uplo_type uplo, int n, int randomize,
2051 			    void *alpha, int alpha_flag, void *beta,
2052 			    int beta_flag, double *a, void *x, int incx,
2053 			    void *y, int incy, int *seed, double *r_true_l,
2054 			    double *r_true_t);
2055 void BLAS_zspmv_z_d_testgen(int norm, enum blas_order_type order,
2056 			    enum blas_uplo_type uplo, int n, int randomize,
2057 			    void *alpha, int alpha_flag, void *beta,
2058 			    int beta_flag, void *a, double *x, int incx,
2059 			    void *y, int incy, int *seed, double *r_true_l,
2060 			    double *r_true_t);
2061 void BLAS_dspmv_s_s_testgen(int norm, enum blas_order_type order,
2062 			    enum blas_uplo_type uplo, int n, int randomize,
2063 			    double *alpha, int alpha_flag, double *beta,
2064 			    int beta_flag, float *a, float *x, int incx,
2065 			    double *y, int incy, int *seed, double *r_true_l,
2066 			    double *r_true_t);
2067 void BLAS_dspmv_s_d_testgen(int norm, enum blas_order_type order,
2068 			    enum blas_uplo_type uplo, int n, int randomize,
2069 			    double *alpha, int alpha_flag, double *beta,
2070 			    int beta_flag, float *a, double *x, int incx,
2071 			    double *y, int incy, int *seed, double *r_true_l,
2072 			    double *r_true_t);
2073 void BLAS_dspmv_d_s_testgen(int norm, enum blas_order_type order,
2074 			    enum blas_uplo_type uplo, int n, int randomize,
2075 			    double *alpha, int alpha_flag, double *beta,
2076 			    int beta_flag, double *a, float *x, int incx,
2077 			    double *y, int incy, int *seed, double *r_true_l,
2078 			    double *r_true_t);
2079 void BLAS_zspmv_c_c_testgen(int norm, enum blas_order_type order,
2080 			    enum blas_uplo_type uplo, int n, int randomize,
2081 			    void *alpha, int alpha_flag, void *beta,
2082 			    int beta_flag, void *a, void *x, int incx,
2083 			    void *y, int incy, int *seed, double *r_true_l,
2084 			    double *r_true_t);
2085 void BLAS_zspmv_c_z_testgen(int norm, enum blas_order_type order,
2086 			    enum blas_uplo_type uplo, int n, int randomize,
2087 			    void *alpha, int alpha_flag, void *beta,
2088 			    int beta_flag, void *a, void *x, int incx,
2089 			    void *y, int incy, int *seed, double *r_true_l,
2090 			    double *r_true_t);
2091 void BLAS_zspmv_z_c_testgen(int norm, enum blas_order_type order,
2092 			    enum blas_uplo_type uplo, int n, int randomize,
2093 			    void *alpha, int alpha_flag, void *beta,
2094 			    int beta_flag, void *a, void *x, int incx,
2095 			    void *y, int incy, int *seed, double *r_true_l,
2096 			    double *r_true_t);
2097 
2098 void sspmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
2099 		    int n, const float *a, float *a_vec, int row);
2100 
2101 void dspmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
2102 		    int n, const double *a, double *a_vec, int row);
2103 
2104 void cspmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
2105 		    int n, const void *a, void *a_vec, int row);
2106 
2107 void zspmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
2108 		    int n, const void *a, void *a_vec, int row);
2109 
2110 
2111 void sspmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
2112 		      int n, float *a, const float *a_vec, int row);
2113 
2114 void dspmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
2115 		      int n, double *a, const double *a_vec, int row);
2116 
2117 void cspmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
2118 		      int n, void *a, const void *a_vec, int row);
2119 
2120 void zspmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
2121 		      int n, void *a, const void *a_vec, int row);
2122 
2123 void sspmv_pack_matrix(enum blas_order_type order, enum blas_uplo_type uplo,
2124 		       int n, float *a_packed, float *a_full, int lda);
2125 void dspmv_pack_matrix(enum blas_order_type order, enum blas_uplo_type uplo,
2126 		       int n, double *a_packed, double *a_full, int lda);
2127 void cspmv_pack_matrix(enum blas_order_type order, enum blas_uplo_type uplo,
2128 		       int n, void *a_packed, void *a_full, int lda);
2129 void zspmv_pack_matrix(enum blas_order_type order, enum blas_uplo_type uplo,
2130 		       int n, void *a_packed, void *a_full, int lda);
2131 
2132 void sprint_spmv_matrix(float *a, int n,
2133 			enum blas_order_type order, enum blas_uplo_type uplo);
2134 void dprint_spmv_matrix(double *a, int n,
2135 			enum blas_order_type order, enum blas_uplo_type uplo);
2136 void cprint_spmv_matrix(void *a, int n,
2137 			enum blas_order_type order, enum blas_uplo_type uplo);
2138 void zprint_spmv_matrix(void *a, int n,
2139 			enum blas_order_type order, enum blas_uplo_type uplo);
2140 
2141 void BLAS_ssum_testgen(int n, int norm, float *x, int *seed,
2142 		       double *sum_true_l, double *sum_true_t);
2143 void BLAS_dsum_testgen(int n, int norm, double *x, int *seed,
2144 		       double *sum_true_l, double *sum_true_t);
2145 void BLAS_csum_testgen(int n, int norm, void *x, int *seed,
2146 		       double *sum_true_l, double *sum_true_t);
2147 void BLAS_zsum_testgen(int n, int norm, void *x, int *seed,
2148 		       double *sum_true_l, double *sum_true_t);
2149 void test_BLAS_ssum(int n, float sum_comp, double sum_true_l,
2150 		    double sum_true_t, float *x, int incx,
2151 		    double eps_int, double un_int, double *test_ratio);
2152 void test_BLAS_dsum(int n, double sum_comp, double sum_true_l,
2153 		    double sum_true_t, double *x, int incx,
2154 		    double eps_int, double un_int, double *test_ratio);
2155 void test_BLAS_csum(int n, const void *sum_comp, double *sum_true_l,
2156 		    double *sum_true_t, void *x, int incx,
2157 		    double eps_int, double un_int, double *test_ratio);
2158 void test_BLAS_zsum(int n, const void *sum_comp, double *sum_true_l,
2159 		    double *sum_true_t, void *x, int incx,
2160 		    double eps_int, double un_int, double *test_ratio);
2161 
2162 void BLAS_sdot_x_testgen(int n, int n_fix2, int n_mix, int norm,
2163 			 enum blas_conj_type conj, float *alpha,
2164 			 int alpha_flag, float *beta, int beta_flag,
2165 			 double *x_l, double *x_t, float *y, int *seed,
2166 			 float *r, double *r_true_l, double *r_true_t);
2167 
2168 void BLAS_ddot_x_testgen(int n, int n_fix2, int n_mix, int norm,
2169 			 enum blas_conj_type conj, double *alpha,
2170 			 int alpha_flag, double *beta, int beta_flag,
2171 			 double *x_l, double *x_t, double *y, int *seed,
2172 			 double *r, double *r_true_l, double *r_true_t);
2173 
2174 void BLAS_ddot_s_x_testgen(int n, int n_fix2, int n_mix, int norm,
2175 			   enum blas_conj_type conj, double *alpha,
2176 			   int alpha_flag, double *beta, int beta_flag,
2177 			   double *x_l, double *x_t, float *y, int *seed,
2178 			   double *r, double *r_true_l, double *r_true_t);
2179 
2180 void testgen_BLAS_sdot_x(int n, int n_fix2, int n_mix, int norm,
2181 			 enum blas_conj_type conj, float *alpha,
2182 			 int alpha_flag, float *beta, int beta_flag,
2183 			 double *x_l, double *x_t, float *y, int *seed,
2184 			 float *r, double *r_true_l, double *r_true_t);
2185 
2186 void BLAS_strsv_testgen(int norm, enum blas_order_type order,
2187 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2188 			enum blas_diag_type diag, int n, float *alpha,
2189 			int alpha_flag, float *T, int lda, float *x,
2190 			int *seed, double *head_r_true, double *tail_r_true,
2191 			int row, enum blas_prec_type prec);
2192 void BLAS_dtrsv_testgen(int norm, enum blas_order_type order,
2193 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2194 			enum blas_diag_type diag, int n, double *alpha,
2195 			int alpha_flag, double *T, int lda, double *x,
2196 			int *seed, double *head_r_true, double *tail_r_true,
2197 			int row, enum blas_prec_type prec);
2198 void BLAS_dtrsv_s_testgen(int norm, enum blas_order_type order,
2199 			  enum blas_uplo_type uplo,
2200 			  enum blas_trans_type trans,
2201 			  enum blas_diag_type diag, int n, double *alpha,
2202 			  int alpha_flag, float *T, int lda, double *x,
2203 			  int *seed, double *head_r_true, double *tail_r_true,
2204 			  int row, enum blas_prec_type prec);
2205 void BLAS_ctrsv_testgen(int norm, enum blas_order_type order,
2206 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2207 			enum blas_diag_type diag, int n, void *alpha,
2208 			int alpha_flag, void *T, int lda, void *x, int *seed,
2209 			double *head_r_true, double *tail_r_true, int row,
2210 			enum blas_prec_type prec);
2211 void BLAS_ztrsv_c_testgen(int norm, enum blas_order_type order,
2212 			  enum blas_uplo_type uplo,
2213 			  enum blas_trans_type trans,
2214 			  enum blas_diag_type diag, int n, void *alpha,
2215 			  int alpha_flag, void *T, int lda, void *x,
2216 			  int *seed, double *head_r_true, double *tail_r_true,
2217 			  int row, enum blas_prec_type prec);
2218 void BLAS_ztrsv_testgen(int norm, enum blas_order_type order,
2219 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2220 			enum blas_diag_type diag, int n, void *alpha,
2221 			int alpha_flag, void *T, int lda, void *x, int *seed,
2222 			double *head_r_true, double *tail_r_true, int row,
2223 			enum blas_prec_type prec);
2224 void BLAS_ctrsv_s_testgen(int norm, enum blas_order_type order,
2225 			  enum blas_uplo_type uplo,
2226 			  enum blas_trans_type trans,
2227 			  enum blas_diag_type diag, int n, void *alpha,
2228 			  int alpha_flag, float *T, int lda, void *x,
2229 			  int *seed, double *head_r_true, double *tail_r_true,
2230 			  int row, enum blas_prec_type prec);
2231 void BLAS_ztrsv_d_testgen(int norm, enum blas_order_type order,
2232 			  enum blas_uplo_type uplo,
2233 			  enum blas_trans_type trans,
2234 			  enum blas_diag_type diag, int n, void *alpha,
2235 			  int alpha_flag, double *T, int lda, void *x,
2236 			  int *seed, double *head_r_true, double *tail_r_true,
2237 			  int row, enum blas_prec_type prec);
2238 void strsv_commit(enum blas_order_type order, enum blas_uplo_type uplo,
2239 		  enum blas_trans_type trans, int length, float *T, int lda,
2240 		  const float *y, int row);
2241 void dtrsv_commit(enum blas_order_type order, enum blas_uplo_type uplo,
2242 		  enum blas_trans_type trans, int length, double *T, int lda,
2243 		  const double *y, int row);
2244 
2245 void BLAS_stbsv_testgen(int norm, enum blas_order_type order,
2246 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2247 			enum blas_diag_type diag, int n, int k, int randomize,
2248 			float *alpha, int alpha_flag, float *T, int ldt,
2249 			float *x, int *seed, double *head_r_true,
2250 			double *tail_r_true, int row,
2251 			enum blas_prec_type prec);
2252 void BLAS_dtbsv_testgen(int norm, enum blas_order_type order,
2253 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2254 			enum blas_diag_type diag, int n, int k, int randomize,
2255 			double *alpha, int alpha_flag, double *T, int ldt,
2256 			double *x, int *seed, double *head_r_true,
2257 			double *tail_r_true, int row,
2258 			enum blas_prec_type prec);
2259 void BLAS_dtbsv_s_testgen(int norm, enum blas_order_type order,
2260 			  enum blas_uplo_type uplo,
2261 			  enum blas_trans_type trans,
2262 			  enum blas_diag_type diag, int n, int k,
2263 			  int randomize, double *alpha, int alpha_flag,
2264 			  float *T, int ldt, double *x, int *seed,
2265 			  double *head_r_true, double *tail_r_true, int row,
2266 			  enum blas_prec_type prec);
2267 void BLAS_ctbsv_testgen(int norm, enum blas_order_type order,
2268 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2269 			enum blas_diag_type diag, int n, int k, int randomize,
2270 			void *alpha, int alpha_flag, void *T, int ldt,
2271 			void *x, int *seed, double *head_r_true,
2272 			double *tail_r_true, int row,
2273 			enum blas_prec_type prec);
2274 void BLAS_ztbsv_c_testgen(int norm, enum blas_order_type order,
2275 			  enum blas_uplo_type uplo,
2276 			  enum blas_trans_type trans,
2277 			  enum blas_diag_type diag, int n, int k,
2278 			  int randomize, void *alpha, int alpha_flag, void *T,
2279 			  int ldt, void *x, int *seed, double *head_r_true,
2280 			  double *tail_r_true, int row,
2281 			  enum blas_prec_type prec);
2282 void BLAS_ztbsv_testgen(int norm, enum blas_order_type order,
2283 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2284 			enum blas_diag_type diag, int n, int k, int randomize,
2285 			void *alpha, int alpha_flag, void *T, int ldt,
2286 			void *x, int *seed, double *head_r_true,
2287 			double *tail_r_true, int row,
2288 			enum blas_prec_type prec);
2289 void BLAS_ctbsv_s_testgen(int norm, enum blas_order_type order,
2290 			  enum blas_uplo_type uplo,
2291 			  enum blas_trans_type trans,
2292 			  enum blas_diag_type diag, int n, int k,
2293 			  int randomize, void *alpha, int alpha_flag,
2294 			  float *T, int ldt, void *x, int *seed,
2295 			  double *head_r_true, double *tail_r_true, int row,
2296 			  enum blas_prec_type prec);
2297 void BLAS_ztbsv_d_testgen(int norm, enum blas_order_type order,
2298 			  enum blas_uplo_type uplo,
2299 			  enum blas_trans_type trans,
2300 			  enum blas_diag_type diag, int n, int k,
2301 			  int randomize, void *alpha, int alpha_flag,
2302 			  double *T, int ldt, void *x, int *seed,
2303 			  double *head_r_true, double *tail_r_true, int row,
2304 			  enum blas_prec_type prec);
2305 void stbsv_copy(enum blas_order_type order, enum blas_uplo_type uplo,
2306 		enum blas_trans_type trans, int n, int k, const float *T,
2307 		int ldt, float *y, int row);
2308 void dtbsv_copy(enum blas_order_type order, enum blas_uplo_type uplo,
2309 		enum blas_trans_type trans, int n, int k, const double *T,
2310 		int ldt, double *y, int row);
2311 void ctbsv_copy(enum blas_order_type order, enum blas_uplo_type uplo,
2312 		enum blas_trans_type trans, int n, int k, const void *T,
2313 		int ldt, void *y, int row);
2314 void ztbsv_copy(enum blas_order_type order, enum blas_uplo_type uplo,
2315 		enum blas_trans_type trans, int n, int k, const void *T,
2316 		int ldt, void *y, int row);
2317 
2318 void stbsv_commit(enum blas_order_type order, enum blas_uplo_type uplo,
2319 		  enum blas_trans_type trans, int n, int k, float *T, int ldt,
2320 		  float *y, int row);
2321 void dtbsv_commit(enum blas_order_type order, enum blas_uplo_type uplo,
2322 		  enum blas_trans_type trans, int n, int k, double *T,
2323 		  int ldt, double *y, int row);
2324 void ctbsv_commit(enum blas_order_type order, enum blas_uplo_type uplo,
2325 		  enum blas_trans_type trans, int n, int k, void *T, int ldt,
2326 		  void *y, int row);
2327 void ztbsv_commit(enum blas_order_type order, enum blas_uplo_type uplo,
2328 		  enum blas_trans_type trans, int n, int k, void *T, int ldt,
2329 		  void *y, int row);
2330 
2331 void sprint_tbsv_matrix(float *T, int n, int k, int ldt,
2332 			enum blas_order_type order, enum blas_uplo_type uplo,
2333 			enum blas_trans_type trans);
2334 void dprint_tbsv_matrix(double *T, int n, int k, int ldt,
2335 			enum blas_order_type order, enum blas_uplo_type uplo,
2336 			enum blas_trans_type trans);
2337 void cprint_tbsv_matrix(void *T, int n, int k, int ldt,
2338 			enum blas_order_type order, enum blas_uplo_type uplo,
2339 			enum blas_trans_type trans);
2340 void zprint_tbsv_matrix(void *T, int n, int k, int ldt,
2341 			enum blas_order_type order, enum blas_uplo_type uplo,
2342 			enum blas_trans_type trans);
2343 
2344 
2345 void BLAS_stpmv_testgen(int norm, enum blas_order_type order,
2346 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2347 			enum blas_diag_type diag, int n, float *alpha,
2348 			int alpha_flag, float *tp, float *x, int *seed,
2349 			double *head_r_true, double *tail_r_true);
2350 void BLAS_dtpmv_testgen(int norm, enum blas_order_type order,
2351 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2352 			enum blas_diag_type diag, int n, double *alpha,
2353 			int alpha_flag, double *tp, double *x, int *seed,
2354 			double *head_r_true, double *tail_r_true);
2355 void BLAS_ctpmv_testgen(int norm, enum blas_order_type order,
2356 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2357 			enum blas_diag_type diag, int n, void *alpha,
2358 			int alpha_flag, void *tp, void *x, int *seed,
2359 			double *head_r_true, double *tail_r_true);
2360 void BLAS_ztpmv_testgen(int norm, enum blas_order_type order,
2361 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2362 			enum blas_diag_type diag, int n, void *alpha,
2363 			int alpha_flag, void *tp, void *x, int *seed,
2364 			double *head_r_true, double *tail_r_true);
2365 void BLAS_dtpmv_s_testgen(int norm, enum blas_order_type order,
2366 			  enum blas_uplo_type uplo,
2367 			  enum blas_trans_type trans,
2368 			  enum blas_diag_type diag, int n, double *alpha,
2369 			  int alpha_flag, float *tp, double *x, int *seed,
2370 			  double *head_r_true, double *tail_r_true);
2371 void BLAS_ztpmv_c_testgen(int norm, enum blas_order_type order,
2372 			  enum blas_uplo_type uplo,
2373 			  enum blas_trans_type trans,
2374 			  enum blas_diag_type diag, int n, void *alpha,
2375 			  int alpha_flag, void *tp, void *x, int *seed,
2376 			  double *head_r_true, double *tail_r_true);
2377 void BLAS_ctpmv_s_testgen(int norm, enum blas_order_type order,
2378 			  enum blas_uplo_type uplo,
2379 			  enum blas_trans_type trans,
2380 			  enum blas_diag_type diag, int n, void *alpha,
2381 			  int alpha_flag, float *tp, void *x, int *seed,
2382 			  double *head_r_true, double *tail_r_true);
2383 void BLAS_ztpmv_d_testgen(int norm, enum blas_order_type order,
2384 			  enum blas_uplo_type uplo,
2385 			  enum blas_trans_type trans,
2386 			  enum blas_diag_type diag, int n, void *alpha,
2387 			  int alpha_flag, double *tp, void *x, int *seed,
2388 			  double *head_r_true, double *tail_r_true);
2389 void stpmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
2390 		    enum blas_trans_type trans, int n, const float *a,
2391 		    float *a_vec, int row);
2392 void dtpmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
2393 		    enum blas_trans_type trans, int n, const double *a,
2394 		    double *a_vec, int row);
2395 void ctpmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
2396 		    enum blas_trans_type trans, int n, const void *a,
2397 		    void *a_vec, int row);
2398 void ztpmv_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
2399 		    enum blas_trans_type trans, int n, const void *a,
2400 		    void *a_vec, int row);
2401 
2402 void stpmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
2403 		      enum blas_trans_type trans, int n, float *a,
2404 		      const float *a_vec, int row);
2405 void dtpmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
2406 		      enum blas_trans_type trans, int n, double *a,
2407 		      const double *a_vec, int row);
2408 void ctpmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
2409 		      enum blas_trans_type trans, int n, void *a,
2410 		      const void *a_vec, int row);
2411 void ztpmv_commit_row(enum blas_order_type order, enum blas_uplo_type uplo,
2412 		      enum blas_trans_type trans, int n, void *a,
2413 		      const void *a_vec, int row);
2414 
2415 void BLAS_strmv_testgen(int norm, enum blas_order_type order,
2416 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2417 			enum blas_diag_type diag, int n, float *alpha,
2418 			int alpha_flag, float *T, int ldt, float *x,
2419 			int *seed, double *head_r_true, double *tail_r_true);
2420 void BLAS_dtrmv_testgen(int norm, enum blas_order_type order,
2421 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2422 			enum blas_diag_type diag, int n, double *alpha,
2423 			int alpha_flag, double *T, int ldt, double *x,
2424 			int *seed, double *head_r_true, double *tail_r_true);
2425 void BLAS_dtrmv_s_testgen(int norm, enum blas_order_type order,
2426 			  enum blas_uplo_type uplo,
2427 			  enum blas_trans_type trans,
2428 			  enum blas_diag_type diag, int n, double *alpha,
2429 			  int alpha_flag, float *T, int ldt, double *x,
2430 			  int *seed, double *head_r_true,
2431 			  double *tail_r_true);
2432 void BLAS_ctrmv_testgen(int norm, enum blas_order_type order,
2433 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2434 			enum blas_diag_type diag, int n, void *alpha,
2435 			int alpha_flag, void *T, int ldt, void *x, int *seed,
2436 			double *head_r_true, double *tail_r_true);
2437 void BLAS_ztrmv_c_testgen(int norm, enum blas_order_type order,
2438 			  enum blas_uplo_type uplo,
2439 			  enum blas_trans_type trans,
2440 			  enum blas_diag_type diag, int n, void *alpha,
2441 			  int alpha_flag, void *T, int ldt, void *x,
2442 			  int *seed, double *head_r_true,
2443 			  double *tail_r_true);
2444 void BLAS_ztrmv_testgen(int norm, enum blas_order_type order,
2445 			enum blas_uplo_type uplo, enum blas_trans_type trans,
2446 			enum blas_diag_type diag, int n, void *alpha,
2447 			int alpha_flag, void *T, int ldt, void *x, int *seed,
2448 			double *head_r_true, double *tail_r_true);
2449 void BLAS_ctrmv_s_testgen(int norm, enum blas_order_type order,
2450 			  enum blas_uplo_type uplo,
2451 			  enum blas_trans_type trans,
2452 			  enum blas_diag_type diag, int n, void *alpha,
2453 			  int alpha_flag, float *T, int ldt, void *x,
2454 			  int *seed, double *head_r_true,
2455 			  double *tail_r_true);
2456 void BLAS_ztrmv_d_testgen(int norm, enum blas_order_type order,
2457 			  enum blas_uplo_type uplo,
2458 			  enum blas_trans_type trans,
2459 			  enum blas_diag_type diag, int n, void *alpha,
2460 			  int alpha_flag, double *T, int ldt, void *x,
2461 			  int *seed, double *head_r_true,
2462 			  double *tail_r_true);
2463 void str_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
2464 		  enum blas_trans_type trans, int n, const float *T, int ldt,
2465 		  float *y, int row);
2466 void dtr_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
2467 		  enum blas_trans_type trans, int n, const double *T, int ldt,
2468 		  double *y, int row);
2469 void ctr_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
2470 		  enum blas_trans_type trans, int n, const void *T, int ldt,
2471 		  void *y, int row);
2472 void ztr_copy_row(enum blas_order_type order, enum blas_uplo_type uplo,
2473 		  enum blas_trans_type trans, int n, const void *T, int ldt,
2474 		  void *y, int row);
2475 
2476 #endif /* BLAS_EXTENDED_TEST_H */
2477