Added script front-end for primer-design code
[htsworkflow.git] / htswanalysis / MACS / lib / gsl / gsl-1.11 / cblas / test_gbmv.c
1 #include <gsl/gsl_test.h>
2 #include <gsl/gsl_ieee_utils.h>
3 #include <gsl/gsl_math.h>
4 #include <gsl/gsl_cblas.h>
5
6 #include "tests.h"
7
8 void
9 test_gbmv (void) {
10 const double flteps = 1e-4, dbleps = 1e-6;
11   {
12    int order = 101;
13    int trans = 111;
14    int M = 3;
15    int N = 4;
16    int KL = 1;
17    int KU = 1;
18    int lda = 4;
19    float alpha = -1.0f;
20    float beta = -1.0f;
21    float A[] = { 0.423f, -0.143f, -0.182f, -0.076f, -0.855f, 0.599f, 0.389f, -0.473f, 0.493f, -0.902f, -0.889f, -0.256f, 0.112f, 0.128f, -0.277f, -0.777f };
22    float X[] = { 0.488f, 0.029f, -0.633f, 0.84f };
23    int incX = -1;
24    float Y[] = { 0.874f, 0.322f, -0.477f };
25    int incY = -1;
26    float y_expected[] = { -0.101941f, 0.764086f, 0.481914f };
27    cblas_sgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
28    {
29      int i;
30      for (i = 0; i < 3; i++) {
31        gsl_test_rel(Y[i], y_expected[i], flteps, "sgbmv(case 794)");
32      }
33    };
34   };
35
36
37   {
38    int order = 102;
39    int trans = 111;
40    int M = 3;
41    int N = 4;
42    int KL = 1;
43    int KU = 1;
44    int lda = 4;
45    float alpha = -1.0f;
46    float beta = -1.0f;
47    float A[] = { 0.423f, -0.143f, -0.182f, -0.076f, -0.855f, 0.599f, 0.389f, -0.473f, 0.493f, -0.902f, -0.889f, -0.256f, 0.112f, 0.128f, -0.277f, -0.777f };
48    float X[] = { 0.488f, 0.029f, -0.633f, 0.84f };
49    int incX = -1;
50    float Y[] = { 0.874f, 0.322f, -0.477f };
51    int incY = -1;
52    float y_expected[] = { -0.656261f, 0.19575f, 0.055905f };
53    cblas_sgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
54    {
55      int i;
56      for (i = 0; i < 3; i++) {
57        gsl_test_rel(Y[i], y_expected[i], flteps, "sgbmv(case 795)");
58      }
59    };
60   };
61
62
63   {
64    int order = 101;
65    int trans = 112;
66    int M = 3;
67    int N = 4;
68    int KL = 1;
69    int KU = 1;
70    int lda = 4;
71    float alpha = 0.0f;
72    float beta = 0.1f;
73    float A[] = { -0.066f, -0.153f, -0.619f, 0.174f, 0.777f, 0.543f, 0.614f, -0.446f, -0.138f, -0.767f, 0.725f, 0.222f, 0.165f, -0.063f, -0.047f, 0.267f };
74    float X[] = { -0.096f, -0.007f, -0.657f };
75    int incX = -1;
76    float Y[] = { -0.88f, 0.102f, -0.278f, 0.403f };
77    int incY = -1;
78    float y_expected[] = { -0.088f, 0.0102f, -0.0278f, 0.0403f };
79    cblas_sgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
80    {
81      int i;
82      for (i = 0; i < 4; i++) {
83        gsl_test_rel(Y[i], y_expected[i], flteps, "sgbmv(case 796)");
84      }
85    };
86   };
87
88
89   {
90    int order = 102;
91    int trans = 112;
92    int M = 3;
93    int N = 4;
94    int KL = 1;
95    int KU = 1;
96    int lda = 4;
97    float alpha = 0.0f;
98    float beta = 0.1f;
99    float A[] = { -0.066f, -0.153f, -0.619f, 0.174f, 0.777f, 0.543f, 0.614f, -0.446f, -0.138f, -0.767f, 0.725f, 0.222f, 0.165f, -0.063f, -0.047f, 0.267f };
100    float X[] = { -0.096f, -0.007f, -0.657f };
101    int incX = -1;
102    float Y[] = { -0.88f, 0.102f, -0.278f, 0.403f };
103    int incY = -1;
104    float y_expected[] = { -0.088f, 0.0102f, -0.0278f, 0.0403f };
105    cblas_sgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
106    {
107      int i;
108      for (i = 0; i < 4; i++) {
109        gsl_test_rel(Y[i], y_expected[i], flteps, "sgbmv(case 797)");
110      }
111    };
112   };
113
114
115   {
116    int order = 101;
117    int trans = 111;
118    int M = 3;
119    int N = 4;
120    int KL = 1;
121    int KU = 1;
122    int lda = 4;
123    double alpha = 0.1;
124    double beta = 0;
125    double A[] = { -0.688, 0.29, 0.442, -0.001, 0.313, -0.073, 0.991, -0.654, -0.12, 0.416, 0.571, 0.932, -0.179, -0.724, 0.492, -0.965 };
126    double X[] = { 0.187, -0.338, -0.976, -0.052 };
127    int incX = -1;
128    double Y[] = { -0.101, 0.8, 0.026 };
129    int incY = -1;
130    double y_expected[] = { 0.0083289, -0.0279986, -0.0446472 };
131    cblas_dgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
132    {
133      int i;
134      for (i = 0; i < 3; i++) {
135        gsl_test_rel(Y[i], y_expected[i], dbleps, "dgbmv(case 798)");
136      }
137    };
138   };
139
140
141   {
142    int order = 102;
143    int trans = 111;
144    int M = 3;
145    int N = 4;
146    int KL = 1;
147    int KU = 1;
148    int lda = 4;
149    double alpha = 0.1;
150    double beta = 0;
151    double A[] = { -0.688, 0.29, 0.442, -0.001, 0.313, -0.073, 0.991, -0.654, -0.12, 0.416, 0.571, 0.932, -0.179, -0.724, 0.492, -0.965 };
152    double X[] = { 0.187, -0.338, -0.976, -0.052 };
153    int incX = -1;
154    double Y[] = { -0.101, 0.8, 0.026 };
155    int incY = -1;
156    double y_expected[] = { -0.1141297, 0.0088824, -0.0320568 };
157    cblas_dgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
158    {
159      int i;
160      for (i = 0; i < 3; i++) {
161        gsl_test_rel(Y[i], y_expected[i], dbleps, "dgbmv(case 799)");
162      }
163    };
164   };
165
166
167   {
168    int order = 101;
169    int trans = 112;
170    int M = 3;
171    int N = 4;
172    int KL = 1;
173    int KU = 1;
174    int lda = 4;
175    double alpha = -0.3;
176    double beta = -0.3;
177    double A[] = { 0.746, 0.262, -0.449, -0.954, -0.093, 0.108, -0.496, 0.927, 0.177, 0.729, -0.92, -0.469, 0.87, -0.877, -0.308, -0.806 };
178    double X[] = { 0.662, -0.887, 0.261 };
179    int incX = -1;
180    double Y[] = { 0.771, 0.637, -0.177, -0.018 };
181    int incY = -1;
182    double y_expected[] = { -0.048588, -0.467865, 0.0818433, -0.0398619 };
183    cblas_dgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
184    {
185      int i;
186      for (i = 0; i < 4; i++) {
187        gsl_test_rel(Y[i], y_expected[i], dbleps, "dgbmv(case 800)");
188      }
189    };
190   };
191
192
193   {
194    int order = 102;
195    int trans = 112;
196    int M = 3;
197    int N = 4;
198    int KL = 1;
199    int KU = 1;
200    int lda = 4;
201    double alpha = -0.3;
202    double beta = -0.3;
203    double A[] = { 0.746, 0.262, -0.449, -0.954, -0.093, 0.108, -0.496, 0.927, 0.177, 0.729, -0.92, -0.469, 0.87, -0.877, -0.308, -0.806 };
204    double X[] = { 0.662, -0.887, 0.261 };
205    int incX = -1;
206    double Y[] = { 0.771, 0.637, -0.177, -0.018 };
207    int incY = -1;
208    double y_expected[] = { -0.404082, -0.2887797, 0.1876263, -0.1345935 };
209    cblas_dgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
210    {
211      int i;
212      for (i = 0; i < 4; i++) {
213        gsl_test_rel(Y[i], y_expected[i], dbleps, "dgbmv(case 801)");
214      }
215    };
216   };
217
218
219   {
220    int order = 101;
221    int trans = 111;
222    int M = 3;
223    int N = 4;
224    int KL = 1;
225    int KU = 1;
226    int lda = 4;
227    float alpha[2] = {0.0f, 1.0f};
228    float beta[2] = {0.0f, 0.1f};
229    float A[] = { -0.107f, 0.926f, -0.246f, -0.555f, -0.301f, 0.276f, 0.471f, -0.084f, -0.754f, 0.082f, -0.952f, -0.394f, 0.659f, 0.054f, 0.795f, 0.923f, 0.232f, -0.788f, 0.478f, 0.775f, -0.118f, 0.691f, -0.933f, 0.809f, 0.164f, -0.263f, -0.923f, -0.88f, 0.819f, -0.521f, -0.045f, 0.034f };
230    float X[] = { 0.407f, 0.895f, 0.301f, 0.769f, -0.269f, -0.465f, 0.455f, -0.628f };
231    int incX = -1;
232    float Y[] = { -0.116f, -0.744f, -0.936f, -0.064f, -0.232f, -0.665f };
233    int incY = -1;
234    float y_expected[] = { -0.806176f, -1.559f, -1.57611f, -0.155463f, 0.098816f, -0.274361f };
235    cblas_cgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
236    {
237      int i;
238      for (i = 0; i < 3; i++) {
239        gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "cgbmv(case 802) real");
240        gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "cgbmv(case 802) imag");
241      };
242    };
243   };
244
245
246   {
247    int order = 102;
248    int trans = 111;
249    int M = 3;
250    int N = 4;
251    int KL = 1;
252    int KU = 1;
253    int lda = 4;
254    float alpha[2] = {0.0f, 1.0f};
255    float beta[2] = {0.0f, 0.1f};
256    float A[] = { -0.107f, 0.926f, -0.246f, -0.555f, -0.301f, 0.276f, 0.471f, -0.084f, -0.754f, 0.082f, -0.952f, -0.394f, 0.659f, 0.054f, 0.795f, 0.923f, 0.232f, -0.788f, 0.478f, 0.775f, -0.118f, 0.691f, -0.933f, 0.809f, 0.164f, -0.263f, -0.923f, -0.88f, 0.819f, -0.521f, -0.045f, 0.034f };
257    float X[] = { 0.407f, 0.895f, 0.301f, 0.769f, -0.269f, -0.465f, 0.455f, -0.628f };
258    int incX = -1;
259    float Y[] = { -0.116f, -0.744f, -0.936f, -0.064f, -0.232f, -0.665f };
260    int incY = -1;
261    float y_expected[] = { -0.245235f, -0.313725f, -0.798094f, 0.691455f, -0.164015f, -0.242714f };
262    cblas_cgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
263    {
264      int i;
265      for (i = 0; i < 3; i++) {
266        gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "cgbmv(case 803) real");
267        gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "cgbmv(case 803) imag");
268      };
269    };
270   };
271
272
273   {
274    int order = 101;
275    int trans = 112;
276    int M = 3;
277    int N = 4;
278    int KL = 1;
279    int KU = 1;
280    int lda = 4;
281    float alpha[2] = {-1.0f, 0.0f};
282    float beta[2] = {0.0f, 0.1f};
283    float A[] = { -0.258f, 0.838f, -0.106f, -0.066f, 0.395f, 0.982f, -0.546f, 0.565f, 0.14f, -0.18f, 0.165f, -0.186f, 0.499f, -0.038f, -0.305f, -0.653f, -0.811f, -0.466f, -0.674f, -0.013f, -0.552f, -0.807f, -0.536f, 0.864f, -0.027f, -0.606f, 0.459f, 0.564f, -0.968f, 0.717f, -0.312f, -0.485f };
284    float X[] = { -0.399f, 0.459f, 0.398f, 0.358f, -0.161f, -0.359f };
285    int incX = -1;
286    float Y[] = { 0.572f, 0.293f, -0.813f, -0.096f, -0.611f, -0.717f, 0.736f, 0.259f };
287    int incY = -1;
288    float y_expected[] = { -0.619961f, -0.011425f, -0.477499f, 0.059361f, -0.886984f, 0.44008f, -0.139432f, 0.04644f };
289    cblas_cgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
290    {
291      int i;
292      for (i = 0; i < 4; i++) {
293        gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "cgbmv(case 804) real");
294        gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "cgbmv(case 804) imag");
295      };
296    };
297   };
298
299
300   {
301    int order = 102;
302    int trans = 112;
303    int M = 3;
304    int N = 4;
305    int KL = 1;
306    int KU = 1;
307    int lda = 4;
308    float alpha[2] = {-1.0f, 0.0f};
309    float beta[2] = {0.0f, 0.1f};
310    float A[] = { -0.258f, 0.838f, -0.106f, -0.066f, 0.395f, 0.982f, -0.546f, 0.565f, 0.14f, -0.18f, 0.165f, -0.186f, 0.499f, -0.038f, -0.305f, -0.653f, -0.811f, -0.466f, -0.674f, -0.013f, -0.552f, -0.807f, -0.536f, 0.864f, -0.027f, -0.606f, 0.459f, 0.564f, -0.968f, 0.717f, -0.312f, -0.485f };
311    float X[] = { -0.399f, 0.459f, 0.398f, 0.358f, -0.161f, -0.359f };
312    int incX = -1;
313    float Y[] = { 0.572f, 0.293f, -0.813f, -0.096f, -0.611f, -0.717f, 0.736f, 0.259f };
314    int incY = -1;
315    float y_expected[] = { -0.318227f, -0.172201f, -0.109343f, 0.698685f, 0.208261f, -0.269065f, 0.175074f, -0.507326f };
316    cblas_cgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
317    {
318      int i;
319      for (i = 0; i < 4; i++) {
320        gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "cgbmv(case 805) real");
321        gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "cgbmv(case 805) imag");
322      };
323    };
324   };
325
326
327   {
328    int order = 101;
329    int trans = 113;
330    int M = 3;
331    int N = 4;
332    int KL = 1;
333    int KU = 1;
334    int lda = 4;
335    float alpha[2] = {-1.0f, 0.0f};
336    float beta[2] = {0.0f, 0.1f};
337    float A[] = { -0.804f, 0.232f, -0.448f, -0.558f, -0.078f, -0.056f, -0.345f, -0.379f, 0.369f, -0.662f, -0.169f, -0.391f, -0.215f, 0.467f, 0.374f, 0.889f, -0.698f, 0.734f, 0.377f, -0.955f, 0.498f, 0.151f, -0.725f, -0.728f, -0.655f, -0.581f, 0.389f, 0.949f, -0.553f, -0.434f, 0.237f, 0.641f };
338    float X[] = { -0.262f, -0.823f, -0.357f, -0.994f, -0.347f, -0.375f };
339    int incX = -1;
340    float Y[] = { -0.683f, -0.87f, -0.708f, 0.071f, 0.575f, -0.575f, 0.845f, 0.032f };
341    int incY = -1;
342    float y_expected[] = { 0.341749f, 0.301992f, -0.306848f, 0.109252f, -0.018347f, -0.747479f, -0.894201f, 0.713246f };
343    cblas_cgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
344    {
345      int i;
346      for (i = 0; i < 4; i++) {
347        gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "cgbmv(case 806) real");
348        gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "cgbmv(case 806) imag");
349      };
350    };
351   };
352
353
354   {
355    int order = 102;
356    int trans = 113;
357    int M = 3;
358    int N = 4;
359    int KL = 1;
360    int KU = 1;
361    int lda = 4;
362    float alpha[2] = {-1.0f, 0.0f};
363    float beta[2] = {0.0f, 0.1f};
364    float A[] = { -0.804f, 0.232f, -0.448f, -0.558f, -0.078f, -0.056f, -0.345f, -0.379f, 0.369f, -0.662f, -0.169f, -0.391f, -0.215f, 0.467f, 0.374f, 0.889f, -0.698f, 0.734f, 0.377f, -0.955f, 0.498f, 0.151f, -0.725f, -0.728f, -0.655f, -0.581f, 0.389f, 0.949f, -0.553f, -0.434f, 0.237f, 0.641f };
365    float X[] = { -0.262f, -0.823f, -0.357f, -0.994f, -0.347f, -0.375f };
366    int incX = -1;
367    float Y[] = { -0.683f, -0.87f, -0.708f, 0.071f, 0.575f, -0.575f, 0.845f, 0.032f };
368    int incY = -1;
369    float y_expected[] = { -0.562773f, -0.455143f, -0.213881f, -0.466169f, -0.183683f, 0.097891f, -0.451416f, 0.052586f };
370    cblas_cgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
371    {
372      int i;
373      for (i = 0; i < 4; i++) {
374        gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "cgbmv(case 807) real");
375        gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "cgbmv(case 807) imag");
376      };
377    };
378   };
379
380
381   {
382    int order = 101;
383    int trans = 111;
384    int M = 3;
385    int N = 4;
386    int KL = 1;
387    int KU = 1;
388    int lda = 4;
389    double alpha[2] = {0, 0.1};
390    double beta[2] = {1, 0};
391    double A[] = { -0.919, -0.002, 0.105, -0.338, -0.358, -0.715, -0.157, 0.307, 0.334, 0.121, 0.366, 0.029, -0.006, -0.662, -0.314, 0.061, -0.322, -0.865, -0.586, 0.556, 0.507, 0.581, 0.855, -0.09, 0.836, -0.788, -0.209, -0.694, -0.695, 0.11, -0.234, 0.17 };
392    double X[] = { 0.356, -0.76, -0.96, 0.437, -0.849, 0.397, -0.382, -0.826 };
393    int incX = -1;
394    double Y[] = { 0.288, -0.832, 0.889, 0.576, -0.809, 0.4 };
395    int incY = -1;
396    double y_expected[] = { 0.3241775, -0.6761577, 0.8458527, 0.5705165, -0.8597295, 0.4268499 };
397    cblas_zgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
398    {
399      int i;
400      for (i = 0; i < 3; i++) {
401        gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zgbmv(case 808) real");
402        gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zgbmv(case 808) imag");
403      };
404    };
405   };
406
407
408   {
409    int order = 102;
410    int trans = 111;
411    int M = 3;
412    int N = 4;
413    int KL = 1;
414    int KU = 1;
415    int lda = 4;
416    double alpha[2] = {0, 0.1};
417    double beta[2] = {1, 0};
418    double A[] = { -0.919, -0.002, 0.105, -0.338, -0.358, -0.715, -0.157, 0.307, 0.334, 0.121, 0.366, 0.029, -0.006, -0.662, -0.314, 0.061, -0.322, -0.865, -0.586, 0.556, 0.507, 0.581, 0.855, -0.09, 0.836, -0.788, -0.209, -0.694, -0.695, 0.11, -0.234, 0.17 };
419    double X[] = { 0.356, -0.76, -0.96, 0.437, -0.849, 0.397, -0.382, -0.826 };
420    int incX = -1;
421    double Y[] = { 0.288, -0.832, 0.889, 0.576, -0.809, 0.4 };
422    int incY = -1;
423    double y_expected[] = { 0.4026074, -0.8033768, 0.7510795, 0.5671044, -0.8162255, 0.3349099 };
424    cblas_zgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
425    {
426      int i;
427      for (i = 0; i < 3; i++) {
428        gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zgbmv(case 809) real");
429        gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zgbmv(case 809) imag");
430      };
431    };
432   };
433
434
435   {
436    int order = 101;
437    int trans = 112;
438    int M = 3;
439    int N = 4;
440    int KL = 1;
441    int KU = 1;
442    int lda = 4;
443    double alpha[2] = {1, 0};
444    double beta[2] = {1, 0};
445    double A[] = { 0.511, -0.707, -0.906, 0.345, -0.524, -0.933, 0.154, -0.529, -0.651, -0.851, 0.104, 0.532, -0.297, 0.477, 0.511, 0.469, -0.888, -0.789, 0.656, 0.288, -0.749, 0.961, 0.571, 0.539, 0.465, 0.647, 0.653, -0.994, -0.515, 0.297, 0.35, -0.707 };
446    double X[] = { -0.991, 0.658, -0.909, -0.99, -0.517, -0.071 };
447    int incX = -1;
448    double Y[] = { 0.451, 0.351, -0.113, -0.62, 0.983, 0.511, 0.142, -0.186 };
449    int incY = -1;
450    double y_expected[] = { 0.560921, -1.094193, -0.210397, -0.613323, 3.018979, 0.641612, 0.384166, 1.11801 };
451    cblas_zgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
452    {
453      int i;
454      for (i = 0; i < 4; i++) {
455        gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zgbmv(case 810) real");
456        gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zgbmv(case 810) imag");
457      };
458    };
459   };
460
461
462   {
463    int order = 102;
464    int trans = 112;
465    int M = 3;
466    int N = 4;
467    int KL = 1;
468    int KU = 1;
469    int lda = 4;
470    double alpha[2] = {1, 0};
471    double beta[2] = {1, 0};
472    double A[] = { 0.511, -0.707, -0.906, 0.345, -0.524, -0.933, 0.154, -0.529, -0.651, -0.851, 0.104, 0.532, -0.297, 0.477, 0.511, 0.469, -0.888, -0.789, 0.656, 0.288, -0.749, 0.961, 0.571, 0.539, 0.465, 0.647, 0.653, -0.994, -0.515, 0.297, 0.35, -0.707 };
473    double X[] = { -0.991, 0.658, -0.909, -0.99, -0.517, -0.071 };
474    int incX = -1;
475    double Y[] = { 0.451, 0.351, -0.113, -0.62, 0.983, 0.511, 0.142, -0.186 };
476    int incY = -1;
477    double y_expected[] = { -0.435541, 0.015793, -0.926518, 1.122561, 1.671751, -0.257493, 0.187543, 1.066818 };
478    cblas_zgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
479    {
480      int i;
481      for (i = 0; i < 4; i++) {
482        gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zgbmv(case 811) real");
483        gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zgbmv(case 811) imag");
484      };
485    };
486   };
487
488
489   {
490    int order = 101;
491    int trans = 113;
492    int M = 3;
493    int N = 4;
494    int KL = 1;
495    int KU = 1;
496    int lda = 4;
497    double alpha[2] = {0, 0.1};
498    double beta[2] = {-0.3, 0.1};
499    double A[] = { 0.534, 0.67, -0.621, 0.143, -0.794, 0.073, 0.414, -0.9, 0.155, -0.368, 0.122, -0.583, 0.03, 0.646, -0.768, -0.892, -0.741, -0.397, 0.626, 0.004, -0.515, 0.355, 0.196, -0.989, -0.982, 0.985, 0.445, 0.63, -0.849, -0.528, 0.146, -0.319 };
500    double X[] = { -0.199, -0.259, 0.386, -0.131, -0.867, 0.888 };
501    int incX = -1;
502    double Y[] = { 0.106, 0.874, 0.962, 0.636, -0.759, 0.415, -0.053, 0.315 };
503    int incY = -1;
504    double y_expected[] = { -0.139603, -0.250546, -0.3107376, -0.1144656, 0.2181809, -0.0877031, 0.0149724, -0.0224571 };
505    cblas_zgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
506    {
507      int i;
508      for (i = 0; i < 4; i++) {
509        gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zgbmv(case 812) real");
510        gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zgbmv(case 812) imag");
511      };
512    };
513   };
514
515
516   {
517    int order = 102;
518    int trans = 113;
519    int M = 3;
520    int N = 4;
521    int KL = 1;
522    int KU = 1;
523    int lda = 4;
524    double alpha[2] = {0, 0.1};
525    double beta[2] = {-0.3, 0.1};
526    double A[] = { 0.534, 0.67, -0.621, 0.143, -0.794, 0.073, 0.414, -0.9, 0.155, -0.368, 0.122, -0.583, 0.03, 0.646, -0.768, -0.892, -0.741, -0.397, 0.626, 0.004, -0.515, 0.355, 0.196, -0.989, -0.982, 0.985, 0.445, 0.63, -0.849, -0.528, 0.146, -0.319 };
527    double X[] = { -0.199, -0.259, 0.386, -0.131, -0.867, 0.888 };
528    int incX = -1;
529    double Y[] = { 0.106, 0.874, 0.962, 0.636, -0.759, 0.415, -0.053, 0.315 };
530    int incY = -1;
531    double y_expected[] = { -0.1642353, -0.2575697, -0.3610975, -0.1305629, 0.1713576, -0.2514988, 0.0195631, -0.0648656 };
532    cblas_zgbmv(order, trans, M, N, KU, KL, alpha, A,                                  lda, X, incX, beta, Y, incY);
533    {
534      int i;
535      for (i = 0; i < 4; i++) {
536        gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zgbmv(case 813) real");
537        gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zgbmv(case 813) imag");
538      };
539    };
540   };
541
542
543 }