Amesos Package Browser (Single Doxygen Collection)
Development
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
src
SuiteSparse
CHOLMOD
Include
amesos_cholmod_template.h
Go to the documentation of this file.
1
/* ========================================================================== */
2
/* === Include/cholmod_template.h =========================================== */
3
/* ========================================================================== */
4
5
/* -------------------------------------------------------------------------- */
6
/* undefine current xtype macros, and then define macros for current type */
7
/* -------------------------------------------------------------------------- */
8
9
#undef TEMPLATE
10
#undef XTYPE
11
#undef XTYPE2
12
#undef XTYPE_OK
13
#undef ENTRY_IS_NONZERO
14
#undef ENTRY_IS_ZERO
15
#undef ENTRY_IS_ONE
16
#undef IMAG_IS_NONZERO
17
18
#undef ASSEMBLE
19
#undef ASSIGN
20
#undef ASSIGN_CONJ
21
#undef ASSIGN2
22
#undef ASSIGN2_CONJ
23
#undef ASSIGN_REAL
24
#undef MULT
25
#undef MULTADD
26
#undef ADD
27
#undef ADD_REAL
28
#undef MULTSUB
29
#undef MULTADDCONJ
30
#undef MULTSUBCONJ
31
#undef LLDOT
32
#undef CLEAR
33
#undef DIV
34
#undef DIV_REAL
35
#undef MULT_REAL
36
#undef CLEAR_IMAG
37
#undef LDLDOT
38
#undef PREFIX
39
40
#undef ENTRY_SIZE
41
42
#undef XPRINT0
43
#undef XPRINT1
44
#undef XPRINT2
45
#undef XPRINT3
46
47
/* -------------------------------------------------------------------------- */
48
/* pattern */
49
/* -------------------------------------------------------------------------- */
50
51
52
#ifdef PATTERN
53
54
#define PREFIX amesos_p_
55
#define TEMPLATE(name) P_TEMPLATE(name)
56
#define XTYPE CHOLMOD_PATTERN
57
#define XTYPE2 CHOLMOD_REAL
58
#define XTYPE_OK(type) (TRUE)
59
#define ENTRY_IS_NONZERO(ax,az,q) (TRUE)
60
#define ENTRY_IS_ZERO(ax,az,q) (FALSE)
61
#define ENTRY_IS_ONE(ax,az,q) (TRUE)
62
#define IMAG_IS_NONZERO(ax,az,q) (FALSE)
63
#define ENTRY_SIZE 0
64
65
#define ASSEMBLE(x,z,p,ax,az,q)
66
#define ASSIGN(x,z,p,ax,az,q)
67
#define ASSIGN_CONJ(x,z,p,ax,az,q)
68
#define ASSIGN2(x,z,p,ax,az,q) P_ASSIGN2(x,z,p,ax,az,q)
69
#define ASSIGN2_CONJ(x,z,p,ax,az,q) P_ASSIGN2(x,z,p,ax,az,q)
70
#define ASSIGN_REAL(x,p,ax,q)
71
#define MULT(x,z,p,ax,az,q,bx,bz,pb)
72
#define MULTADD(x,z,p,ax,az,q,bx,bz,pb)
73
#define ADD(x,z,p,ax,az,q,bx,bz,pb)
74
#define ADD_REAL(x,p, ax,q, bx,r)
75
#define MULTSUB(x,z,p,ax,az,q,bx,bz,pb)
76
#define MULTADDCONJ(x,z,p,ax,az,q,bx,bz,pb)
77
#define MULTSUBCONJ(x,z,p,ax,az,q,bx,bz,pb)
78
#define LLDOT(x,p,ax,az,q)
79
#define CLEAR(x,z,p)
80
#define CLEAR_IMAG(x,z,p)
81
#define DIV(x,z,p,ax,az,q)
82
#define DIV_REAL(x,z,p, ax,az,q, bx,r)
83
#define MULT_REAL(x,z,p, ax,az,q, bx,r)
84
#define LDLDOT(x,p, ax,az,q, bx,r)
85
86
#define XPRINT0(x,z,p) P_PRINT(0,x,z,p)
87
#define XPRINT1(x,z,p) P_PRINT(1,x,z,p)
88
#define XPRINT2(x,z,p) P_PRINT(2,x,z,p)
89
#define XPRINT3(x,z,p) P_PRINT(3,x,z,p)
90
91
/* -------------------------------------------------------------------------- */
92
/* real */
93
/* -------------------------------------------------------------------------- */
94
95
#elif defined (REAL)
96
97
#define PREFIX amesos_r_
98
#define TEMPLATE(name) R_TEMPLATE(name)
99
#define XTYPE CHOLMOD_REAL
100
#define XTYPE2 CHOLMOD_REAL
101
#define XTYPE_OK(type) R_XTYPE_OK(type)
102
#define ENTRY_IS_NONZERO(ax,az,q) R_IS_NONZERO(ax,az,q)
103
#define ENTRY_IS_ZERO(ax,az,q) R_IS_ZERO(ax,az,q)
104
#define ENTRY_IS_ONE(ax,az,q) R_IS_ONE(ax,az,q)
105
#define IMAG_IS_NONZERO(ax,az,q) (FALSE)
106
#define ENTRY_SIZE 1
107
108
#define ASSEMBLE(x,z,p,ax,az,q) R_ASSEMBLE(x,z,p,ax,az,q)
109
#define ASSIGN(x,z,p,ax,az,q) R_ASSIGN(x,z,p,ax,az,q)
110
#define ASSIGN_CONJ(x,z,p,ax,az,q) R_ASSIGN(x,z,p,ax,az,q)
111
#define ASSIGN2(x,z,p,ax,az,q) R_ASSIGN(x,z,p,ax,az,q)
112
#define ASSIGN2_CONJ(x,z,p,ax,az,q) R_ASSIGN(x,z,p,ax,az,q)
113
#define ASSIGN_REAL(x,p,ax,q) R_ASSIGN_REAL(x,p,ax,q)
114
#define MULT(x,z,p,ax,az,q,bx,bz,pb) R_MULT(x,z,p,ax,az,q,bx,bz,pb)
115
#define MULTADD(x,z,p,ax,az,q,bx,bz,pb) R_MULTADD(x,z,p,ax,az,q,bx,bz,pb)
116
#define ADD(x,z,p,ax,az,q,bx,bz,pb) R_ADD(x,z,p,ax,az,q,bx,bz,pb)
117
#define ADD_REAL(x,p, ax,q, bx,r) R_ADD_REAL(x,p, ax,q, bx,r)
118
#define MULTSUB(x,z,p,ax,az,q,bx,bz,pb) R_MULTSUB(x,z,p,ax,az,q,bx,bz,pb)
119
#define MULTADDCONJ(x,z,p,ax,az,q,bx,bz,pb) \
120
R_MULTADDCONJ(x,z,p,ax,az,q,bx,bz,pb)
121
#define MULTSUBCONJ(x,z,p,ax,az,q,bx,bz,pb) \
122
R_MULTSUBCONJ(x,z,p,ax,az,q,bx,bz,pb)
123
#define LLDOT(x,p,ax,az,q) R_LLDOT(x,p,ax,az,q)
124
#define CLEAR(x,z,p) R_CLEAR(x,z,p)
125
#define CLEAR_IMAG(x,z,p) R_CLEAR_IMAG(x,z,p)
126
#define DIV(x,z,p,ax,az,q) R_DIV(x,z,p,ax,az,q)
127
#define DIV_REAL(x,z,p, ax,az,q, bx,r) R_DIV_REAL(x,z,p, ax,az,q, bx,r)
128
#define MULT_REAL(x,z,p, ax,az,q, bx,r) R_MULT_REAL(x,z,p, ax,az,q, bx,r)
129
#define LDLDOT(x,p, ax,az,q, bx,r) R_LDLDOT(x,p, ax,az,q, bx,r)
130
131
#define XPRINT0(x,z,p) R_PRINT(0,x,z,p)
132
#define XPRINT1(x,z,p) R_PRINT(1,x,z,p)
133
#define XPRINT2(x,z,p) R_PRINT(2,x,z,p)
134
#define XPRINT3(x,z,p) R_PRINT(3,x,z,p)
135
136
/* -------------------------------------------------------------------------- */
137
/* complex */
138
/* -------------------------------------------------------------------------- */
139
140
#elif defined (COMPLEX)
141
142
#define PREFIX amesos_c_
143
144
#ifdef NCONJUGATE
145
#define TEMPLATE(name) CT_TEMPLATE(name)
146
#else
147
#define TEMPLATE(name) C_TEMPLATE(name)
148
#endif
149
150
#define ASSEMBLE(x,z,p,ax,az,q) C_ASSEMBLE(x,z,p,ax,az,q)
151
#define ASSIGN(x,z,p,ax,az,q) C_ASSIGN(x,z,p,ax,az,q)
152
#define ASSIGN_CONJ(x,z,p,ax,az,q) C_ASSIGN_CONJ(x,z,p,ax,az,q)
153
#define ASSIGN2(x,z,p,ax,az,q) C_ASSIGN(x,z,p,ax,az,q)
154
#define ASSIGN2_CONJ(x,z,p,ax,az,q) C_ASSIGN_CONJ(x,z,p,ax,az,q)
155
#define ASSIGN_REAL(x,p,ax,q) C_ASSIGN_REAL(x,p,ax,q)
156
#define XTYPE CHOLMOD_COMPLEX
157
#define XTYPE2 CHOLMOD_COMPLEX
158
#define XTYPE_OK(type) C_XTYPE_OK(type)
159
#define ENTRY_IS_NONZERO(ax,az,q) C_IS_NONZERO(ax,az,q)
160
#define ENTRY_IS_ZERO(ax,az,q) C_IS_ZERO(ax,az,q)
161
#define ENTRY_IS_ONE(ax,az,q) C_IS_ONE(ax,az,q)
162
#define IMAG_IS_NONZERO(ax,az,q) C_IMAG_IS_NONZERO(ax,az,q)
163
#define ENTRY_SIZE 2
164
165
#define MULTADD(x,z,p,ax,az,q,bx,bz,pb) C_MULTADD(x,z,p,ax,az,q,bx,bz,pb)
166
#define MULT(x,z,p,ax,az,q,bx,bz,pb) C_MULT(x,z,p,ax,az,q,bx,bz,pb)
167
#define ADD(x,z,p,ax,az,q,bx,bz,pb) C_ADD(x,z,p,ax,az,q,bx,bz,pb)
168
#define ADD_REAL(x,p, ax,q, bx,r) C_ADD_REAL(x,p, ax,q, bx,r)
169
#define MULTSUB(x,z,p,ax,az,q,bx,bz,pb) C_MULTSUB(x,z,p,ax,az,q,bx,bz,pb)
170
#define MULTADDCONJ(x,z,p,ax,az,q,bx,bz,pb) \
171
C_MULTADDCONJ(x,z,p,ax,az,q,bx,bz,pb)
172
#define MULTSUBCONJ(x,z,p,ax,az,q,bx,bz,pb) \
173
C_MULTSUBCONJ(x,z,p,ax,az,q,bx,bz,pb)
174
#define LLDOT(x,p,ax,az,q) C_LLDOT(x,p,ax,az,q)
175
#define CLEAR(x,z,p) C_CLEAR(x,z,p)
176
#define CLEAR_IMAG(x,z,p) C_CLEAR_IMAG(x,z,p)
177
#define DIV(x,z,p,ax,az,q) C_DIV(x,z,p,ax,az,q)
178
#define DIV_REAL(x,z,p, ax,az,q, bx,r) C_DIV_REAL(x,z,p, ax,az,q, bx,r)
179
#define MULT_REAL(x,z,p, ax,az,q, bx,r) C_MULT_REAL(x,z,p, ax,az,q, bx,r)
180
#define LDLDOT(x,p, ax,az,q, bx,r) C_LDLDOT(x,p, ax,az,q, bx,r)
181
182
#define XPRINT0(x,z,p) C_PRINT(0,x,z,p)
183
#define XPRINT1(x,z,p) C_PRINT(1,x,z,p)
184
#define XPRINT2(x,z,p) C_PRINT(2,x,z,p)
185
#define XPRINT3(x,z,p) C_PRINT(3,x,z,p)
186
187
/* -------------------------------------------------------------------------- */
188
/* zomplex */
189
/* -------------------------------------------------------------------------- */
190
191
#elif defined (ZOMPLEX)
192
193
#define PREFIX amesos_z_
194
195
#ifdef NCONJUGATE
196
#define TEMPLATE(name) ZT_TEMPLATE(name)
197
#else
198
#define TEMPLATE(name) Z_TEMPLATE(name)
199
#endif
200
201
#define ASSEMBLE(x,z,p,ax,az,q) Z_ASSEMBLE(x,z,p,ax,az,q)
202
#define ASSIGN(x,z,p,ax,az,q) Z_ASSIGN(x,z,p,ax,az,q)
203
#define ASSIGN_CONJ(x,z,p,ax,az,q) Z_ASSIGN_CONJ(x,z,p,ax,az,q)
204
#define ASSIGN2(x,z,p,ax,az,q) Z_ASSIGN(x,z,p,ax,az,q)
205
#define ASSIGN2_CONJ(x,z,p,ax,az,q) Z_ASSIGN_CONJ(x,z,p,ax,az,q)
206
#define ASSIGN_REAL(x,p,ax,q) Z_ASSIGN_REAL(x,p,ax,q)
207
#define XTYPE CHOLMOD_ZOMPLEX
208
#define XTYPE2 CHOLMOD_ZOMPLEX
209
#define XTYPE_OK(type) Z_XTYPE_OK(type)
210
#define ENTRY_IS_NONZERO(ax,az,q) Z_IS_NONZERO(ax,az,q)
211
#define ENTRY_IS_ZERO(ax,az,q) Z_IS_ZERO(ax,az,q)
212
#define ENTRY_IS_ONE(ax,az,q) Z_IS_ONE(ax,az,q)
213
#define IMAG_IS_NONZERO(ax,az,q) Z_IMAG_IS_NONZERO(ax,az,q)
214
#define ENTRY_SIZE 1
215
216
#define MULTADD(x,z,p,ax,az,q,bx,bz,pb) Z_MULTADD(x,z,p,ax,az,q,bx,bz,pb)
217
#define MULT(x,z,p,ax,az,q,bx,bz,pb) Z_MULT(x,z,p,ax,az,q,bx,bz,pb)
218
#define ADD(x,z,p,ax,az,q,bx,bz,pb) Z_ADD(x,z,p,ax,az,q,bx,bz,pb)
219
#define ADD_REAL(x,p, ax,q, bx,r) Z_ADD_REAL(x,p, ax,q, bx,r)
220
#define MULTSUB(x,z,p,ax,az,q,bx,bz,pb) Z_MULTSUB(x,z,p,ax,az,q,bx,bz,pb)
221
#define MULTADDCONJ(x,z,p,ax,az,q,bx,bz,pb) \
222
Z_MULTADDCONJ(x,z,p,ax,az,q,bx,bz,pb)
223
#define MULTSUBCONJ(x,z,p,ax,az,q,bx,bz,pb) \
224
Z_MULTSUBCONJ(x,z,p,ax,az,q,bx,bz,pb)
225
#define LLDOT(x,p,ax,az,q) Z_LLDOT(x,p,ax,az,q)
226
#define CLEAR(x,z,p) Z_CLEAR(x,z,p)
227
#define CLEAR_IMAG(x,z,p) Z_CLEAR_IMAG(x,z,p)
228
#define DIV(x,z,p,ax,az,q) Z_DIV(x,z,p,ax,az,q)
229
#define DIV_REAL(x,z,p, ax,az,q, bx,r) Z_DIV_REAL(x,z,p, ax,az,q, bx,r)
230
#define MULT_REAL(x,z,p, ax,az,q, bx,r) Z_MULT_REAL(x,z,p, ax,az,q, bx,r)
231
#define LDLDOT(x,p, ax,az,q, bx,r) Z_LDLDOT(x,p, ax,az,q, bx,r)
232
233
#define XPRINT0(x,z,p) Z_PRINT(0,x,z,p)
234
#define XPRINT1(x,z,p) Z_PRINT(1,x,z,p)
235
#define XPRINT2(x,z,p) Z_PRINT(2,x,z,p)
236
#define XPRINT3(x,z,p) Z_PRINT(3,x,z,p)
237
238
#endif
Generated on Wed Jan 11 2017 09:45:19 for Amesos Package Browser (Single Doxygen Collection) by
1.8.6