1 /*
2  $Id$
3   c defines */
4 
5 #define NO_EVEC 0
6 
7 /*
8   CPU definitions and machine precision definitions
9   */
10 
11 #ifndef CRAY_T3D
12 #ifdef ALPHA
13 
14 #define DLAMCHE        2.22044604925031308e-16
15 #define DLAMCHP        2.22044604925031308e-16
16 #define DLAMCHB        2.e0
17 #define DLAMCHS        2.22507385850720138e-308
18 #define DLAMCHU        2.22507385850720138e-308
19 #define SLAMCHE        2.22044604925031308e-16
20 #define SLAMCHP        2.22044604925031308e-16
21 #define SLAMCHB        2.e0
22 #define SLAMCHS        2.22507385850720138e-308
23 #define SLAMCHU        2.22507385850720138e-308
24 
25 
26 /*
27  Single Precision results
28  depsilon      5.9604644775390625e-08
29  dbase      2.0000000000000000e+00
30  dsafeulp      1.1754943508222875e-38
31  */
32 #endif
33 #endif
34 
35 #ifdef HPPA
36 /*
37  Double Precision results
38  depsilon   1.1102230246251565e-16
39  dbase      2.0000000000000000e+00
40  dsafeulp   2.2250738585072013e-308
41  dlamch(u)  2.2250738585072013e-308
42  */
43 #define DLAMCHE 1.1102230246251565e-16
44 #define DLAMCHP 1.1102230246251565e-16
45 #define DLAMCHB 2.0000000000000000e+00
46 #define DLAMCHS 2.2250738585072013e-308
47 #define DLAMCHU 2.2250738585072013e-308
48 
49 #endif
50 
51 #ifdef IEEE
52 /*
53  Double Precision results
54  depsilon   1.1102230246251565e-16
55  dbase      2.0000000000000000e+00
56  dsafeulp   2.2250738585072013-308
57  dlamch(u)  2.2250738585072013-308
58  */
59 #define DLAMCHE 1.1102230246251565e-16
60 #define DLAMCHP 1.1102230246251565e-16
61 #define DLAMCHB 2.0000000000000000e+00
62 #define DLAMCHS 2.2250738585072013e-308
63 #define DLAMCHU 2.2250738585072013e-308
64 
65 #endif
66 
67 #ifdef SPARC
68 
69 /*
70   sparc
71   */
72 /*
73  Double Precision results
74    depsilon      1.1102230246251565e-16
75       dbase      2.0000000000000000e+00
76    dsafeulp      2.2250738585072014e-308
77 
78  Single Precision results
79    depsilon      5.9604644775390625e-08
80       dbase      2.0000000000000000e+00
81    dsafeulp      1.1754943508222875e-38
82 */
83 
84 #define DLAMCHE        1.1102230246251565e-16
85 #define DLAMCHP        1.1102230246251565e-16
86 #define DLAMCHB        2.e0
87 #define DLAMCHS        2.2250738585072014e-308
88 #define DLAMCHU        2.2250738585072014e-308
89 
90 #endif
91 
92 #ifdef SPARC64
93 /*./teslamch
94 
95   Double Precision results
96    depsilon      1.1102230246251565e-16
97       dbase      2.0000000000000000e+00
98    dsafeulp      2.2250738585072014-308
99  dlamch(u)       2.2250738585072014-308
100 
101   Single Precision results
102    depsilon      1.1102230246251565e-16
103       dbase      2.0000000000000000e+00
104    dsafeulp      2.2250738585072014-308
105  slamch(u)       2.2250738585072014-308
106 */
107 #define DLAMCHE        2.22044604925031308e-16
108 #define DLAMCHP        2.22044604925031308e-16
109 #define DLAMCHB        2.e0
110 #define DLAMCHS        2.22507385850720138e-308
111 #define DLAMCHU        2.22507385850720138e-308
112 /* this values were OK for WS 5.0, break for WS 6.0
113 #define DLAMCHE        1.1102230246251565e-16
114 #define DLAMCHP        1.1102230246251565e-16
115 #define DLAMCHB        2.e0
116 #define DLAMCHS        2.2250738585072014e-308
117 #define DLAMCHU        2.2250738585072014e-308
118 */
119 
120 #endif
121 #ifdef __crayx1
122 #define DLAMCHE 2.2204460492503130e-16
123 #define DLAMCHP 2.2204460492503130e-16
124 #define DLAMCHB 2.0000000000000000e+00
125 #define DLAMCHS 2.2250738585072014e-308
126 #define DLAMCHU 2.2250738585072014e-308
127 
128 #define dscal_  sscal_
129 #define ddot_   sdot_
130 #define daxpy_  saxpy_
131 #define dnrm2_  snrm2_
132 #define dasum_  sasum_
133 #define dcopy_  scopy_
134 #define idamax_ isamax_
135 
136 /*
137   lapack
138   */
139 
140 #define dlagtf_ slagtf_
141 #define dlagts_ slagts_
142 #define dlamch_ slamch_
143 #define dlarnv_ slarnv_
144 
145 
146 #endif
147 #ifdef PENTIUM
148 /* wild ass guess; same as sparc */
149 #define DLAMCHE 2.2204460492503131e-16
150 #define DLAMCHP 2.2204460492503131e-16
151 #define DLAMCHB 2.0000000000000000e+00
152 #define DLAMCHS 2.2250738585072014e-308
153 #define DLAMCHU 2.2250738585072014e-308
154 
155 #endif
156 #ifdef MIPS
157 /*
158   SGI PowerChallenge R4010 fpu ... R8000 chip
159   seems to have the same reps .... probably have
160   to print out hex to get real differences
161   */
162 
163 #define DLAMCHE 1.1102230246251565e-16
164 #define DLAMCHP 1.1102230246251565e-16
165 #define DLAMCHB 2.e0
166 #define DLAMCHS 2.2250738585072014e-308
167 #define DLAMCHU 2.2250738585072014e-308
168 
169 
170 #endif
171 #ifdef RS6000
172 
173 /* rs6000 */
174 
175 #define DLAMCHE 0.111022302462515654e-15
176 #define DLAMCHP 0.111022302462515654e-15
177 #define DLAMCHB 2.e0
178 #define DLAMCHS 0.22250738585072013e-307
179 #define DLAMCHU 0.22250738585072013e-307
180 
181 
182 /*
183   depsilon  0.111022302462515654e-15
184   dbase   2.00000000000000000
185   dsafeulp  0.22250738585072013e-307
186   depsilon  0.5960464478e-07
187   dbase   2.000000000
188   dsafeulp  0.1175494351e-37
189   */
190 #endif
191 #ifdef RS600064
192 
193 /* rs6000 64 -bit*/
194 
195 #define DLAMCHE 1.1102230246251565e-16
196 #define DLAMCHP 1.1102230246251565e-16
197 #define DLAMCHB 2.e0
198 #define DLAMCHS 2.2250738585072014e-308
199 #define DLAMCHU 2.2250738585072014e-308
200 
201 
202 /*
203    depsilon      1.1102230246251565e-16
204       dbase      2.0000000000000000e+00
205    dsafeulp      2.2250738585072014e-308
206  dlamch(u)       2.2250738585072014e-308
207   */
208 #endif
209 #ifdef i860
210 
211 /*
212   with -Knoieee
213   */
214 
215 #define DLAMCHE 1.1102230246251565e-016
216 #define DLAMCHB 2.e0
217 #define DLAMCHS 2.2250738585072014e-308
218 #define DLAMCHE 1.1102230246251565e-016
219 #define DLAMCHP 1.1102230246251565e-016
220 #define DLAMCHB  2.e0
221 #define DLAMCHS  2.2250738585072014e-308
222 #define DLAMCHU  2.2250738585072014e-308
223 
224 
225 #endif
226 #ifdef FUJITSU_VPP
227 
228 #define DLAMCHE  1.1102230246251565e-016
229 #define DLAMCHP  1.1102230246251565e-016
230 #define DLAMCHB  2.e0
231 #define DLAMCHS  2.2250738585072014e-308
232 #define DLAMCHU  2.2250738585072014e-308
233 
234 #endif
235 
236 #ifdef KSR
237 
238 #define DLAMCHE  1.1102230246251565e-16
239 #define DLAMCHB  2.
240 #define DLAMCHS  2.2250738585072014e-308
241 #define DLAMCHE  1.1102230246251565e-16
242 #define DLAMCHP  1.1102230246251565e-16
243 #define DLAMCHB  2.
244 #define DLAMCHS  2.2250738585072014e-308
245 #define DLAMCHU  2.2250738585072014e-308
246 
247 
248 
249 #endif
250 #ifdef KSR8
251 
252 #define DLAMCHE  1.1102230246251565e-16
253 #define DLAMCHB  2.e0
254 #define DLAMCHS  2.2250738585072014e-308
255 #define DLAMCHE  1.1102230246251565e-16
256 #define DLAMCHP  1.1102230246251565e-16
257 #define DLAMCHB  2.e0
258 #define DLAMCHS  2.2250738585072014e-308
259 #define DLAMCHU  2.2250738585072014e-308
260 
261 
262 #define dscal_  sscal_
263 #define ddot_   sdot_
264 #define daxpy_  saxpy_
265 #define dnrm2_  snrm2_
266 #define dasum_  sasum_
267 #define dcopy_  scopy_
268 
269 /*
270   lapack
271   */
272 
273 #define dlagtf_ slagtf_
274 #define dlagts_ slagts_
275 #define dlamch_ slamch_
276 #define dlarnv_ slarnv_
277 
278 /*
279   peigs
280   */
281 
282 #define heapsort_ sheapsort_
283 #define neblw2_   sneblw2_
284 #define dstebz3_  sstebz3_
285 #define dstebz1_  sstebz1_
286 #define dlaebz2_  slaebz2_
287 #define damax_    samax_
288 #endif
289 
290 #ifdef CRAY_T3D
291 #undef DLAMCHE  2.22044604925031308e-16
292 #undef DLAMCHP  2.22044604925031308e-16
293 #undef DLAMCHB  2.e0
294 #undef DLAMCHS  2.22507385850720138e-308
295 #undef DLAMCHU  2.22507385850720138e-308
296 #undef SLAMCHE  2.22044604925031308e-16
297 #undef SLAMCHP  2.22044604925031308e-16
298 #undef SLAMCHB  2.e0
299 #undef SLAMCHS  2.22507385850720138e-308
300 #undef SLAMCHU  2.22507385850720138e-308
301 
302 #define DLAMCHE  2.22044604925031308e-16
303 #define DLAMCHP  2.22044604925031308e-16
304 #define DLAMCHB  2.e0
305 #define DLAMCHS  2.22507385850720138e-308
306 #define DLAMCHU  2.22507385850720138e-308
307 #define SLAMCHE  2.22044604925031308e-16
308 #define SLAMCHP  2.22044604925031308e-16
309 #define SLAMCHB  2.e0
310 #define SLAMCHS  2.22507385850720138e-308
311 #define SLAMCHU  2.22507385850720138e-308
312 
313 
314 #define dscal_  SSCAL
315 #define ddot_   SDOT
316 #define daxpy_  SAXPY
317 #define dnrm2_  SNRM2
318 #define dasum_  SASUM
319 #define dcopy_  SCOPY
320 #define idamax_ ISAMAX
321 #define xerbla_ XERBLA
322 
323 /*
324   lapack
325   */
326 
327 #define dlagtf_ SLAGTF
328 #define dlagts_ SLAGTS
329 #define dlamch_ SLAMCH
330 #define dlarnv_ SLARNV
331 #define xerbl2_ XERBL2
332 
333 
334 
335 /*
336 peigs
337 */
338 
339 #define heapsort_ SHEAPSORT
340 #define neblw1_   SNEBLW1
341 #define neblw2_   SNEBLW2
342 #define dstebz3_  SSTEBZ3
343 #define dstebz1_  SSTEBZ1
344 #define dlaebz2_  SLAEBZ2
345 #define pairup_   PAIRUP
346 #define peigs_cmod_ PEIGS_CMOD
347 
348 #define sumdc_    SUMDC
349 #define sumd_     SUMD
350 #define sumdv_    SUMDV
351 #define sumi_     SUMI
352 #define sumiv_    SUMIV
353 #define damax_    SAMAX
354 
355 /*
356   mx
357 */
358 
359 #define mxpara_   MXPARA
360 #define mxmynd_   MXMYND
361 #define mxtick_   MXTICK
362 #define mxread_   MXREAD
363 #define mxwrit_   MXWRIT
364 #define mxsync_   MXSYNC
365 #define mxmynd_   MXMYND
366 #define mxnprc_   MXNPRC
367 #define mxclock_  MXCLOCK
368 #define mxinit_   MXINIT
369 #define mxlbuf_   MXLBUF
370 #define mxpend_   MXPEND
371 #define maxdv_    MAXDV
372 #define menode_   MENODE
373 #define mxbrod_   MXBROD
374 #define mxcombv1_ MXCOMBV1
375 #define mxinit_   MXINIT
376 #define mxend_    MXEND
377 #define mxpara_   MXPARA
378 #define mxtime_   MXTIME
379 
380 /*
381   peigs ctof
382 */
383 
384 #define  choleski_     CHOLESKI
385 #define  inversel_     INVERSEL
386 #define  fmemreq_      FMEMREQ
387 #define  pdspev_       PDSPEV
388 #define  pdspgv_       PDSPGV
389 #define  tresid_       TRESID
390 #define  sonenrm_      SONENRM
391 #define  bortho_       BORTHO
392 #define  mxm35_        MXM35
393 #define  mxm2_         MXM2
394 #define  mxm4_         MXM4
395 #define  mxm5x_        MXM5X
396 #define  mxm88_                    MXM88
397 #define  mxm_                      MXM
398 #define ortho_                     ORTHO
399 #define pdspevx_                   PDSPEVX
400 #define pdspgvx_                   PDSPGVX
401 #define pdsptri_                   PDSPTRI
402 #define pstein_                    PSTEIN
403 #define resid_                     RESID
404 #define xstop_                     XSTOP
405 #define dgetavec_                  DGETAVEC
406 #define dlasq1_                    DLASQ1
407 #define dshellsort2_               DSHELLSORT2
408 #define dshellsort_             DSHELLSORT
409 #define maxd_                   MAXD
410 #define maxi_                   MAXI
411 #define dgetavec_               DGETAVEC
412 #define dlas2_                  SLAS2
413 #define dlascl_                 SLASCL
414 #define dsterf_                 SSTERF
415 #define ga_sync_                 GA_SYNC
416 
417 #endif
418 
419 /* DLAMCH guesses when they are not set */
420 #ifndef DLAMCHE
421 #define DLAMCHE 2.2204460492503131e-16
422 #endif
423 #ifndef DLAMCHP
424 #define DLAMCHP 2.2204460492503131e-16
425 #endif
426 #ifndef DLAMCHB
427 #define DLAMCHB 2.0000000000000000e+00
428 #endif
429 #ifndef DLAMCHS
430 #define DLAMCHS 2.2250738585072013e-308
431 #endif
432 #ifndef DLAMCHU
433 #define DLAMCHU 2.2250738585072013e-308
434 #endif
435