15{
16 char UL;
17#ifdef F77_CHAR
19#else
20 #define F77_UL &UL
21#endif
22
23#ifdef F77_INT
25#else
26 #define F77_N N
27 #define F77_lda lda
28 #define F77_incX incx
29 #define F77_incY incy
30#endif
31 CBLAS_INT n, i, j, tincx, tincy, incx=incX, incy=incY;
32 float *x=(float *)X, *xx=(float *)X, *y=(float *)Y,
33 *yy=(float *)Y, *tx, *ty, *stx, *sty;
34
38
41 {
44 else
45 {
49 return;
50 }
51 #ifdef F77_CHAR
53 #endif
54
57
59 {
63 else
64 {
68 return;
69 }
70 #ifdef F77_CHAR
72 #endif
73 if (N > 0)
74 {
75 n = N << 1;
76 x = malloc(n*sizeof(float));
77 y = malloc(n*sizeof(float));
78 tx = x;
79 ty = y;
80 if( incX > 0 ) {
81 i = incX << 1 ;
82 tincx = 2;
83 stx= x+n;
84 } else {
85 i = incX *(-2);
86 tincx = -2;
87 stx = x-2;
88 x +=(n-2);
89 }
90
91 if( incY > 0 ) {
92 j = incY << 1;
93 tincy = 2;
94 sty= y+n;
95 } else {
96 j = incY *(-2);
97 tincy = -2;
98 sty = y-2;
99 y +=(n-2);
100 }
101
102 do
103 {
104 *x = *xx;
105 x[1] = -xx[1];
106 x += tincx ;
107 xx += i;
108 }
109 while (x != stx);
110
111 do
112 {
113 *y = *yy;
114 y[1] = -yy[1];
115 y += tincy ;
116 yy += j;
117 }
118 while (y != sty);
119
120 x=tx;
121 y=ty;
122
123 #ifdef F77_INT
126 #else
127 incx = 1;
128 incy = 1;
129 #endif
130 } else
131 {
132 x = (float *) X;
133 y = (float *) Y;
134 }
137 } else
138 {
142 return;
143 }
144 if(X!=x)
145 free(x);
146 if(Y!=y)
147 free(y);
148
151 return;
152}
void cblas_xerbla(CBLAS_INT p, const char *rout, const char *form,...)