File: PB_Cztypeset.c

package info (click to toggle)
scalapack 1.8.0-6
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 32,240 kB
  • ctags: 29,143
  • sloc: fortran: 288,069; ansic: 64,035; makefile: 1,911
file content (127 lines) | stat: -rw-r--r-- 3,357 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/* ---------------------------------------------------------------------
*
*  -- PBLAS auxiliary routine (version 2.0) --
*     University of Tennessee, Knoxville, Oak Ridge National Laboratory,
*     and University of California, Berkeley.
*     April 1, 1998
*
*  ---------------------------------------------------------------------
*/
/*
*  Include files
*/
#include "../pblas.h"
#include "../PBpblas.h"
#include "../PBtools.h"
#include "../PBblacs.h"
#include "../PBblas.h"

PBTYP_T * PB_Cztypeset()
{
/*
*  Purpose
*  =======
*
*  PB_Cztypeset on the first call initializes a static structure contai-
*  ning typed information and returns a pointer to it.  The  other calls
*  to this routine just returns this pointer.
*
*  -- Written on April 1, 1998 by
*     R. Clint Whaley, University of Tennessee, Knoxville 37996, USA.
*
*  ---------------------------------------------------------------------
*/
/*
*  .. Local Scalars ..
*/
   static int     setup=0;
   static PBTYP_T TypeStruct;
   static cmplx16 zero, one, negone;
/* ..
*  .. Executable Statements ..
*
*/
   if( setup ) return( &TypeStruct );

   setup = 1;

   TypeStruct.type = DCPLX;
   TypeStruct.usiz = sizeof( double  );
   TypeStruct.size = sizeof( cmplx16 );

   zero  [REAL_PART] = ZERO;
   zero  [IMAG_PART] = ZERO;
   one   [REAL_PART] =  ONE;
   one   [IMAG_PART] = ZERO;
   negone[REAL_PART] = -ONE;
   negone[IMAG_PART] = ZERO;

   TypeStruct.zero      = ((char *) zero);
   TypeStruct.one       = ((char *) one);
   TypeStruct.negone    = ((char *) negone);

   TypeStruct.Cgesd2d   = Czgesd2d;
   TypeStruct.Cgerv2d   = Czgerv2d;
   TypeStruct.Cgebs2d   = Czgebs2d;
   TypeStruct.Cgebr2d   = Czgebr2d;
   TypeStruct.Cgsum2d   = Czgsum2d;

   TypeStruct.Fmmadd    = zmmadd_;
   TypeStruct.Fmmcadd   = zmmcadd_;
   TypeStruct.Fmmtadd   = zmmtadd_;
   TypeStruct.Fmmtcadd  = zmmtcadd_;
   TypeStruct.Fmmdda    = zmmdda_;
   TypeStruct.Fmmddac   = zmmddac_;
   TypeStruct.Fmmddat   = zmmddat_;
   TypeStruct.Fmmddact  = zmmddact_;

   TypeStruct.Fcshft    = zcshft_;
   TypeStruct.Frshft    = zrshft_;

   TypeStruct.Fvvdotu   = zvvdotu_;
   TypeStruct.Fvvdotc   = zvvdotc_;

   TypeStruct.Fset      = zset_;

   TypeStruct.Ftzpad    = ztzpad_;
   TypeStruct.Ftzpadcpy = ztzpadcpy_;
   TypeStruct.Ftzscal   = ztzscal_;
   TypeStruct.Fhescal   = zhescal_;
   TypeStruct.Ftzcnjg   = ztzcnjg_;

   TypeStruct.Faxpy     = zaxpy_;
   TypeStruct.Fcopy     = zcopy_;
   TypeStruct.Fswap     = zswap_;

   TypeStruct.Fgemv     = zgemv_;
   TypeStruct.Fsymv     = zsymv_;
   TypeStruct.Fhemv     = zhemv_;
   TypeStruct.Ftrmv     = ztrmv_;
   TypeStruct.Ftrsv     = ztrsv_;
   TypeStruct.Fagemv    = zagemv_;
   TypeStruct.Fasymv    = zasymv_;
   TypeStruct.Fahemv    = zahemv_;
   TypeStruct.Fatrmv    = zatrmv_;

   TypeStruct.Fgerc     = zgerc_;
   TypeStruct.Fgeru     = zgeru_;
   TypeStruct.Fsyr      = zsyr_;
   TypeStruct.Fher      = zher_;
   TypeStruct.Fsyr2     = zsyr2_;
   TypeStruct.Fher2     = zher2_;

   TypeStruct.Fgemm     = zgemm_;
   TypeStruct.Fsymm     = zsymm_;
   TypeStruct.Fhemm     = zhemm_;
   TypeStruct.Fsyrk     = zsyrk_;
   TypeStruct.Fherk     = zherk_;
   TypeStruct.Fsyr2k    = zsyr2k_;
   TypeStruct.Fher2k    = zher2k_;
   TypeStruct.Ftrmm     = ztrmm_;
   TypeStruct.Ftrsm     = ztrsm_;

   return( &TypeStruct );
/*
*  End of PB_Cztypeset
*/
}