SCALAPACK 2.2.2
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
PBblas.h
Go to the documentation of this file.
1/* ---------------------------------------------------------------------
2*
3* -- PBLAS routine (version 2.0) --
4* University of Tennessee, Knoxville, Oak Ridge National Laboratory,
5* and University of California, Berkeley.
6* April 1, 1998
7*
8* ---------------------------------------------------------------------
9*/
10/*
11* This file includes F77 BLAS definitions. All PBLAS routines include
12* this file.
13*
14* ---------------------------------------------------------------------
15* #define macro constants
16* ---------------------------------------------------------------------
17*/
18#define CNOTRAN 'N'
19#define CNOCONJG 'N'
20#define CTRAN 'T'
21#define CCONJG 'Z'
22#define CCOTRAN 'C'
23
24#define CALL 'A'
25#define CLOWER 'L'
26#define CUPPER 'U'
27#define CDIAGONAL 'D'
28
29#define CLEFT 'L'
30#define CRIGHT 'R'
31
32#define CUNIT 'U'
33#define CNOUNIT 'N'
34
35#define CINIT 'I'
36#define CNOINIT 'N'
37
38#define CFORWARD 'F'
39#define CBACKWARD 'B'
40
41#define CREUSE 'R'
42#define CALLOCATE 'A'
43
44#define NOTRAN "N"
45#define NOCONJG "N"
46#define TRAN "T"
47#define CONJG "Z"
48#define COTRAN "C"
49
50#define ALL "A"
51#define LOWER "L"
52#define UPPER "U"
53#define DIAGONAL "D"
54
55#define LEFT "L"
56#define RIGHT "R"
57
58#define UNIT "U"
59#define NOUNIT "N"
60
61#define INIT "I"
62#define NOINIT "N"
63
64#define FORWARD "F"
65#define BACKWARD "B"
66
67#define REUSE "R"
68#define ALLOCATE "A"
69
70#if( _F2C_CALL_ == _F2C_ADD_ )
71/*
72* These defines set up the naming scheme required to have a FORTRAN
73* routine called by a C routine. No redefinition is necessary to have
74* the following FORTRAN to C interface:
75*
76* FORTRAN DECLARATION C CALL
77* SUBROUTINE DGEMM(...) dgemm_(...)
78*
79* This is the PBLAS default.
80*/
81#endif
82
83#if( _F2C_CALL_ == _F2C_UPCASE )
84/*
85* These defines set up the naming scheme required to have a FORTRAN
86* routine called by a C routine with the following FORTRAN to C inter-
87* face:
88*
89* FORTRAN DECLARATION C CALL
90* SUBROUTINE DGEMM(...) DGEMM(...)
91*/
92#define srot_ SROT
93#define drot_ DROT
94
95#define sswap_ SSWAP
96#define dswap_ DSWAP
97#define cswap_ CSWAP
98#define zswap_ ZSWAP
99
100#define scopy_ SCOPY
101#define dcopy_ DCOPY
102#define ccopy_ CCOPY
103#define zcopy_ ZCOPY
104
105#define saxpy_ SAXPY
106#define daxpy_ DAXPY
107#define caxpy_ CAXPY
108#define zaxpy_ ZAXPY
109
110#define sscal_ SSCAL
111#define dscal_ DSCAL
112#define cscal_ CSCAL
113#define zscal_ ZSCAL
114#define csscal_ CSSCAL
115#define zdscal_ ZDSCAL
116
117#define sasum_ SASUM
118#define dasum_ DASUM
119#define scasum_ SCASUM
120#define dzasum_ DZASUM
121
122#define snrm2_ SNRM2
123#define dnrm2_ DNRM2
124#define scnrm2_ SCNRM2
125#define dznrm2_ DZNRM2
126
127#define sdot_ SDOT
128#define ddot_ DDOT
129#define cdotu_ CDOTU
130#define zdotu_ ZDOTU
131#define cdotc_ CDOTC
132#define zdotc_ ZDOTC
133
134#define isamax_ ISAMAX
135#define idamax_ IDAMAX
136#define icamax_ ICAMAX
137#define izamax_ IZAMAX
138
139#define sgemv_ SGEMV
140#define dgemv_ DGEMV
141#define cgemv_ CGEMV
142#define zgemv_ ZGEMV
143
144#define ssymv_ SSYMV
145#define dsymv_ DSYMV
146#define chemv_ CHEMV
147#define zhemv_ ZHEMV
148
149#define strmv_ STRMV
150#define dtrmv_ DTRMV
151#define ctrmv_ CTRMV
152#define ztrmv_ ZTRMV
153
154#define strsv_ STRSV
155#define dtrsv_ DTRSV
156#define ctrsv_ CTRSV
157#define ztrsv_ ZTRSV
158
159#define sger_ SGER
160#define dger_ DGER
161#define cgeru_ CGERU
162#define zgeru_ ZGERU
163#define cgerc_ CGERC
164#define zgerc_ ZGERC
165
166#define ssyr_ SSYR
167#define dsyr_ DSYR
168#define cher_ CHER
169#define zher_ ZHER
170
171#define ssyr2_ SSYR2
172#define dsyr2_ DSYR2
173#define cher2_ CHER2
174#define zher2_ ZHER2
175
176#define sgemm_ SGEMM
177#define dgemm_ DGEMM
178#define cgemm_ CGEMM
179#define zgemm_ ZGEMM
180
181#define ssymm_ SSYMM
182#define dsymm_ DSYMM
183#define csymm_ CSYMM
184#define chemm_ CHEMM
185#define zsymm_ ZSYMM
186#define zhemm_ ZHEMM
187
188#define strmm_ STRMM
189#define dtrmm_ DTRMM
190#define ctrmm_ CTRMM
191#define ztrmm_ ZTRMM
192
193#define strsm_ STRSM
194#define dtrsm_ DTRSM
195#define ctrsm_ CTRSM
196#define ztrsm_ ZTRSM
197
198#define ssyrk_ SSYRK
199#define dsyrk_ DSYRK
200#define csyrk_ CSYRK
201#define cherk_ CHERK
202#define zsyrk_ ZSYRK
203#define zherk_ ZHERK
204
205#define ssyr2k_ SSYR2K
206#define dsyr2k_ DSYR2K
207#define csyr2k_ CSYR2K
208#define cher2k_ CHER2K
209#define zsyr2k_ ZSYR2K
210#define zher2k_ ZHER2K
211
212#endif
213
214#if( _F2C_CALL_ == _F2C_NOCHANGE )
215/*
216* These defines set up the naming scheme required to have a FORTRAN
217* routine called by a C routine with the following FORTRAN to C inter-
218* face:
219*
220* FORTRAN DECLARATION C CALL
221* SUBROUTINE DGEMM(...) dgemm(...)
222*/
223#define srot_ srot
224#define drot_ drot
225
226#define sswap_ sswap
227#define dswap_ dswap
228#define cswap_ cswap
229#define zswap_ zswap
230
231#define scopy_ scopy
232#define dcopy_ dcopy
233#define ccopy_ ccopy
234#define zcopy_ zcopy
235
236#define saxpy_ saxpy
237#define daxpy_ daxpy
238#define caxpy_ caxpy
239#define zaxpy_ zaxpy
240
241#define sscal_ sscal
242#define dscal_ dscal
243#define cscal_ cscal
244#define zscal_ zscal
245#define csscal_ csscal
246#define zdscal_ zdscal
247
248#define sasum_ sasum
249#define dasum_ dasum
250#define scasum_ scasum
251#define dzasum_ dzasum
252
253#define snrm2_ snrm2
254#define dnrm2_ dnrm2
255#define scnrm2_ scnrm2
256#define dznrm2_ dznrm2
257
258#define sdot_ sdot
259#define ddot_ ddot
260#define cdotu_ cdotu
261#define zdotu_ zdotu
262#define cdotc_ cdotc
263#define zdotc_ zdotc
264
265#define isamax_ isamax
266#define idamax_ idamax
267#define icamax_ icamax
268#define izamax_ izamax
269
270#define sgemv_ sgemv
271#define dgemv_ dgemv
272#define cgemv_ cgemv
273#define zgemv_ zgemv
274
275#define ssymv_ ssymv
276#define dsymv_ dsymv
277#define chemv_ chemv
278#define zhemv_ zhemv
279
280#define strmv_ strmv
281#define dtrmv_ dtrmv
282#define ctrmv_ ctrmv
283#define ztrmv_ ztrmv
284
285#define strsv_ strsv
286#define dtrsv_ dtrsv
287#define ctrsv_ ctrsv
288#define ztrsv_ ztrsv
289
290#define sger_ sger
291#define dger_ dger
292#define cgeru_ cgeru
293#define zgeru_ zgeru
294#define cgerc_ cgerc
295#define zgerc_ zgerc
296
297#define ssyr_ ssyr
298#define dsyr_ dsyr
299#define cher_ cher
300#define zher_ zher
301
302#define ssyr2_ ssyr2
303#define dsyr2_ dsyr2
304#define cher2_ cher2
305#define zher2_ zher2
306
307#define sgemm_ sgemm
308#define dgemm_ dgemm
309#define cgemm_ cgemm
310#define zgemm_ zgemm
311
312#define ssymm_ ssymm
313#define dsymm_ dsymm
314#define csymm_ csymm
315#define chemm_ chemm
316#define zsymm_ zsymm
317#define zhemm_ zhemm
318
319#define strmm_ strmm
320#define dtrmm_ dtrmm
321#define ctrmm_ ctrmm
322#define ztrmm_ ztrmm
323
324#define strsm_ strsm
325#define dtrsm_ dtrsm
326#define ctrsm_ ctrsm
327#define ztrsm_ ztrsm
328
329#define ssyrk_ ssyrk
330#define dsyrk_ dsyrk
331#define csyrk_ csyrk
332#define cherk_ cherk
333#define zsyrk_ zsyrk
334#define zherk_ zherk
335
336#define ssyr2k_ ssyr2k
337#define dsyr2k_ dsyr2k
338#define csyr2k_ csyr2k
339#define cher2k_ cher2k
340#define zsyr2k_ zsyr2k
341#define zher2k_ zher2k
342
343#endif
344/*
345* ---------------------------------------------------------------------
346* Function prototypes
347* ---------------------------------------------------------------------
348*/
349#ifdef __STDC__
350
351Int isamax_ ( Int *, char *, Int * );
352Int idamax_ ( Int *, char *, Int * );
353Int icamax_ ( Int *, char *, Int * );
354Int izamax_ ( Int *, char *, Int * );
355
356F_VOID_FCT saxpy_ ( Int *, char *, char *,
357 Int *, char *, Int * );
358F_VOID_FCT daxpy_ ( Int *, char *, char *,
359 Int *, char *, Int * );
360F_VOID_FCT caxpy_ ( Int *, char *, char *,
361 Int *, char *, Int * );
362F_VOID_FCT zaxpy_ ( Int *, char *, char *,
363 Int *, char *, Int * );
364
365F_VOID_FCT scopy_ ( Int *, char *, Int *,
366 char *, Int * );
367F_VOID_FCT dcopy_ ( Int *, char *, Int *,
368 char *, Int * );
369F_VOID_FCT ccopy_ ( Int *, char *, Int *,
370 char *, Int * );
371F_VOID_FCT zcopy_ ( Int *, char *, Int *,
372 char *, Int * );
373
374F_VOID_FCT sscal_ ( Int *, char *, char *,
375 Int * );
376F_VOID_FCT dscal_ ( Int *, char *, char *,
377 Int * );
378F_VOID_FCT cscal_ ( Int *, char *, char *,
379 Int * );
380F_VOID_FCT csscal_ ( Int *, char *, char *,
381 Int * );
382F_VOID_FCT zdscal_ ( Int *, char *, char *,
383 Int * );
384F_VOID_FCT zscal_ ( Int *, char *, char *,
385 Int * );
386
387F_VOID_FCT sswap_ ( Int *, char *, Int *,
388 char *, Int * );
389F_VOID_FCT dswap_ ( Int *, char *, Int *,
390 char *, Int * );
391F_VOID_FCT cswap_ ( Int *, char *, Int *,
392 char *, Int * );
393F_VOID_FCT zswap_ ( Int *, char *, Int *,
394 char *, Int * );
395
397 char *, char *, Int *,
398 char *, Int *, char *,
399 char *, Int * );
401 char *, char *, Int *,
402 char *, Int *, char *,
403 char *, Int * );
405 char *, char *, Int *,
406 char *, Int *, char *,
407 char *, Int * );
409 char *, char *, Int *,
410 char *, Int *, char *,
411 char *, Int * );
412
413F_VOID_FCT ssymv_ ( F_CHAR_T, Int *, char *,
414 char *, Int *, char *,
415 Int *, char *, char *,
416 Int * );
417F_VOID_FCT dsymv_ ( F_CHAR_T, Int *, char *,
418 char *, Int *, char *,
419 Int *, char *, char *,
420 Int * );
421F_VOID_FCT chemv_ ( F_CHAR_T, Int *, char *,
422 char *, Int *, char *,
423 Int *, char *, char *,
424 Int * );
425F_VOID_FCT zhemv_ ( F_CHAR_T, Int *, char *,
426 char *, Int *, char *,
427 Int *, char *, char *,
428 Int * );
429
431 Int *, char *, Int *,
432 char *, Int * );
434 Int *, char *, Int *,
435 char *, Int * );
437 Int *, char *, Int *,
438 char *, Int * );
440 Int *, char *, Int *,
441 char *, Int * );
442
444 Int *, char *, Int *,
445 char *, Int * );
447 Int *, char *, Int *,
448 char *, Int * );
450 Int *, char *, Int *,
451 char *, Int * );
453 Int *, char *, Int *,
454 char *, Int * );
455
456F_VOID_FCT sger_ ( Int *, Int *, char *,
457 char *, Int *, char *,
458 Int *, char *, Int * );
459F_VOID_FCT dger_ ( Int *, Int *, char *,
460 char *, Int *, char *,
461 Int *, char *, Int * );
462F_VOID_FCT cgerc_ ( Int *, Int *, char *,
463 char *, Int *, char *,
464 Int *, char *, Int * );
465F_VOID_FCT cgeru_ ( Int *, Int *, char *,
466 char *, Int *, char *,
467 Int *, char *, Int * );
468F_VOID_FCT zgerc_ ( Int *, Int *, char *,
469 char *, Int *, char *,
470 Int *, char *, Int * );
471F_VOID_FCT zgeru_ ( Int *, Int *, char *,
472 char *, Int *, char *,
473 Int *, char *, Int * );
474
475F_VOID_FCT ssyr_ ( F_CHAR_T, Int *, char *,
476 char *, Int *, char *,
477 Int * );
478F_VOID_FCT dsyr_ ( F_CHAR_T, Int *, char *,
479 char *, Int *, char *,
480 Int * );
481F_VOID_FCT cher_ ( F_CHAR_T, Int *, char *,
482 char *, Int *, char *,
483 Int * );
484F_VOID_FCT zher_ ( F_CHAR_T, Int *, char *,
485 char *, Int *, char *,
486 Int * );
487
488F_VOID_FCT ssyr2_ ( F_CHAR_T, Int *, char *,
489 char *, Int *, char *,
490 Int *, char *, Int * );
491F_VOID_FCT dsyr2_ ( F_CHAR_T, Int *, char *,
492 char *, Int *, char *,
493 Int *, char *, Int * );
494F_VOID_FCT cher2_ ( F_CHAR_T, Int *, char *,
495 char *, Int *, char *,
496 Int *, char *, Int * );
497F_VOID_FCT zher2_ ( F_CHAR_T, Int *, char *,
498 char *, Int *, char *,
499 Int *, char *, Int * );
500
502 Int *, Int *, char *,
503 char *, Int *, char *,
504 Int *, char *, char *,
505 Int * );
507 Int *, Int *, char *,
508 char *, Int *, char *,
509 Int *, char *, char *,
510 Int * );
512 Int *, Int *, char *,
513 char *, Int *, char *,
514 Int *, char *, char *,
515 Int * );
517 Int *, Int *, char *,
518 char *, Int *, char *,
519 Int *, char *, char *,
520 Int * );
521
523 Int *, char *, char *,
524 Int *, char *, Int *,
525 char *, char *, Int * );
527 Int *, char *, char *,
528 Int *, char *, Int *,
529 char *, char *, Int * );
531 Int *, char *, char *,
532 Int *, char *, Int *,
533 char *, char *, Int * );
535 Int *, char *, char *,
536 Int *, char *, Int *,
537 char *, char *, Int * );
539 Int *, char *, char *,
540 Int *, char *, Int *,
541 char *, char *, Int * );
543 Int *, char *, char *,
544 Int *, char *, Int *,
545 char *, char *, Int * );
546
548 Int *, char *, char *,
549 Int *, char *, char *,
550 Int * );
552 Int *, char *, char *,
553 Int *, char *, char *,
554 Int * );
556 Int *, char *, char *,
557 Int *, char *, char *,
558 Int * );
560 Int *, char *, char *,
561 Int *, char *, char *,
562 Int * );
564 Int *, char *, char *,
565 Int *, char *, char *,
566 Int * );
568 Int *, char *, char *,
569 Int *, char *, char *,
570 Int * );
571
573 Int *, char *, char *,
574 Int *, char *, Int *,
575 char *, char *, Int * );
577 Int *, char *, char *,
578 Int *, char *, Int *,
579 char *, char *, Int * );
581 Int *, char *, char *,
582 Int *, char *, Int *,
583 char *, char *, Int * );
585 Int *, char *, char *,
586 Int *, char *, Int *,
587 char *, char *, Int * );
589 Int *, char *, char *,
590 Int *, char *, Int *,
591 char *, char *, Int * );
593 Int *, char *, char *,
594 Int *, char *, Int *,
595 char *, char *, Int * );
596
598 F_CHAR_T, Int *, Int *,
599 char *, char *, Int *,
600 char *, Int * );
602 F_CHAR_T, Int *, Int *,
603 char *, char *, Int *,
604 char *, Int * );
606 F_CHAR_T, Int *, Int *,
607 char *, char *, Int *,
608 char *, Int * );
610 F_CHAR_T, Int *, Int *,
611 char *, char *, Int *,
612 char *, Int * );
613
615 F_CHAR_T, Int *, Int *,
616 char *, char *, Int *,
617 char *, Int * );
619 F_CHAR_T, Int *, Int *,
620 char *, char *, Int *,
621 char *, Int * );
623 F_CHAR_T, Int *, Int *,
624 char *, char *, Int *,
625 char *, Int * );
627 F_CHAR_T, Int *, Int *,
628 char *, char *, Int *,
629 char *, Int * );
630
631#else
632
633Int isamax_ ();
634Int idamax_ ();
635Int icamax_ ();
636Int izamax_ ();
637
642
647
654
659
664
669
674
679
686
691
696
701
708
715
722
727
732
733#endif
#define Int
Definition Bconfig.h:22
#define F_VOID_FCT
Definition pblas.h:127
char * F_CHAR_T
Definition pblas.h:122
#define zgemm_
Definition PBblas.h:179
#define ztrsm_
Definition PBblas.h:196
#define ssymm_
Definition PBblas.h:181
#define cgerc_
Definition PBblas.h:163
#define dswap_
Definition PBblas.h:96
#define strmv_
Definition PBblas.h:149
#define zgeru_
Definition PBblas.h:162
#define dtrsv_
Definition PBblas.h:155
#define zsymm_
Definition PBblas.h:185
#define zaxpy_
Definition PBblas.h:108
#define zher2_
Definition PBblas.h:174
#define csymm_
Definition PBblas.h:183
#define zsyr2k_
Definition PBblas.h:209
#define sger_
Definition PBblas.h:159
#define dger_
Definition PBblas.h:160
#define cgemv_
Definition PBblas.h:141
#define zsyrk_
Definition PBblas.h:202
#define ztrmm_
Definition PBblas.h:191
#define dgemm_
Definition PBblas.h:177
#define zhemm_
Definition PBblas.h:186
#define dtrsm_
Definition PBblas.h:194
#define cher2_
Definition PBblas.h:173
#define cgemm_
Definition PBblas.h:178
#define strmm_
Definition PBblas.h:188
#define sswap_
Definition PBblas.h:95
#define csscal_
Definition PBblas.h:114
#define caxpy_
Definition PBblas.h:107
#define chemm_
Definition PBblas.h:184
#define ctrmv_
Definition PBblas.h:151
#define cher2k_
Definition PBblas.h:208
#define strsv_
Definition PBblas.h:154
#define cherk_
Definition PBblas.h:201
#define ssyr2_
Definition PBblas.h:171
#define dtrmv_
Definition PBblas.h:150
#define dscal_
Definition PBblas.h:111
#define zdscal_
Definition PBblas.h:115
#define strsm_
Definition PBblas.h:193
#define sgemm_
Definition PBblas.h:176
#define scopy_
Definition PBblas.h:100
#define zgemv_
Definition PBblas.h:142
#define zgerc_
Definition PBblas.h:164
#define zhemv_
Definition PBblas.h:147
#define sgemv_
Definition PBblas.h:139
#define ztrsv_
Definition PBblas.h:157
#define dcopy_
Definition PBblas.h:101
#define isamax_
Definition PBblas.h:134
#define ccopy_
Definition PBblas.h:102
#define zcopy_
Definition PBblas.h:103
#define ssyrk_
Definition PBblas.h:198
#define cscal_
Definition PBblas.h:112
#define dtrmm_
Definition PBblas.h:189
#define sscal_
Definition PBblas.h:110
#define dsyrk_
Definition PBblas.h:199
#define ctrmm_
Definition PBblas.h:190
#define dsyr2_
Definition PBblas.h:172
#define zher2k_
Definition PBblas.h:210
#define ssyr_
Definition PBblas.h:166
#define dsyr2k_
Definition PBblas.h:206
#define zscal_
Definition PBblas.h:113
#define csyr2k_
Definition PBblas.h:207
#define cgeru_
Definition PBblas.h:161
#define icamax_
Definition PBblas.h:136
#define cher_
Definition PBblas.h:168
#define dsyr_
Definition PBblas.h:167
#define dgemv_
Definition PBblas.h:140
#define ssymv_
Definition PBblas.h:144
#define dsymv_
Definition PBblas.h:145
#define chemv_
Definition PBblas.h:146
#define cswap_
Definition PBblas.h:97
#define daxpy_
Definition PBblas.h:106
#define izamax_
Definition PBblas.h:137
#define dsymm_
Definition PBblas.h:182
#define ctrsm_
Definition PBblas.h:195
#define ssyr2k_
Definition PBblas.h:205
#define zswap_
Definition PBblas.h:98
#define ctrsv_
Definition PBblas.h:156
#define saxpy_
Definition PBblas.h:105
#define ztrmv_
Definition PBblas.h:152
#define zherk_
Definition PBblas.h:203
#define zher_
Definition PBblas.h:169
#define idamax_
Definition PBblas.h:135
#define csyrk_
Definition PBblas.h:200