ScaLAPACK 2.1  2.1
ScaLAPACK: Scalable Linear Algebra PACKage
PB_Cctypeset.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_Cctypeset 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 cmplx zero, one, negone;
40 /* ..
41 * .. Executable Statements ..
42 *
43 */
44  if( setup ) return( &TypeStruct );
45 
46  setup = 1;
47 
48  TypeStruct.type = SCPLX;
49  TypeStruct.usiz = sizeof( float );
50  TypeStruct.size = sizeof( cmplx );
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 = Ccgesd2d;
64  TypeStruct.Cgerv2d = Ccgerv2d;
65  TypeStruct.Cgebs2d = Ccgebs2d;
66  TypeStruct.Cgebr2d = Ccgebr2d;
67  TypeStruct.Cgsum2d = Ccgsum2d;
68 
69  TypeStruct.Fmmadd = cmmadd_;
70  TypeStruct.Fmmcadd = cmmcadd_;
71  TypeStruct.Fmmtadd = cmmtadd_;
72  TypeStruct.Fmmtcadd = cmmtcadd_;
73  TypeStruct.Fmmdda = cmmdda_;
74  TypeStruct.Fmmddac = cmmddac_;
75  TypeStruct.Fmmddat = cmmddat_;
76  TypeStruct.Fmmddact = cmmddact_;
77 
78  TypeStruct.Fcshft = ccshft_;
79  TypeStruct.Frshft = crshft_;
80 
81  TypeStruct.Fvvdotu = cvvdotu_;
82  TypeStruct.Fvvdotc = cvvdotc_;
83 
84  TypeStruct.Fset = cset_;
85 
86  TypeStruct.Ftzpad = ctzpad_;
87  TypeStruct.Ftzpadcpy = ctzpadcpy_;
88  TypeStruct.Ftzscal = ctzscal_;
89  TypeStruct.Fhescal = chescal_;
90  TypeStruct.Ftzcnjg = ctzcnjg_;
91 
92  TypeStruct.Faxpy = caxpy_;
93  TypeStruct.Fcopy = ccopy_;
94  TypeStruct.Fswap = cswap_;
95 
96  TypeStruct.Fgemv = cgemv_;
97  TypeStruct.Fsymv = csymv_;
98  TypeStruct.Fhemv = chemv_;
99  TypeStruct.Ftrmv = ctrmv_;
100  TypeStruct.Ftrsv = ctrsv_;
101  TypeStruct.Fagemv = cagemv_;
102  TypeStruct.Fasymv = casymv_;
103  TypeStruct.Fahemv = cahemv_;
104  TypeStruct.Fatrmv = catrmv_;
105 
106  TypeStruct.Fgerc = cgerc_;
107  TypeStruct.Fgeru = cgeru_;
108  TypeStruct.Fsyr = csyr_;
109  TypeStruct.Fher = cher_;
110  TypeStruct.Fsyr2 = csyr2_;
111  TypeStruct.Fher2 = cher2_;
112 
113  TypeStruct.Fgemm = cgemm_;
114  TypeStruct.Fsymm = csymm_;
115  TypeStruct.Fhemm = chemm_;
116  TypeStruct.Fsyrk = csyrk_;
117  TypeStruct.Fherk = cherk_;
118  TypeStruct.Fsyr2k = csyr2k_;
119  TypeStruct.Fher2k = cher2k_;
120  TypeStruct.Ftrmm = ctrmm_;
121  TypeStruct.Ftrsm = ctrsm_;
122 
123  return( &TypeStruct );
124 /*
125 * End of PB_Cctypeset
126 */
127 }
PBTYP_T::Fgemm
GEMM_T Fgemm
Definition: pblas.h:386
cvvdotu_
F_VOID_FCT cvvdotu_()
cmplx
float cmplx[2]
Definition: pblas.h:132
cgeru_
F_VOID_FCT cgeru_()
PBTYP_T::Fgerc
GERC_T Fgerc
Definition: pblas.h:379
cmmdda_
F_VOID_FCT cmmdda_()
csyr2k_
F_VOID_FCT csyr2k_()
ctrmm_
F_VOID_FCT ctrmm_()
crshft_
F_VOID_FCT crshft_()
cahemv_
F_VOID_FCT cahemv_()
ctzpad_
F_VOID_FCT ctzpad_()
Ccgsum2d
void Ccgsum2d()
PBTYP_T::Cgerv2d
GERV2D_T Cgerv2d
Definition: pblas.h:336
ccshft_
F_VOID_FCT ccshft_()
PBTYP_T::Fhescal
TZSCAL_T Fhescal
Definition: pblas.h:361
csyrk_
F_VOID_FCT csyrk_()
cmmcadd_
F_VOID_FCT cmmcadd_()
cmmddac_
F_VOID_FCT cmmddac_()
PBTYP_T::Fsyr2
SYR2_T Fsyr2
Definition: pblas.h:383
PBTYP_T::Ftzcnjg
TZSCAL_T Ftzcnjg
Definition: pblas.h:362
PBTYP_T::Fahemv
AHEMV_T Fahemv
Definition: pblas.h:376
cmmddat_
F_VOID_FCT cmmddat_()
PBTYP_T::Fvvdotc
VVDOT_T Fvvdotc
Definition: pblas.h:354
PBTYP_T::Fmmddat
MMADD_T Fmmddat
Definition: pblas.h:347
cmmddact_
F_VOID_FCT cmmddact_()
PBTYP_T::Fcshft
MMSHFT_T Fcshft
Definition: pblas.h:350
PBTYP_T::Ftrsv
TRSV_T Ftrsv
Definition: pblas.h:372
cmmtcadd_
F_VOID_FCT cmmtcadd_()
cvvdotc_
F_VOID_FCT cvvdotc_()
PBTYP_T::Ftrmm
TRMM_T Ftrmm
Definition: pblas.h:393
PBTYP_T::Fgemv
GEMV_T Fgemv
Definition: pblas.h:368
ccopy_
F_VOID_FCT ccopy_()
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
PBTYP_T::type
char type
Definition: pblas.h:327
PBTYP_T::Cgesd2d
GESD2D_T Cgesd2d
Definition: pblas.h:335
PBTYP_T::Ftzpad
TZPAD_T Ftzpad
Definition: pblas.h:356
cagemv_
F_VOID_FCT cagemv_()
PBTYP_T::usiz
int usiz
Definition: pblas.h:328
catrmv_
F_VOID_FCT catrmv_()
cmmadd_
F_VOID_FCT cmmadd_()
csyr_
F_VOID_FCT csyr_()
PBTYP_T::Ftrsm
TRSM_T Ftrsm
Definition: pblas.h:394
PB_Cctypeset
PBTYP_T * PB_Cctypeset()
Definition: PB_Cctypeset.c:19
cgerc_
F_VOID_FCT cgerc_()
PBTYP_T::Fher2k
HER2K_T Fher2k
Definition: pblas.h:392
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
cher2_
F_VOID_FCT cher2_()
ctrmv_
F_VOID_FCT ctrmv_()
PBTYP_T::Fsyr2k
SYR2K_T Fsyr2k
Definition: pblas.h:391
cher_
F_VOID_FCT cher_()
PBTYP_T::Fmmcadd
MMADD_T Fmmcadd
Definition: pblas.h:342
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
chemv_
F_VOID_FCT chemv_()
cherk_
F_VOID_FCT cherk_()
Ccgebs2d
void Ccgebs2d()
ctzcnjg_
F_VOID_FCT ctzcnjg_()
PBTYP_T::Cgebs2d
GEBS2D_T Cgebs2d
Definition: pblas.h:337
PBTYP_T::Fmmtcadd
MMADD_T Fmmtcadd
Definition: pblas.h:344
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
ONE
#define ONE
Definition: PBtools.h:64
cher2k_
F_VOID_FCT cher2k_()
ctzscal_
F_VOID_FCT ctzscal_()
Ccgerv2d
void Ccgerv2d()
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
cgemv_
F_VOID_FCT cgemv_()
PBTYP_T::size
int size
Definition: pblas.h:329
PBTYP_T::Fsymm
SYMM_T Fsymm
Definition: pblas.h:387
cmmtadd_
F_VOID_FCT cmmtadd_()
ctrsm_
F_VOID_FCT ctrsm_()
PBTYP_T::Fatrmv
ATRMV_T Fatrmv
Definition: pblas.h:377
cset_
F_VOID_FCT cset_()
Ccgebr2d
void Ccgebr2d()
ctzpadcpy_
F_VOID_FCT ctzpadcpy_()
chemm_
F_VOID_FCT chemm_()
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
csymm_
F_VOID_FCT csymm_()
cswap_
F_VOID_FCT cswap_()
csyr2_
F_VOID_FCT csyr2_()
PBTYP_T::Cgsum2d
GSUM2D_T Cgsum2d
Definition: pblas.h:339
PBTYP_T
Definition: pblas.h:325
caxpy_
F_VOID_FCT caxpy_()
PBTYP_T::Fhemv
HEMV_T Fhemv
Definition: pblas.h:370
PBTYP_T::Fhemm
HEMM_T Fhemm
Definition: pblas.h:388
ctrsv_
F_VOID_FCT ctrsv_()
casymv_
F_VOID_FCT casymv_()
PBTYP_T::Fsymv
SYMV_T Fsymv
Definition: pblas.h:369
PBTYP_T::Fgeru
GERU_T Fgeru
Definition: pblas.h:380
chescal_
F_VOID_FCT chescal_()
cgemm_
F_VOID_FCT cgemm_()
PBTYP_T::Fmmddac
MMADD_T Fmmddac
Definition: pblas.h:346
IMAG_PART
#define IMAG_PART
Definition: pblas.h:136
PBTYP_T::Fsyr
SYR_T Fsyr
Definition: pblas.h:381
csymv_
F_VOID_FCT csymv_()
PBTYP_T::zero
char * zero
Definition: pblas.h:331
SCPLX
#define SCPLX
Definition: pblas.h:471
PBTYP_T::Fmmddact
MMADD_T Fmmddact
Definition: pblas.h:348
PBTYP_T::Fagemv
AGEMV_T Fagemv
Definition: pblas.h:374
Ccgesd2d
void Ccgesd2d()