17{
18 char UL;
19#ifdef F77_CHAR
21#else
22 #define F77_UL &UL
23#endif
24#ifdef F77_INT
26#else
27 #define F77_N N
28 #define F77_lda lda
29 #define F77_incX incx
30 #define F77_incY incY
31#endif
33 const float *xx= (float *)X, *alp= (float *)alpha, *bet = (float *)beta;
34 float ALPHA[2],BETA[2];
36 float *x=(float *)X, *y=(float *)Y, *st=0, *tx;
40
41
44 {
47 else
48 {
52 return;
53 }
54 #ifdef F77_CHAR
56 #endif
59 }
61 {
63 ALPHA[0]= *alp;
64 ALPHA[1]= -alp[1];
65 BETA[0]= *bet;
66 BETA[1]= -bet[1];
67
68 if (N > 0)
69 {
70 n = N << 1;
71 x = malloc(n*sizeof(float));
72
73 tx = x;
74 if( incX > 0 ) {
75 i = incX << 1 ;
76 tincx = 2;
77 st= x+n;
78 } else {
79 i = incX *(-2);
80 tincx = -2;
81 st = x-2;
82 x +=(n-2);
83 }
84
85 do
86 {
87 *x = *xx;
88 x[1] = -xx[1];
89 x += tincx ;
90 xx += i;
91 }
92 while (x != st);
93 x=tx;
94
95
96 #ifdef F77_INT
98 #else
99 incx = 1;
100 #endif
101
102 if(incY > 0)
103 tincY = incY;
104 else
105 tincY = -incY;
106 y++;
107
108 i = tincY << 1;
109 n = i * N ;
110 st = y + n;
111 do {
112 *y = -(*y);
113 y += i;
114 } while(y != st);
115 y -= n;
116 } else
117 x = (float *) X;
118
119
122 else
123 {
127 return;
128 }
129 #ifdef F77_CHAR
131 #endif
134 }
135 else
136 {
140 return;
141 }
143 {
145 if ( X != x )
146 free(x);
147 if (N > 0)
148 {
149 do
150 {
151 *y = -(*y);
152 y += i;
153 }
154 while (y != st);
155 }
156 }
159 return;
160}
void cblas_xerbla(CBLAS_INT p, const char *rout, const char *form,...)