ScaLAPACK 2.1  2.1
ScaLAPACK: Scalable Linear Algebra PACKage
PB_Cztypeset.c
Go to the documentation of this file.
1 /* ---------------------------------------------------------------------
2 *
3 * -- PBLAS auxiliary 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 * Include files
12 */
13 #include "../pblas.h"
14 #include "../PBpblas.h"
15 #include "../PBtools.h"
16 #include "../PBblacs.h"
17 #include "../PBblas.h"
18 
20 {
21 /*
22 * Purpose
23 * =======
24 *
25 * PB_Cztypeset on the first call initializes a static structure contai-
26 * ning typed information and returns a pointer to it. The other calls
27 * to this routine just returns this pointer.
28 *
29 * -- Written on April 1, 1998 by
30 * R. Clint Whaley, University of Tennessee, Knoxville 37996, USA.
31 *
32 * ---------------------------------------------------------------------
33 */
34 /*
35 * .. Local Scalars ..
36 */
37  static int setup=0;
38  static PBTYP_T TypeStruct;
39  static cmplx16 zero, one, negone;
40 /* ..
41 * .. Executable Statements ..
42 *
43 */
44  if( setup ) return( &TypeStruct );
45 
46  setup = 1;
47 
48  TypeStruct.type = DCPLX;
49  TypeStruct.usiz = sizeof( double );
50  TypeStruct.size = sizeof( cmplx16 );
51 
52  zero [REAL_PART] = ZERO;
53  zero [IMAG_PART] = ZERO;
54  one [REAL_PART] = ONE;
55  one [IMAG_PART] = ZERO;
56  negone[REAL_PART] = -ONE;
57  negone[IMAG_PART] = ZERO;
58 
59  TypeStruct.zero = ((char *) zero);
60  TypeStruct.one = ((char *) one);
61  TypeStruct.negone = ((char *) negone);
62 
63  TypeStruct.Cgesd2d = Czgesd2d;
64  TypeStruct.Cgerv2d = Czgerv2d;
65  TypeStruct.Cgebs2d = Czgebs2d;
66  TypeStruct.Cgebr2d = Czgebr2d;
67  TypeStruct.Cgsum2d = Czgsum2d;
68 
69  TypeStruct.Fmmadd = zmmadd_;
70  TypeStruct.Fmmcadd = zmmcadd_;
71  TypeStruct.Fmmtadd = zmmtadd_;
72  TypeStruct.Fmmtcadd = zmmtcadd_;
73  TypeStruct.Fmmdda = zmmdda_;
74  TypeStruct.Fmmddac = zmmddac_;
75  TypeStruct.Fmmddat = zmmddat_;
76  TypeStruct.Fmmddact = zmmddact_;
77 
78  TypeStruct.Fcshft = zcshft_;
79  TypeStruct.Frshft = zrshft_;
80 
81  TypeStruct.Fvvdotu = zvvdotu_;
82  TypeStruct.Fvvdotc = zvvdotc_;
83 
84  TypeStruct.Fset = zset_;
85 
86  TypeStruct.Ftzpad = ztzpad_;
87  TypeStruct.Ftzpadcpy = ztzpadcpy_;
88  TypeStruct.Ftzscal = ztzscal_;
89  TypeStruct.Fhescal = zhescal_;
90  TypeStruct.Ftzcnjg = ztzcnjg_;
91 
92  TypeStruct.Faxpy = zaxpy_;
93  TypeStruct.Fcopy = zcopy_;
94  TypeStruct.Fswap = zswap_;
95 
96  TypeStruct.Fgemv = zgemv_;
97  TypeStruct.Fsymv = zsymv_;
98  TypeStruct.Fhemv = zhemv_;
99  TypeStruct.Ftrmv = ztrmv_;
100  TypeStruct.Ftrsv = ztrsv_;
101  TypeStruct.Fagemv = zagemv_;
102  TypeStruct.Fasymv = zasymv_;
103  TypeStruct.Fahemv = zahemv_;
104  TypeStruct.Fatrmv = zatrmv_;
105 
106  TypeStruct.Fgerc = zgerc_;
107  TypeStruct.Fgeru = zgeru_;
108  TypeStruct.Fsyr = zsyr_;
109  TypeStruct.Fher = zher_;
110  TypeStruct.Fsyr2 = zsyr2_;
111  TypeStruct.Fher2 = zher2_;
112 
113  TypeStruct.Fgemm = zgemm_;
114  TypeStruct.Fsymm = zsymm_;
115  TypeStruct.Fhemm = zhemm_;
116  TypeStruct.Fsyrk = zsyrk_;
117  TypeStruct.Fherk = zherk_;
118  TypeStruct.Fsyr2k = zsyr2k_;
119  TypeStruct.Fher2k = zher2k_;
120  TypeStruct.Ftrmm = ztrmm_;
121  TypeStruct.Ftrsm = ztrsm_;
122 
123  return( &TypeStruct );
124 /*
125 * End of PB_Cztypeset
126 */
127 }
PBTYP_T::Fgemm
GEMM_T Fgemm
Definition: pblas.h:386
PBTYP_T::Fgerc
GERC_T Fgerc
Definition: pblas.h:379
zvvdotu_
F_VOID_FCT zvvdotu_()
PBTYP_T::Cgerv2d
GERV2D_T Cgerv2d
Definition: pblas.h:336
PBTYP_T::Fhescal
TZSCAL_T Fhescal
Definition: pblas.h:361
PBTYP_T::Fsyr2
SYR2_T Fsyr2
Definition: pblas.h:383
zsyrk_
F_VOID_FCT zsyrk_()
PBTYP_T::Ftzcnjg
TZSCAL_T Ftzcnjg
Definition: pblas.h:362
PBTYP_T::Fahemv
AHEMV_T Fahemv
Definition: pblas.h:376
zgemm_
F_VOID_FCT zgemm_()
ztrsm_
F_VOID_FCT ztrsm_()
zasymv_
F_VOID_FCT zasymv_()
PBTYP_T::Fvvdotc
VVDOT_T Fvvdotc
Definition: pblas.h:354
PBTYP_T::Fmmddat
MMADD_T Fmmddat
Definition: pblas.h:347
PBTYP_T::Fcshft
MMSHFT_T Fcshft
Definition: pblas.h:350
Czgebs2d
void Czgebs2d()
PBTYP_T::Ftrsv
TRSV_T Ftrsv
Definition: pblas.h:372
zsyr2_
F_VOID_FCT zsyr2_()
PBTYP_T::Ftrmm
TRMM_T Ftrmm
Definition: pblas.h:393
PBTYP_T::Fgemv
GEMV_T Fgemv
Definition: pblas.h:368
PBTYP_T::Ftzscal
TZSCAL_T Ftzscal
Definition: pblas.h:360
REAL_PART
#define REAL_PART
Definition: pblas.h:135
PBTYP_T::Fher
HER_T Fher
Definition: pblas.h:382
PBTYP_T::Faxpy
AXPY_T Faxpy
Definition: pblas.h:364
zherk_
F_VOID_FCT zherk_()
zher2_
F_VOID_FCT zher2_()
PBTYP_T::type
char type
Definition: pblas.h:327
Czgebr2d
void Czgebr2d()
PBTYP_T::Cgesd2d
GESD2D_T Cgesd2d
Definition: pblas.h:335
zher2k_
F_VOID_FCT zher2k_()
PBTYP_T::Ftzpad
TZPAD_T Ftzpad
Definition: pblas.h:356
Czgesd2d
void Czgesd2d()
PBTYP_T::usiz
int usiz
Definition: pblas.h:328
DCPLX
#define DCPLX
Definition: pblas.h:472
PBTYP_T::Ftrsm
TRSM_T Ftrsm
Definition: pblas.h:394
zcopy_
F_VOID_FCT zcopy_()
ztzpad_
F_VOID_FCT ztzpad_()
ztrmv_
F_VOID_FCT ztrmv_()
zmmtcadd_
F_VOID_FCT zmmtcadd_()
zhescal_
F_VOID_FCT zhescal_()
PBTYP_T::Fher2k
HER2K_T Fher2k
Definition: pblas.h:392
ztzpadcpy_
F_VOID_FCT ztzpadcpy_()
PBTYP_T::Fswap
SWAP_T Fswap
Definition: pblas.h:366
PBTYP_T::Fherk
HERK_T Fherk
Definition: pblas.h:390
ZERO
#define ZERO
Definition: PBtools.h:66
ztzcnjg_
F_VOID_FCT ztzcnjg_()
zcshft_
F_VOID_FCT zcshft_()
PBTYP_T::Fsyr2k
SYR2K_T Fsyr2k
Definition: pblas.h:391
zmmddat_
F_VOID_FCT zmmddat_()
PBTYP_T::Fmmcadd
MMADD_T Fmmcadd
Definition: pblas.h:342
zgeru_
F_VOID_FCT zgeru_()
zmmddact_
F_VOID_FCT zmmddact_()
PBTYP_T::Ftzpadcpy
TZPADCPY_T Ftzpadcpy
Definition: pblas.h:357
PBTYP_T::Frshft
MMSHFT_T Frshft
Definition: pblas.h:351
PBTYP_T::Fasymv
ASYMV_T Fasymv
Definition: pblas.h:375
PBTYP_T::Fmmtadd
MMADD_T Fmmtadd
Definition: pblas.h:343
PBTYP_T::Fmmdda
MMADD_T Fmmdda
Definition: pblas.h:345
zgerc_
F_VOID_FCT zgerc_()
Czgerv2d
void Czgerv2d()
zher_
F_VOID_FCT zher_()
PBTYP_T::Cgebs2d
GEBS2D_T Cgebs2d
Definition: pblas.h:337
PBTYP_T::Fmmtcadd
MMADD_T Fmmtcadd
Definition: pblas.h:344
zmmtadd_
F_VOID_FCT zmmtadd_()
cmplx16
double cmplx16[2]
Definition: pblas.h:133
PBTYP_T::negone
char * negone
Definition: pblas.h:331
PBTYP_T::Fset
VVSET_T Fset
Definition: pblas.h:358
PBTYP_T::Fmmadd
MMADD_T Fmmadd
Definition: pblas.h:341
zhemm_
F_VOID_FCT zhemm_()
PB_Cztypeset
PBTYP_T * PB_Cztypeset()
Definition: PB_Cztypeset.c:19
zmmadd_
F_VOID_FCT zmmadd_()
ONE
#define ONE
Definition: PBtools.h:64
ztrmm_
F_VOID_FCT ztrmm_()
PBTYP_T::one
char * one
Definition: pblas.h:331
PBTYP_T::Fsyrk
SYRK_T Fsyrk
Definition: pblas.h:389
PBTYP_T::Ftrmv
TRMV_T Ftrmv
Definition: pblas.h:371
zagemv_
F_VOID_FCT zagemv_()
zsyr2k_
F_VOID_FCT zsyr2k_()
PBTYP_T::size
int size
Definition: pblas.h:329
zsymv_
F_VOID_FCT zsymv_()
zatrmv_
F_VOID_FCT zatrmv_()
zsyr_
F_VOID_FCT zsyr_()
ztrsv_
F_VOID_FCT ztrsv_()
zaxpy_
F_VOID_FCT zaxpy_()
PBTYP_T::Fsymm
SYMM_T Fsymm
Definition: pblas.h:387
zset_
F_VOID_FCT zset_()
PBTYP_T::Fatrmv
ATRMV_T Fatrmv
Definition: pblas.h:377
Czgsum2d
void Czgsum2d()
zswap_
F_VOID_FCT zswap_()
zmmddac_
F_VOID_FCT zmmddac_()
zsymm_
F_VOID_FCT zsymm_()
PBTYP_T::Fvvdotu
VVDOT_T Fvvdotu
Definition: pblas.h:353
PBTYP_T::Fcopy
COPY_T Fcopy
Definition: pblas.h:365
PBTYP_T::Fher2
HER2_T Fher2
Definition: pblas.h:384
PBTYP_T::Cgebr2d
GEBR2D_T Cgebr2d
Definition: pblas.h:338
PBTYP_T::Cgsum2d
GSUM2D_T Cgsum2d
Definition: pblas.h:339
PBTYP_T
Definition: pblas.h:325
zgemv_
F_VOID_FCT zgemv_()
zmmdda_
F_VOID_FCT zmmdda_()
PBTYP_T::Fhemv
HEMV_T Fhemv
Definition: pblas.h:370
PBTYP_T::Fhemm
HEMM_T Fhemm
Definition: pblas.h:388
PBTYP_T::Fsymv
SYMV_T Fsymv
Definition: pblas.h:369
zvvdotc_
F_VOID_FCT zvvdotc_()
PBTYP_T::Fgeru
GERU_T Fgeru
Definition: pblas.h:380
zrshft_
F_VOID_FCT zrshft_()
PBTYP_T::Fmmddac
MMADD_T Fmmddac
Definition: pblas.h:346
IMAG_PART
#define IMAG_PART
Definition: pblas.h:136
ztzscal_
F_VOID_FCT ztzscal_()
zmmcadd_
F_VOID_FCT zmmcadd_()
zhemv_
F_VOID_FCT zhemv_()
PBTYP_T::Fsyr
SYR_T Fsyr
Definition: pblas.h:381
PBTYP_T::zero
char * zero
Definition: pblas.h:331
zahemv_
F_VOID_FCT zahemv_()
PBTYP_T::Fmmddact
MMADD_T Fmmddact
Definition: pblas.h:348
PBTYP_T::Fagemv
AGEMV_T Fagemv
Definition: pblas.h:374