1 //------------------------------------------------------------------------------
2 // GB_mex_generic.h: testing _Generic methods
3 //------------------------------------------------------------------------------
4 
5 // SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved.
6 // SPDX-License-Identifier: Apache-2.0
7 
8 //------------------------------------------------------------------------------
9 
10 #ifndef GB_MEX_GENERIC_H
11 #define GB_MEX_GENERIC_H
12 
13 #if GxB_STDC_VERSION >= 201112L
14 
15 //------------------------------------------------------------------------------
16 // testing the _Generic versions
17 //------------------------------------------------------------------------------
18 
19 // GrB_free:
20 #define GrB_Type_free_(...)                         GrB_free (__VA_ARGS__)
21 #define GrB_UnaryOp_free_(...)                      GrB_free (__VA_ARGS__)
22 #define GrB_BinaryOp_free_(...)                     GrB_free (__VA_ARGS__)
23 #define GxB_SelectOp_free_(...)                     GrB_free (__VA_ARGS__)
24 #define GrB_Monoid_free_(...)                       GrB_free (__VA_ARGS__)
25 #define GrB_Semiring_free_(...)                     GrB_free (__VA_ARGS__)
26 #define GxB_Scalar_free_(...)                       GrB_free (__VA_ARGS__)
27 #define GrB_Vector_free_(...)                       GrB_free (__VA_ARGS__)
28 #define GrB_Matrix_free_(...)                       GrB_free (__VA_ARGS__)
29 #define GrB_Descriptor_free_(...)                   GrB_free (__VA_ARGS__)
30 
31 // GrB_error:
32 #define GrB_Type_error_(...)                        GrB_error (__VA_ARGS__)
33 #define GrB_UnaryOp_error_(...)                     GrB_error (__VA_ARGS__)
34 #define GrB_BinaryOp_error_(...)                    GrB_error (__VA_ARGS__)
35 #define GxB_SelectOp_error_(...)                    GrB_error (__VA_ARGS__)
36 #define GrB_Monoid_error_(...)                      GrB_error (__VA_ARGS__)
37 #define GrB_Semiring_error_(...)                    GrB_error (__VA_ARGS__)
38 #define GxB_Scalar_error_(...)                      GrB_error (__VA_ARGS__)
39 #define GrB_Vector_error_(...)                      GrB_error (__VA_ARGS__)
40 #define GrB_Matrix_error_(...)                      GrB_error (__VA_ARGS__)
41 #define GrB_Descriptor_error_(...)                  GrB_error (__VA_ARGS__)
42 
43 // GrB_Monoid_new:
44 #define GrB_Monoid_new_BOOL_(...)                   GrB_Monoid_new (__VA_ARGS__)
45 #define GrB_Monoid_new_INT8_(...)                   GrB_Monoid_new (__VA_ARGS__)
46 #define GrB_Monoid_new_INT16_(...)                  GrB_Monoid_new (__VA_ARGS__)
47 #define GrB_Monoid_new_INT32_(...)                  GrB_Monoid_new (__VA_ARGS__)
48 #define GrB_Monoid_new_INT64_(...)                  GrB_Monoid_new (__VA_ARGS__)
49 #define GrB_Monoid_new_UINT8_(...)                  GrB_Monoid_new (__VA_ARGS__)
50 #define GrB_Monoid_new_UINT16_(...)                 GrB_Monoid_new (__VA_ARGS__)
51 #define GrB_Monoid_new_UINT32_(...)                 GrB_Monoid_new (__VA_ARGS__)
52 #define GrB_Monoid_new_UINT64_(...)                 GrB_Monoid_new (__VA_ARGS__)
53 #define GrB_Monoid_new_FP32_(...)                   GrB_Monoid_new (__VA_ARGS__)
54 #define GrB_Monoid_new_FP64_(...)                   GrB_Monoid_new (__VA_ARGS__)
55 #define GxB_Monoid_new_FC32_(...)                   GrB_Monoid_new (__VA_ARGS__)
56 #define GxB_Monoid_new_FC64_(...)                   GrB_Monoid_new (__VA_ARGS__)
57 #define GrB_Monoid_new_UDT_(...)                    GrB_Monoid_new (__VA_ARGS__)
58 
59 // GxB_Monoid_terminal_new:
60 #define GxB_Monoid_terminal_new_BOOL_(...)          GxB_Monoid_terminal_new (__VA_ARGS__)
61 #define GxB_Monoid_terminal_new_INT8_(...)          GxB_Monoid_terminal_new (__VA_ARGS__)
62 #define GxB_Monoid_terminal_new_INT16_(...)         GxB_Monoid_terminal_new (__VA_ARGS__)
63 #define GxB_Monoid_terminal_new_INT32_(...)         GxB_Monoid_terminal_new (__VA_ARGS__)
64 #define GxB_Monoid_terminal_new_INT64_(...)         GxB_Monoid_terminal_new (__VA_ARGS__)
65 #define GxB_Monoid_terminal_new_UINT8_(...)         GxB_Monoid_terminal_new (__VA_ARGS__)
66 #define GxB_Monoid_terminal_new_UINT16_(...)        GxB_Monoid_terminal_new (__VA_ARGS__)
67 #define GxB_Monoid_terminal_new_UINT32_(...)        GxB_Monoid_terminal_new (__VA_ARGS__)
68 #define GxB_Monoid_terminal_new_UINT64_(...)        GxB_Monoid_terminal_new (__VA_ARGS__)
69 #define GxB_Monoid_terminal_new_FP32_(...)          GxB_Monoid_terminal_new (__VA_ARGS__)
70 #define GxB_Monoid_terminal_new_FP64_(...)          GxB_Monoid_terminal_new (__VA_ARGS__)
71 #define GxB_Monoid_terminal_new_FC32_(...)          GxB_Monoid_terminal_new (__VA_ARGS__)
72 #define GxB_Monoid_terminal_new_FC64_(...)          GxB_Monoid_terminal_new (__VA_ARGS__)
73 #define GxB_Monoid_terminal_new_UDT_(...)           GxB_Monoid_terminal_new (__VA_ARGS__)
74 
75 // GxB_Scalar_setElement:
76 #define GxB_Scalar_setElement_BOOL_(...)            GxB_Scalar_setElement (__VA_ARGS__)
77 #define GxB_Scalar_setElement_INT8_(...)            GxB_Scalar_setElement (__VA_ARGS__)
78 #define GxB_Scalar_setElement_INT16_(...)           GxB_Scalar_setElement (__VA_ARGS__)
79 #define GxB_Scalar_setElement_INT32_(...)           GxB_Scalar_setElement (__VA_ARGS__)
80 #define GxB_Scalar_setElement_INT64_(...)           GxB_Scalar_setElement (__VA_ARGS__)
81 #define GxB_Scalar_setElement_UINT8_(...)           GxB_Scalar_setElement (__VA_ARGS__)
82 #define GxB_Scalar_setElement_UINT16_(...)          GxB_Scalar_setElement (__VA_ARGS__)
83 #define GxB_Scalar_setElement_UINT32_(...)          GxB_Scalar_setElement (__VA_ARGS__)
84 #define GxB_Scalar_setElement_UINT64_(...)          GxB_Scalar_setElement (__VA_ARGS__)
85 #define GxB_Scalar_setElement_FP32_(...)            GxB_Scalar_setElement (__VA_ARGS__)
86 #define GxB_Scalar_setElement_FP64_(...)            GxB_Scalar_setElement (__VA_ARGS__)
87 #define GxB_Scalar_setElement_FC32_(...)            GxB_Scalar_setElement (__VA_ARGS__)
88 #define GxB_Scalar_setElement_FC64_(...)            GxB_Scalar_setElement (__VA_ARGS__)
89 #define GxB_Scalar_setElement_UDT_(...)             GxB_Scalar_setElement (__VA_ARGS__)
90 
91 // GxB_Scalar_extractElement:
92 #define GxB_Scalar_extractElement_BOOL_(...)        GxB_Scalar_extractElement (__VA_ARGS__)
93 #define GxB_Scalar_extractElement_INT8_(...)        GxB_Scalar_extractElement (__VA_ARGS__)
94 #define GxB_Scalar_extractElement_INT16_(...)       GxB_Scalar_extractElement (__VA_ARGS__)
95 #define GxB_Scalar_extractElement_INT32_(...)       GxB_Scalar_extractElement (__VA_ARGS__)
96 #define GxB_Scalar_extractElement_INT64_(...)       GxB_Scalar_extractElement (__VA_ARGS__)
97 #define GxB_Scalar_extractElement_UINT8_(...)       GxB_Scalar_extractElement (__VA_ARGS__)
98 #define GxB_Scalar_extractElement_UINT16_(...)      GxB_Scalar_extractElement (__VA_ARGS__)
99 #define GxB_Scalar_extractElement_UINT32_(...)      GxB_Scalar_extractElement (__VA_ARGS__)
100 #define GxB_Scalar_extractElement_UINT64_(...)      GxB_Scalar_extractElement (__VA_ARGS__)
101 #define GxB_Scalar_extractElement_FP32_(...)        GxB_Scalar_extractElement (__VA_ARGS__)
102 #define GxB_Scalar_extractElement_FP64_(...)        GxB_Scalar_extractElement (__VA_ARGS__)
103 #define GxB_Scalar_extractElement_FC32_(...)        GxB_Scalar_extractElement (__VA_ARGS__)
104 #define GxB_Scalar_extractElement_FC64_(...)        GxB_Scalar_extractElement (__VA_ARGS__)
105 #define GxB_Scalar_extractElement_UDT_(...)         GxB_Scalar_extractElement (__VA_ARGS__)
106 
107 // GrB_Vector_build:
108 #define GrB_Vector_build_BOOL_(...)                 GrB_Vector_build (__VA_ARGS__)
109 #define GrB_Vector_build_INT8_(...)                 GrB_Vector_build (__VA_ARGS__)
110 #define GrB_Vector_build_INT16_(...)                GrB_Vector_build (__VA_ARGS__)
111 #define GrB_Vector_build_INT32_(...)                GrB_Vector_build (__VA_ARGS__)
112 #define GrB_Vector_build_INT64_(...)                GrB_Vector_build (__VA_ARGS__)
113 #define GrB_Vector_build_UINT8_(...)                GrB_Vector_build (__VA_ARGS__)
114 #define GrB_Vector_build_UINT16_(...)               GrB_Vector_build (__VA_ARGS__)
115 #define GrB_Vector_build_UINT32_(...)               GrB_Vector_build (__VA_ARGS__)
116 #define GrB_Vector_build_UINT64_(...)               GrB_Vector_build (__VA_ARGS__)
117 #define GrB_Vector_build_FP32_(...)                 GrB_Vector_build (__VA_ARGS__)
118 #define GrB_Vector_build_FP64_(...)                 GrB_Vector_build (__VA_ARGS__)
119 #define GxB_Vector_build_FC32_(...)                 GrB_Vector_build (__VA_ARGS__)
120 #define GxB_Vector_build_FC64_(...)                 GrB_Vector_build (__VA_ARGS__)
121 #define GrB_Vector_build_UDT_(...)                  GrB_Vector_build (__VA_ARGS__)
122 
123 // GrB_Vector_setElement:
124 #define GrB_Vector_setElement_BOOL_(...)            GrB_Vector_setElement (__VA_ARGS__)
125 #define GrB_Vector_setElement_INT8_(...)            GrB_Vector_setElement (__VA_ARGS__)
126 #define GrB_Vector_setElement_INT16_(...)           GrB_Vector_setElement (__VA_ARGS__)
127 #define GrB_Vector_setElement_INT32_(...)           GrB_Vector_setElement (__VA_ARGS__)
128 #define GrB_Vector_setElement_INT64_(...)           GrB_Vector_setElement (__VA_ARGS__)
129 #define GrB_Vector_setElement_UINT8_(...)           GrB_Vector_setElement (__VA_ARGS__)
130 #define GrB_Vector_setElement_UINT16_(...)          GrB_Vector_setElement (__VA_ARGS__)
131 #define GrB_Vector_setElement_UINT32_(...)          GrB_Vector_setElement (__VA_ARGS__)
132 #define GrB_Vector_setElement_UINT64_(...)          GrB_Vector_setElement (__VA_ARGS__)
133 #define GrB_Vector_setElement_FP32_(...)            GrB_Vector_setElement (__VA_ARGS__)
134 #define GrB_Vector_setElement_FP64_(...)            GrB_Vector_setElement (__VA_ARGS__)
135 #define GxB_Vector_setElement_FC32_(...)            GrB_Vector_setElement (__VA_ARGS__)
136 #define GxB_Vector_setElement_FC64_(...)            GrB_Vector_setElement (__VA_ARGS__)
137 #define GrB_Vector_setElement_UDT_(...)             GrB_Vector_setElement (__VA_ARGS__)
138 
139 // GrB_Vector_extractElement:
140 #define GrB_Vector_extractElement_BOOL_(...)        GrB_Vector_extractElement (__VA_ARGS__)
141 #define GrB_Vector_extractElement_INT8_(...)        GrB_Vector_extractElement (__VA_ARGS__)
142 #define GrB_Vector_extractElement_INT16_(...)       GrB_Vector_extractElement (__VA_ARGS__)
143 #define GrB_Vector_extractElement_INT32_(...)       GrB_Vector_extractElement (__VA_ARGS__)
144 #define GrB_Vector_extractElement_INT64_(...)       GrB_Vector_extractElement (__VA_ARGS__)
145 #define GrB_Vector_extractElement_UINT8_(...)       GrB_Vector_extractElement (__VA_ARGS__)
146 #define GrB_Vector_extractElement_UINT16_(...)      GrB_Vector_extractElement (__VA_ARGS__)
147 #define GrB_Vector_extractElement_UINT32_(...)      GrB_Vector_extractElement (__VA_ARGS__)
148 #define GrB_Vector_extractElement_UINT64_(...)      GrB_Vector_extractElement (__VA_ARGS__)
149 #define GrB_Vector_extractElement_FP32_(...)        GrB_Vector_extractElement (__VA_ARGS__)
150 #define GrB_Vector_extractElement_FP64_(...)        GrB_Vector_extractElement (__VA_ARGS__)
151 #define GxB_Vector_extractElement_FC32_(...)        GrB_Vector_extractElement (__VA_ARGS__)
152 #define GxB_Vector_extractElement_FC64_(...)        GrB_Vector_extractElement (__VA_ARGS__)
153 #define GrB_Vector_extractElement_UDT_(...)         GrB_Vector_extractElement (__VA_ARGS__)
154 
155 // GrB_Vector_extractTuples:
156 #define GrB_Vector_extractTuples_BOOL_(...)         GrB_Vector_extractTuples (__VA_ARGS__)
157 #define GrB_Vector_extractTuples_INT8_(...)         GrB_Vector_extractTuples (__VA_ARGS__)
158 #define GrB_Vector_extractTuples_INT16_(...)        GrB_Vector_extractTuples (__VA_ARGS__)
159 #define GrB_Vector_extractTuples_INT32_(...)        GrB_Vector_extractTuples (__VA_ARGS__)
160 #define GrB_Vector_extractTuples_INT64_(...)        GrB_Vector_extractTuples (__VA_ARGS__)
161 #define GrB_Vector_extractTuples_UINT8_(...)        GrB_Vector_extractTuples (__VA_ARGS__)
162 #define GrB_Vector_extractTuples_UINT16_(...)       GrB_Vector_extractTuples (__VA_ARGS__)
163 #define GrB_Vector_extractTuples_UINT32_(...)       GrB_Vector_extractTuples (__VA_ARGS__)
164 #define GrB_Vector_extractTuples_UINT64_(...)       GrB_Vector_extractTuples (__VA_ARGS__)
165 #define GrB_Vector_extractTuples_FP32_(...)         GrB_Vector_extractTuples (__VA_ARGS__)
166 #define GrB_Vector_extractTuples_FP64_(...)         GrB_Vector_extractTuples (__VA_ARGS__)
167 #define GxB_Vector_extractTuples_FC32_(...)         GrB_Vector_extractTuples (__VA_ARGS__)
168 #define GxB_Vector_extractTuples_FC64_(...)         GrB_Vector_extractTuples (__VA_ARGS__)
169 #define GrB_Vector_extractTuples_UDT_(...)          GrB_Vector_extractTuples (__VA_ARGS__)
170 
171 // GrB_Matrix_build:
172 #define GrB_Matrix_build_BOOL_(...)                 GrB_Matrix_build (__VA_ARGS__)
173 #define GrB_Matrix_build_INT8_(...)                 GrB_Matrix_build (__VA_ARGS__)
174 #define GrB_Matrix_build_INT16_(...)                GrB_Matrix_build (__VA_ARGS__)
175 #define GrB_Matrix_build_INT32_(...)                GrB_Matrix_build (__VA_ARGS__)
176 #define GrB_Matrix_build_INT64_(...)                GrB_Matrix_build (__VA_ARGS__)
177 #define GrB_Matrix_build_UINT8_(...)                GrB_Matrix_build (__VA_ARGS__)
178 #define GrB_Matrix_build_UINT16_(...)               GrB_Matrix_build (__VA_ARGS__)
179 #define GrB_Matrix_build_UINT32_(...)               GrB_Matrix_build (__VA_ARGS__)
180 #define GrB_Matrix_build_UINT64_(...)               GrB_Matrix_build (__VA_ARGS__)
181 #define GrB_Matrix_build_FP32_(...)                 GrB_Matrix_build (__VA_ARGS__)
182 #define GrB_Matrix_build_FP64_(...)                 GrB_Matrix_build (__VA_ARGS__)
183 #define GxB_Matrix_build_FC32_(...)                 GrB_Matrix_build (__VA_ARGS__)
184 #define GxB_Matrix_build_FC64_(...)                 GrB_Matrix_build (__VA_ARGS__)
185 #define GrB_Matrix_build_UDT_(...)                  GrB_Matrix_build (__VA_ARGS__)
186 
187 // GrB_Matrix_setElement:
188 #define GrB_Matrix_setElement_BOOL_(...)            GrB_Matrix_setElement (__VA_ARGS__)
189 #define GrB_Matrix_setElement_INT8_(...)            GrB_Matrix_setElement (__VA_ARGS__)
190 #define GrB_Matrix_setElement_INT16_(...)           GrB_Matrix_setElement (__VA_ARGS__)
191 #define GrB_Matrix_setElement_INT32_(...)           GrB_Matrix_setElement (__VA_ARGS__)
192 #define GrB_Matrix_setElement_INT64_(...)           GrB_Matrix_setElement (__VA_ARGS__)
193 #define GrB_Matrix_setElement_UINT8_(...)           GrB_Matrix_setElement (__VA_ARGS__)
194 #define GrB_Matrix_setElement_UINT16_(...)          GrB_Matrix_setElement (__VA_ARGS__)
195 #define GrB_Matrix_setElement_UINT32_(...)          GrB_Matrix_setElement (__VA_ARGS__)
196 #define GrB_Matrix_setElement_UINT64_(...)          GrB_Matrix_setElement (__VA_ARGS__)
197 #define GrB_Matrix_setElement_FP32_(...)            GrB_Matrix_setElement (__VA_ARGS__)
198 #define GrB_Matrix_setElement_FP64_(...)            GrB_Matrix_setElement (__VA_ARGS__)
199 #define GxB_Matrix_setElement_FC32_(...)            GrB_Matrix_setElement (__VA_ARGS__)
200 #define GxB_Matrix_setElement_FC64_(...)            GrB_Matrix_setElement (__VA_ARGS__)
201 #define GrB_Matrix_setElement_UDT_(...)             GrB_Matrix_setElement (__VA_ARGS__)
202 
203 // GrB_Matrix_extractElement:
204 #define GrB_Matrix_extractElement_BOOL_(...)        GrB_Matrix_extractElement (__VA_ARGS__)
205 #define GrB_Matrix_extractElement_INT8_(...)        GrB_Matrix_extractElement (__VA_ARGS__)
206 #define GrB_Matrix_extractElement_INT16_(...)       GrB_Matrix_extractElement (__VA_ARGS__)
207 #define GrB_Matrix_extractElement_INT32_(...)       GrB_Matrix_extractElement (__VA_ARGS__)
208 #define GrB_Matrix_extractElement_INT64_(...)       GrB_Matrix_extractElement (__VA_ARGS__)
209 #define GrB_Matrix_extractElement_UINT8_(...)       GrB_Matrix_extractElement (__VA_ARGS__)
210 #define GrB_Matrix_extractElement_UINT16_(...)      GrB_Matrix_extractElement (__VA_ARGS__)
211 #define GrB_Matrix_extractElement_UINT32_(...)      GrB_Matrix_extractElement (__VA_ARGS__)
212 #define GrB_Matrix_extractElement_UINT64_(...)      GrB_Matrix_extractElement (__VA_ARGS__)
213 #define GrB_Matrix_extractElement_FP32_(...)        GrB_Matrix_extractElement (__VA_ARGS__)
214 #define GrB_Matrix_extractElement_FP64_(...)        GrB_Matrix_extractElement (__VA_ARGS__)
215 #define GxB_Matrix_extractElement_FC32_(...)        GrB_Matrix_extractElement (__VA_ARGS__)
216 #define GxB_Matrix_extractElement_FC64_(...)        GrB_Matrix_extractElement (__VA_ARGS__)
217 #define GrB_Matrix_extractElement_UDT_(...)         GrB_Matrix_extractElement (__VA_ARGS__)
218 
219 // GrB_Matrix_extractTuples:
220 #define GrB_Matrix_extractTuples_BOOL_(...)         GrB_Matrix_extractTuples (__VA_ARGS__)
221 #define GrB_Matrix_extractTuples_INT8_(...)         GrB_Matrix_extractTuples (__VA_ARGS__)
222 #define GrB_Matrix_extractTuples_INT16_(...)        GrB_Matrix_extractTuples (__VA_ARGS__)
223 #define GrB_Matrix_extractTuples_INT32_(...)        GrB_Matrix_extractTuples (__VA_ARGS__)
224 #define GrB_Matrix_extractTuples_INT64_(...)        GrB_Matrix_extractTuples (__VA_ARGS__)
225 #define GrB_Matrix_extractTuples_UINT8_(...)        GrB_Matrix_extractTuples (__VA_ARGS__)
226 #define GrB_Matrix_extractTuples_UINT16_(...)       GrB_Matrix_extractTuples (__VA_ARGS__)
227 #define GrB_Matrix_extractTuples_UINT32_(...)       GrB_Matrix_extractTuples (__VA_ARGS__)
228 #define GrB_Matrix_extractTuples_UINT64_(...)       GrB_Matrix_extractTuples (__VA_ARGS__)
229 #define GrB_Matrix_extractTuples_FP32_(...)         GrB_Matrix_extractTuples (__VA_ARGS__)
230 #define GrB_Matrix_extractTuples_FP64_(...)         GrB_Matrix_extractTuples (__VA_ARGS__)
231 #define GxB_Matrix_extractTuples_FC32_(...)         GrB_Matrix_extractTuples (__VA_ARGS__)
232 #define GxB_Matrix_extractTuples_FC64_(...)         GrB_Matrix_extractTuples (__VA_ARGS__)
233 #define GrB_Matrix_extractTuples_UDT_(...)          GrB_Matrix_extractTuples (__VA_ARGS__)
234 
235 // GxB_set:
236 #define GxB_Global_Option_set_(...)                 GxB_set (__VA_ARGS__)
237 #define GxB_Matrix_Option_set_(...)                 GxB_set (__VA_ARGS__)
238 #define GxB_Vector_Option_set_(...)                 GxB_set (__VA_ARGS__)
239 #define GrB_Descriptor_set_(...)                    GxB_set (__VA_ARGS__)
240 #define GxB_Desc_set_(...)                          GxB_set (__VA_ARGS__)
241 
242 // GxB_get:
243 #define GxB_Global_Option_get_(...)                 GxB_get (__VA_ARGS__)
244 #define GxB_Matrix_Option_get_(...)                 GxB_get (__VA_ARGS__)
245 #define GxB_Vector_Option_get_(...)                 GxB_get (__VA_ARGS__)
246 #define GxB_Descriptor_get_(...)                    GxB_get (__VA_ARGS__)
247 #define GxB_Desc_get_(...)                          GxB_get (__VA_ARGS__)
248 
249 // GrB_wait:
250 #define GrB_Type_wait_(...)                         GrB_wait (__VA_ARGS__)
251 #define GrB_UnaryOp_wait_(...)                      GrB_wait (__VA_ARGS__)
252 #define GrB_BinaryOp_wait_(...)                     GrB_wait (__VA_ARGS__)
253 #define GxB_SelectOp_wait_(...)                     GrB_wait (__VA_ARGS__)
254 #define GrB_Monoid_wait_(...)                       GrB_wait (__VA_ARGS__)
255 #define GrB_Semiring_wait_(...)                     GrB_wait (__VA_ARGS__)
256 #define GrB_Descriptor_wait_(...)                   GrB_wait (__VA_ARGS__)
257 #define GxB_Scalar_wait_(...)                       GrB_wait (__VA_ARGS__)
258 #define GrB_Vector_wait_(...)                       GrB_wait (__VA_ARGS__)
259 #define GrB_Matrix_wait_(...)                       GrB_wait (__VA_ARGS__)
260 
261 // GrB_eWiseMult:
262 #define GrB_Vector_eWiseMult_Semiring_(...)         GrB_eWiseMult (__VA_ARGS__)
263 #define GrB_Vector_eWiseMult_Monoid_(...)           GrB_eWiseMult (__VA_ARGS__)
264 #define GrB_Vector_eWiseMult_BinaryOp_(...)         GrB_eWiseMult (__VA_ARGS__)
265 #define GrB_Matrix_eWiseMult_Semiring_(...)         GrB_eWiseMult (__VA_ARGS__)
266 #define GrB_Matrix_eWiseMult_Monoid_(...)           GrB_eWiseMult (__VA_ARGS__)
267 #define GrB_Matrix_eWiseMult_BinaryOp_(...)         GrB_eWiseMult (__VA_ARGS__)
268 
269 // GrB_eWiseAdd:
270 #define GrB_Vector_eWiseAdd_Semiring_(...)          GrB_eWiseAdd (__VA_ARGS__)
271 #define GrB_Vector_eWiseAdd_Monoid_(...)            GrB_eWiseAdd (__VA_ARGS__)
272 #define GrB_Vector_eWiseAdd_BinaryOp_(...)          GrB_eWiseAdd (__VA_ARGS__)
273 #define GrB_Matrix_eWiseAdd_Semiring_(...)          GrB_eWiseAdd (__VA_ARGS__)
274 #define GrB_Matrix_eWiseAdd_Monoid_(...)            GrB_eWiseAdd (__VA_ARGS__)
275 #define GrB_Matrix_eWiseAdd_BinaryOp_(...)          GrB_eWiseAdd (__VA_ARGS__)
276 
277 // GrB_extract:
278 #define GrB_Vector_extract_(...)                    GrB_extract (__VA_ARGS__)
279 #define GrB_Matrix_extract_(...)                    GrB_extract (__VA_ARGS__)
280 #define GrB_Col_extract_(...)                       GrB_extract (__VA_ARGS__)
281 
282 // GxB_subassign:
283 #define GxB_Vector_subassign_(...)                  GxB_subassign (__VA_ARGS__)
284 #define GxB_Matrix_subassign_(...)                  GxB_subassign (__VA_ARGS__)
285 #define GxB_Col_subassign_(...)                     GxB_subassign (__VA_ARGS__)
286 #define GxB_Row_subassign_(...)                     GxB_subassign (__VA_ARGS__)
287 #define GxB_Vector_subassign_BOOL_(...)             GxB_subassign (__VA_ARGS__)
288 #define GxB_Vector_subassign_INT8_(...)             GxB_subassign (__VA_ARGS__)
289 #define GxB_Vector_subassign_INT16_(...)            GxB_subassign (__VA_ARGS__)
290 #define GxB_Vector_subassign_INT32_(...)            GxB_subassign (__VA_ARGS__)
291 #define GxB_Vector_subassign_INT64_(...)            GxB_subassign (__VA_ARGS__)
292 #define GxB_Vector_subassign_UINT8_(...)            GxB_subassign (__VA_ARGS__)
293 #define GxB_Vector_subassign_UINT16_(...)           GxB_subassign (__VA_ARGS__)
294 #define GxB_Vector_subassign_UINT32_(...)           GxB_subassign (__VA_ARGS__)
295 #define GxB_Vector_subassign_UINT64_(...)           GxB_subassign (__VA_ARGS__)
296 #define GxB_Vector_subassign_FP32_(...)             GxB_subassign (__VA_ARGS__)
297 #define GxB_Vector_subassign_FP64_(...)             GxB_subassign (__VA_ARGS__)
298 #define GxB_Vector_subassign_FC32_(...)             GxB_subassign (__VA_ARGS__)
299 #define GxB_Vector_subassign_FC64_(...)             GxB_subassign (__VA_ARGS__)
300 #define GxB_Vector_subassign_UDT_(...)              GxB_subassign (__VA_ARGS__)
301 #define GxB_Matrix_subassign_BOOL_(...)             GxB_subassign (__VA_ARGS__)
302 #define GxB_Matrix_subassign_INT8_(...)             GxB_subassign (__VA_ARGS__)
303 #define GxB_Matrix_subassign_INT16_(...)            GxB_subassign (__VA_ARGS__)
304 #define GxB_Matrix_subassign_INT32_(...)            GxB_subassign (__VA_ARGS__)
305 #define GxB_Matrix_subassign_INT64_(...)            GxB_subassign (__VA_ARGS__)
306 #define GxB_Matrix_subassign_UINT8_(...)            GxB_subassign (__VA_ARGS__)
307 #define GxB_Matrix_subassign_UINT16_(...)           GxB_subassign (__VA_ARGS__)
308 #define GxB_Matrix_subassign_UINT32_(...)           GxB_subassign (__VA_ARGS__)
309 #define GxB_Matrix_subassign_UINT64_(...)           GxB_subassign (__VA_ARGS__)
310 #define GxB_Matrix_subassign_FP32_(...)             GxB_subassign (__VA_ARGS__)
311 #define GxB_Matrix_subassign_FP64_(...)             GxB_subassign (__VA_ARGS__)
312 #define GxB_Matrix_subassign_FC32_(...)             GxB_subassign (__VA_ARGS__)
313 #define GxB_Matrix_subassign_FC64_(...)             GxB_subassign (__VA_ARGS__)
314 #define GxB_Matrix_subassign_UDT_(...)              GxB_subassign (__VA_ARGS__)
315 
316 // GrB_assign:
317 #define GrB_Vector_assign_(...)                     GrB_assign (__VA_ARGS__)
318 #define GrB_Matrix_assign_(...)                     GrB_assign (__VA_ARGS__)
319 #define GrB_Col_assign_(...)                        GrB_assign (__VA_ARGS__)
320 #define GrB_Row_assign_(...)                        GrB_assign (__VA_ARGS__)
321 #define GrB_Vector_assign_BOOL_(...)                GrB_assign (__VA_ARGS__)
322 #define GrB_Vector_assign_INT8_(...)                GrB_assign (__VA_ARGS__)
323 #define GrB_Vector_assign_INT16_(...)               GrB_assign (__VA_ARGS__)
324 #define GrB_Vector_assign_INT32_(...)               GrB_assign (__VA_ARGS__)
325 #define GrB_Vector_assign_INT64_(...)               GrB_assign (__VA_ARGS__)
326 #define GrB_Vector_assign_UINT8_(...)               GrB_assign (__VA_ARGS__)
327 #define GrB_Vector_assign_UINT16_(...)              GrB_assign (__VA_ARGS__)
328 #define GrB_Vector_assign_UINT32_(...)              GrB_assign (__VA_ARGS__)
329 #define GrB_Vector_assign_UINT64_(...)              GrB_assign (__VA_ARGS__)
330 #define GrB_Vector_assign_FP32_(...)                GrB_assign (__VA_ARGS__)
331 #define GrB_Vector_assign_FP64_(...)                GrB_assign (__VA_ARGS__)
332 #define GxB_Vector_assign_FC32_(...)                GrB_assign (__VA_ARGS__)
333 #define GxB_Vector_assign_FC64_(...)                GrB_assign (__VA_ARGS__)
334 #define GrB_Vector_assign_UDT_(...)                 GrB_assign (__VA_ARGS__)
335 #define GrB_Matrix_assign_BOOL_(...)                GrB_assign (__VA_ARGS__)
336 #define GrB_Matrix_assign_INT8_(...)                GrB_assign (__VA_ARGS__)
337 #define GrB_Matrix_assign_INT16_(...)               GrB_assign (__VA_ARGS__)
338 #define GrB_Matrix_assign_INT32_(...)               GrB_assign (__VA_ARGS__)
339 #define GrB_Matrix_assign_INT64_(...)               GrB_assign (__VA_ARGS__)
340 #define GrB_Matrix_assign_UINT8_(...)               GrB_assign (__VA_ARGS__)
341 #define GrB_Matrix_assign_UINT16_(...)              GrB_assign (__VA_ARGS__)
342 #define GrB_Matrix_assign_UINT32_(...)              GrB_assign (__VA_ARGS__)
343 #define GrB_Matrix_assign_UINT64_(...)              GrB_assign (__VA_ARGS__)
344 #define GrB_Matrix_assign_FP32_(...)                GrB_assign (__VA_ARGS__)
345 #define GrB_Matrix_assign_FP64_(...)                GrB_assign (__VA_ARGS__)
346 #define GxB_Matrix_assign_FC32_(...)                GrB_assign (__VA_ARGS__)
347 #define GxB_Matrix_assign_FC64_(...)                GrB_assign (__VA_ARGS__)
348 #define GrB_Matrix_assign_UDT_(...)                 GrB_assign (__VA_ARGS__)
349 
350 // GrB_apply:
351 #define GrB_Vector_apply_(...)                      GrB_apply (__VA_ARGS__)
352 #define GrB_Matrix_apply_(...)                      GrB_apply (__VA_ARGS__)
353 #define GxB_Vector_apply_BinaryOp1st_(...)          GrB_apply (__VA_ARGS__)
354 #define GrB_Vector_apply_BinaryOp1st_BOOL_(...)     GrB_apply (__VA_ARGS__)
355 #define GrB_Vector_apply_BinaryOp1st_INT8_(...)     GrB_apply (__VA_ARGS__)
356 #define GrB_Vector_apply_BinaryOp1st_INT16_(...)    GrB_apply (__VA_ARGS__)
357 #define GrB_Vector_apply_BinaryOp1st_INT32_(...)    GrB_apply (__VA_ARGS__)
358 #define GrB_Vector_apply_BinaryOp1st_INT64_(...)    GrB_apply (__VA_ARGS__)
359 #define GrB_Vector_apply_BinaryOp1st_UINT8_(...)    GrB_apply (__VA_ARGS__)
360 #define GrB_Vector_apply_BinaryOp1st_UINT16_(...)   GrB_apply (__VA_ARGS__)
361 #define GrB_Vector_apply_BinaryOp1st_UINT32_(...)   GrB_apply (__VA_ARGS__)
362 #define GrB_Vector_apply_BinaryOp1st_UINT64_(...)   GrB_apply (__VA_ARGS__)
363 #define GrB_Vector_apply_BinaryOp1st_FP32_(...)     GrB_apply (__VA_ARGS__)
364 #define GrB_Vector_apply_BinaryOp1st_FP64_(...)     GrB_apply (__VA_ARGS__)
365 #define GxB_Vector_apply_BinaryOp1st_FC32_(...)     GrB_apply (__VA_ARGS__)
366 #define GxB_Vector_apply_BinaryOp1st_FC64_(...)     GrB_apply (__VA_ARGS__)
367 #define GrB_Vector_apply_BinaryOp1st_UDT_(...)      GrB_apply (__VA_ARGS__)
368 #define GxB_Vector_apply_BinaryOp2nd_(...)          GrB_apply (__VA_ARGS__)
369 #define GrB_Vector_apply_BinaryOp2nd_BOOL_(...)     GrB_apply (__VA_ARGS__)
370 #define GrB_Vector_apply_BinaryOp2nd_INT8_(...)     GrB_apply (__VA_ARGS__)
371 #define GrB_Vector_apply_BinaryOp2nd_INT16_(...)    GrB_apply (__VA_ARGS__)
372 #define GrB_Vector_apply_BinaryOp2nd_INT32_(...)    GrB_apply (__VA_ARGS__)
373 #define GrB_Vector_apply_BinaryOp2nd_INT64_(...)    GrB_apply (__VA_ARGS__)
374 #define GrB_Vector_apply_BinaryOp2nd_UINT8_(...)    GrB_apply (__VA_ARGS__)
375 #define GrB_Vector_apply_BinaryOp2nd_UINT16_(...)   GrB_apply (__VA_ARGS__)
376 #define GrB_Vector_apply_BinaryOp2nd_UINT32_(...)   GrB_apply (__VA_ARGS__)
377 #define GrB_Vector_apply_BinaryOp2nd_UINT64_(...)   GrB_apply (__VA_ARGS__)
378 #define GrB_Vector_apply_BinaryOp2nd_FP32_(...)     GrB_apply (__VA_ARGS__)
379 #define GrB_Vector_apply_BinaryOp2nd_FP64_(...)     GrB_apply (__VA_ARGS__)
380 #define GxB_Vector_apply_BinaryOp2nd_FC32_(...)     GrB_apply (__VA_ARGS__)
381 #define GxB_Vector_apply_BinaryOp2nd_FC64_(...)     GrB_apply (__VA_ARGS__)
382 #define GrB_Vector_apply_BinaryOp2nd_UDT_(...)      GrB_apply (__VA_ARGS__)
383 #define GxB_Matrix_apply_BinaryOp1st_(...)          GrB_apply (__VA_ARGS__)
384 #define GrB_Matrix_apply_BinaryOp1st_BOOL_(...)     GrB_apply (__VA_ARGS__)
385 #define GrB_Matrix_apply_BinaryOp1st_INT8_(...)     GrB_apply (__VA_ARGS__)
386 #define GrB_Matrix_apply_BinaryOp1st_INT16_(...)    GrB_apply (__VA_ARGS__)
387 #define GrB_Matrix_apply_BinaryOp1st_INT32_(...)    GrB_apply (__VA_ARGS__)
388 #define GrB_Matrix_apply_BinaryOp1st_INT64_(...)    GrB_apply (__VA_ARGS__)
389 #define GrB_Matrix_apply_BinaryOp1st_UINT8_(...)    GrB_apply (__VA_ARGS__)
390 #define GrB_Matrix_apply_BinaryOp1st_UINT16_(...)   GrB_apply (__VA_ARGS__)
391 #define GrB_Matrix_apply_BinaryOp1st_UINT32_(...)   GrB_apply (__VA_ARGS__)
392 #define GrB_Matrix_apply_BinaryOp1st_UINT64_(...)   GrB_apply (__VA_ARGS__)
393 #define GrB_Matrix_apply_BinaryOp1st_FP32_(...)     GrB_apply (__VA_ARGS__)
394 #define GrB_Matrix_apply_BinaryOp1st_FP64_(...)     GrB_apply (__VA_ARGS__)
395 #define GxB_Matrix_apply_BinaryOp1st_FC32_(...)     GrB_apply (__VA_ARGS__)
396 #define GxB_Matrix_apply_BinaryOp1st_FC64_(...)     GrB_apply (__VA_ARGS__)
397 #define GrB_Matrix_apply_BinaryOp1st_UDT_(...)      GrB_apply (__VA_ARGS__)
398 #define GxB_Matrix_apply_BinaryOp2nd_(...)          GrB_apply (__VA_ARGS__)
399 #define GrB_Matrix_apply_BinaryOp2nd_BOOL_(...)     GrB_apply (__VA_ARGS__)
400 #define GrB_Matrix_apply_BinaryOp2nd_INT8_(...)     GrB_apply (__VA_ARGS__)
401 #define GrB_Matrix_apply_BinaryOp2nd_INT16_(...)    GrB_apply (__VA_ARGS__)
402 #define GrB_Matrix_apply_BinaryOp2nd_INT32_(...)    GrB_apply (__VA_ARGS__)
403 #define GrB_Matrix_apply_BinaryOp2nd_INT64_(...)    GrB_apply (__VA_ARGS__)
404 #define GrB_Matrix_apply_BinaryOp2nd_UINT8_(...)    GrB_apply (__VA_ARGS__)
405 #define GrB_Matrix_apply_BinaryOp2nd_UINT16_(...)   GrB_apply (__VA_ARGS__)
406 #define GrB_Matrix_apply_BinaryOp2nd_UINT32_(...)   GrB_apply (__VA_ARGS__)
407 #define GrB_Matrix_apply_BinaryOp2nd_UINT64_(...)   GrB_apply (__VA_ARGS__)
408 #define GrB_Matrix_apply_BinaryOp2nd_FP32_(...)     GrB_apply (__VA_ARGS__)
409 #define GrB_Matrix_apply_BinaryOp2nd_FP64_(...)     GrB_apply (__VA_ARGS__)
410 #define GxB_Matrix_apply_BinaryOp2nd_FC32_(...)     GrB_apply (__VA_ARGS__)
411 #define GxB_Matrix_apply_BinaryOp2nd_FC64_(...)     GrB_apply (__VA_ARGS__)
412 #define GrB_Matrix_apply_BinaryOp2nd_UDT_(...)      GrB_apply (__VA_ARGS__)
413 
414 // GxB_select:
415 #define GxB_Vector_select_(...)                     GxB_select (__VA_ARGS__)
416 #define GxB_Matrix_select_(...)                     GxB_select (__VA_ARGS__)
417 
418 // GrB_reduce:
419 #define GrB_Matrix_reduce_Monoid_(...)              GrB_reduce (__VA_ARGS__)
420 #define GrB_Matrix_reduce_BinaryOp_(...)            GrB_reduce (__VA_ARGS__)
421 #define GrB_Vector_reduce_BOOL_(...)                GrB_reduce (__VA_ARGS__)
422 #define GrB_Vector_reduce_INT8_(...)                GrB_reduce (__VA_ARGS__)
423 #define GrB_Vector_reduce_INT16_(...)               GrB_reduce (__VA_ARGS__)
424 #define GrB_Vector_reduce_INT32_(...)               GrB_reduce (__VA_ARGS__)
425 #define GrB_Vector_reduce_INT64_(...)               GrB_reduce (__VA_ARGS__)
426 #define GrB_Vector_reduce_UINT8_(...)               GrB_reduce (__VA_ARGS__)
427 #define GrB_Vector_reduce_UINT16_(...)              GrB_reduce (__VA_ARGS__)
428 #define GrB_Vector_reduce_UINT32_(...)              GrB_reduce (__VA_ARGS__)
429 #define GrB_Vector_reduce_UINT64_(...)              GrB_reduce (__VA_ARGS__)
430 #define GrB_Vector_reduce_FP32_(...)                GrB_reduce (__VA_ARGS__)
431 #define GrB_Vector_reduce_FP64_(...)                GrB_reduce (__VA_ARGS__)
432 #define GxB_Vector_reduce_FC32_(...)                GrB_reduce (__VA_ARGS__)
433 #define GxB_Vector_reduce_FC64_(...)                GrB_reduce (__VA_ARGS__)
434 #define GrB_Vector_reduce_UDT_(...)                 GrB_reduce (__VA_ARGS__)
435 #define GrB_Matrix_reduce_BOOL_(...)                GrB_reduce (__VA_ARGS__)
436 #define GrB_Matrix_reduce_INT8_(...)                GrB_reduce (__VA_ARGS__)
437 #define GrB_Matrix_reduce_INT16_(...)               GrB_reduce (__VA_ARGS__)
438 #define GrB_Matrix_reduce_INT32_(...)               GrB_reduce (__VA_ARGS__)
439 #define GrB_Matrix_reduce_INT64_(...)               GrB_reduce (__VA_ARGS__)
440 #define GrB_Matrix_reduce_UINT8_(...)               GrB_reduce (__VA_ARGS__)
441 #define GrB_Matrix_reduce_UINT16_(...)              GrB_reduce (__VA_ARGS__)
442 #define GrB_Matrix_reduce_UINT32_(...)              GrB_reduce (__VA_ARGS__)
443 #define GrB_Matrix_reduce_UINT64_(...)              GrB_reduce (__VA_ARGS__)
444 #define GrB_Matrix_reduce_FP32_(...)                GrB_reduce (__VA_ARGS__)
445 #define GrB_Matrix_reduce_FP64_(...)                GrB_reduce (__VA_ARGS__)
446 #define GxB_Matrix_reduce_FC32_(...)                GrB_reduce (__VA_ARGS__)
447 #define GxB_Matrix_reduce_FC64_(...)                GrB_reduce (__VA_ARGS__)
448 #define GrB_Matrix_reduce_UDT_(...)                 GrB_reduce (__VA_ARGS__)
449 
450 // GxB_resize:
451 #define GrB_Matrix_resize_(...)                     GxB_resize (__VA_ARGS__)
452 #define GrB_Vector_resize_(...)                     GxB_resize (__VA_ARGS__)
453 
454 // GrB_kronecker:
455 #define GrB_Matrix_kronecker_BinaryOp_(...)         GrB_kronecker (__VA_ARGS__)
456 #define GrB_Matrix_kronecker_Monoid_(...)           GrB_kronecker (__VA_ARGS__)
457 #define GrB_Matrix_kronecker_Semiring_(...)         GrB_kronecker (__VA_ARGS__)
458 
459 // GxB_fprint:
460 #define GxB_Type_fprint_(o,p,f)                     GxB_fprint (o,p,f)
461 #define GxB_UnaryOp_fprint_(o,p,f)                  GxB_fprint (o,p,f)
462 #define GxB_BinaryOp_fprint_(o,p,f)                 GxB_fprint (o,p,f)
463 #define GxB_SelectOp_fprint_(o,p,f)                 GxB_fprint (o,p,f)
464 #define GxB_Monoid_fprint_(o,p,f)                   GxB_fprint (o,p,f)
465 #define GxB_Semiring_fprint_(o,p,f)                 GxB_fprint (o,p,f)
466 #define GxB_Descriptor_fprint_(o,p,f)               GxB_fprint (o,p,f)
467 #define GxB_Matrix_fprint_(o,p,f)                   GxB_fprint (o,p,f)
468 #define GxB_Vector_fprint_(o,p,f)                   GxB_fprint (o,p,f)
469 #define GxB_Scalar_fprint_(o,p,f)                   GxB_fprint (o,p,f)
470 
471 #else
472 
473 //------------------------------------------------------------------------------
474 // testing the non-polymorphic versions
475 //------------------------------------------------------------------------------
476 
477 // GrB_free:
478 #define GrB_Type_free_(...)                         GrB_Type_free (__VA_ARGS__)
479 #define GrB_UnaryOp_free_(...)                      GrB_UnaryOp_free (__VA_ARGS__)
480 #define GrB_BinaryOp_free_(...)                     GrB_BinaryOp_free (__VA_ARGS__)
481 #define GxB_SelectOp_free_(...)                     GxB_SelectOp_free (__VA_ARGS__)
482 #define GrB_Monoid_free_(...)                       GrB_Monoid_free (__VA_ARGS__)
483 #define GrB_Semiring_free_(...)                     GrB_Semiring_free (__VA_ARGS__)
484 #define GxB_Scalar_free_(...)                       GxB_Scalar_free (__VA_ARGS__)
485 #define GrB_Vector_free_(...)                       GrB_Vector_free (__VA_ARGS__)
486 #define GrB_Matrix_free_(...)                       GrB_Matrix_free (__VA_ARGS__)
487 #define GrB_Descriptor_free_(...)                   GrB_Descriptor_free (__VA_ARGS__)
488 
489 // GrB_error:
490 #define GrB_Type_error_(...)                        GrB_Type_error (__VA_ARGS__)
491 #define GrB_UnaryOp_error_(...)                     GrB_UnaryOp_error (__VA_ARGS__)
492 #define GrB_BinaryOp_error_(...)                    GrB_BinaryOp_error (__VA_ARGS__)
493 #define GxB_SelectOp_error_(...)                    GxB_SelectOp_error (__VA_ARGS__)
494 #define GrB_Monoid_error_(...)                      GrB_Monoid_error (__VA_ARGS__)
495 #define GrB_Semiring_error_(...)                    GrB_Semiring_error (__VA_ARGS__)
496 #define GxB_Scalar_error_(...)                      GxB_Scalar_error (__VA_ARGS__)
497 #define GrB_Vector_error_(...)                      GrB_Vector_error (__VA_ARGS__)
498 #define GrB_Matrix_error_(...)                      GrB_Matrix_error (__VA_ARGS__)
499 #define GrB_Descriptor_error_(...)                  GrB_Descriptor_error (__VA_ARGS__)
500 
501 // GrB_Monoid_new:
502 #define GrB_Monoid_new_BOOL_(...)                   GrB_Monoid_new_BOOL (__VA_ARGS__)
503 #define GrB_Monoid_new_INT8_(...)                   GrB_Monoid_new_INT8 (__VA_ARGS__)
504 #define GrB_Monoid_new_INT16_(...)                  GrB_Monoid_new_INT16 (__VA_ARGS__)
505 #define GrB_Monoid_new_INT32_(...)                  GrB_Monoid_new_INT32 (__VA_ARGS__)
506 #define GrB_Monoid_new_INT64_(...)                  GrB_Monoid_new_INT64 (__VA_ARGS__)
507 #define GrB_Monoid_new_UINT8_(...)                  GrB_Monoid_new_UINT8 (__VA_ARGS__)
508 #define GrB_Monoid_new_UINT16_(...)                 GrB_Monoid_new_UINT16 (__VA_ARGS__)
509 #define GrB_Monoid_new_UINT32_(...)                 GrB_Monoid_new_UINT32 (__VA_ARGS__)
510 #define GrB_Monoid_new_UINT64_(...)                 GrB_Monoid_new_UINT64 (__VA_ARGS__)
511 #define GrB_Monoid_new_FP32_(...)                   GrB_Monoid_new_FP32 (__VA_ARGS__)
512 #define GrB_Monoid_new_FP64_(...)                   GrB_Monoid_new_FP64 (__VA_ARGS__)
513 #define GxB_Monoid_new_FC32_(...)                   GxB_Monoid_new_FC32 (__VA_ARGS__)
514 #define GxB_Monoid_new_FC64_(...)                   GxB_Monoid_new_FC64 (__VA_ARGS__)
515 #define GrB_Monoid_new_UDT_(...)                    GrB_Monoid_new_UDT (__VA_ARGS__)
516 
517 // GxB_Monoid_terminal_new:
518 #define GxB_Monoid_terminal_new_BOOL_(...)          GxB_Monoid_terminal_new_BOOL (__VA_ARGS__)
519 #define GxB_Monoid_terminal_new_INT8_(...)          GxB_Monoid_terminal_new_INT8 (__VA_ARGS__)
520 #define GxB_Monoid_terminal_new_INT16_(...)         GxB_Monoid_terminal_new_INT16 (__VA_ARGS__)
521 #define GxB_Monoid_terminal_new_INT32_(...)         GxB_Monoid_terminal_new_INT32 (__VA_ARGS__)
522 #define GxB_Monoid_terminal_new_INT64_(...)         GxB_Monoid_terminal_new_INT64 (__VA_ARGS__)
523 #define GxB_Monoid_terminal_new_UINT8_(...)         GxB_Monoid_terminal_new_UINT8 (__VA_ARGS__)
524 #define GxB_Monoid_terminal_new_UINT16_(...)        GxB_Monoid_terminal_new_UINT16 (__VA_ARGS__)
525 #define GxB_Monoid_terminal_new_UINT32_(...)        GxB_Monoid_terminal_new_UINT32 (__VA_ARGS__)
526 #define GxB_Monoid_terminal_new_UINT64_(...)        GxB_Monoid_terminal_new_UINT64 (__VA_ARGS__)
527 #define GxB_Monoid_terminal_new_FP32_(...)          GxB_Monoid_terminal_new_FP32 (__VA_ARGS__)
528 #define GxB_Monoid_terminal_new_FP64_(...)          GxB_Monoid_terminal_new_FP64 (__VA_ARGS__)
529 #define GxB_Monoid_terminal_new_FC32_(...)          GxB_Monoid_terminal_new_FC32 (__VA_ARGS__)
530 #define GxB_Monoid_terminal_new_FC64_(...)          GxB_Monoid_terminal_new_FC64 (__VA_ARGS__)
531 #define GxB_Monoid_terminal_new_UDT_(...)           GxB_Monoid_terminal_new_UDT (__VA_ARGS__)
532 
533 // GxB_Scalar_setElement:
534 #define GxB_Scalar_setElement_BOOL_(...)            GxB_Scalar_setElement_BOOL (__VA_ARGS__)
535 #define GxB_Scalar_setElement_INT8_(...)            GxB_Scalar_setElement_INT8 (__VA_ARGS__)
536 #define GxB_Scalar_setElement_INT16_(...)           GxB_Scalar_setElement_INT16 (__VA_ARGS__)
537 #define GxB_Scalar_setElement_INT32_(...)           GxB_Scalar_setElement_INT32 (__VA_ARGS__)
538 #define GxB_Scalar_setElement_INT64_(...)           GxB_Scalar_setElement_INT64 (__VA_ARGS__)
539 #define GxB_Scalar_setElement_UINT8_(...)           GxB_Scalar_setElement_UINT8 (__VA_ARGS__)
540 #define GxB_Scalar_setElement_UINT16_(...)          GxB_Scalar_setElement_UINT16 (__VA_ARGS__)
541 #define GxB_Scalar_setElement_UINT32_(...)          GxB_Scalar_setElement_UINT32 (__VA_ARGS__)
542 #define GxB_Scalar_setElement_UINT64_(...)          GxB_Scalar_setElement_UINT64 (__VA_ARGS__)
543 #define GxB_Scalar_setElement_FP32_(...)            GxB_Scalar_setElement_FP32 (__VA_ARGS__)
544 #define GxB_Scalar_setElement_FP64_(...)            GxB_Scalar_setElement_FP64 (__VA_ARGS__)
545 #define GxB_Scalar_setElement_FC32_(...)            GxB_Scalar_setElement_FC32 (__VA_ARGS__)
546 #define GxB_Scalar_setElement_FC64_(...)            GxB_Scalar_setElement_FC64 (__VA_ARGS__)
547 #define GxB_Scalar_setElement_UDT_(...)             GxB_Scalar_setElement_UDT (__VA_ARGS__)
548 
549 // GxB_Scalar_extractElement:
550 #define GxB_Scalar_extractElement_BOOL_(...)        GxB_Scalar_extractElement_BOOL (__VA_ARGS__)
551 #define GxB_Scalar_extractElement_INT8_(...)        GxB_Scalar_extractElement_INT8 (__VA_ARGS__)
552 #define GxB_Scalar_extractElement_INT16_(...)       GxB_Scalar_extractElement_INT16 (__VA_ARGS__)
553 #define GxB_Scalar_extractElement_INT32_(...)       GxB_Scalar_extractElement_INT32 (__VA_ARGS__)
554 #define GxB_Scalar_extractElement_INT64_(...)       GxB_Scalar_extractElement_INT64 (__VA_ARGS__)
555 #define GxB_Scalar_extractElement_UINT8_(...)       GxB_Scalar_extractElement_UINT8 (__VA_ARGS__)
556 #define GxB_Scalar_extractElement_UINT16_(...)      GxB_Scalar_extractElement_UINT16 (__VA_ARGS__)
557 #define GxB_Scalar_extractElement_UINT32_(...)      GxB_Scalar_extractElement_UINT32 (__VA_ARGS__)
558 #define GxB_Scalar_extractElement_UINT64_(...)      GxB_Scalar_extractElement_UINT64 (__VA_ARGS__)
559 #define GxB_Scalar_extractElement_FP32_(...)        GxB_Scalar_extractElement_FP32 (__VA_ARGS__)
560 #define GxB_Scalar_extractElement_FP64_(...)        GxB_Scalar_extractElement_FP64 (__VA_ARGS__)
561 #define GxB_Scalar_extractElement_FC32_(...)        GxB_Scalar_extractElement_FC32 (__VA_ARGS__)
562 #define GxB_Scalar_extractElement_FC64_(...)        GxB_Scalar_extractElement_FC64 (__VA_ARGS__)
563 #define GxB_Scalar_extractElement_UDT_(...)         GxB_Scalar_extractElement_UDT (__VA_ARGS__)
564 
565 // GrB_Vector_build:
566 #define GrB_Vector_build_BOOL_(...)                 GrB_Vector_build_BOOL (__VA_ARGS__)
567 #define GrB_Vector_build_INT8_(...)                 GrB_Vector_build_INT8 (__VA_ARGS__)
568 #define GrB_Vector_build_INT16_(...)                GrB_Vector_build_INT16 (__VA_ARGS__)
569 #define GrB_Vector_build_INT32_(...)                GrB_Vector_build_INT32 (__VA_ARGS__)
570 #define GrB_Vector_build_INT64_(...)                GrB_Vector_build_INT64 (__VA_ARGS__)
571 #define GrB_Vector_build_UINT8_(...)                GrB_Vector_build_UINT8 (__VA_ARGS__)
572 #define GrB_Vector_build_UINT16_(...)               GrB_Vector_build_UINT16 (__VA_ARGS__)
573 #define GrB_Vector_build_UINT32_(...)               GrB_Vector_build_UINT32 (__VA_ARGS__)
574 #define GrB_Vector_build_UINT64_(...)               GrB_Vector_build_UINT64 (__VA_ARGS__)
575 #define GrB_Vector_build_FP32_(...)                 GrB_Vector_build_FP32 (__VA_ARGS__)
576 #define GrB_Vector_build_FP64_(...)                 GrB_Vector_build_FP64 (__VA_ARGS__)
577 #define GxB_Vector_build_FC32_(...)                 GxB_Vector_build_FC32 (__VA_ARGS__)
578 #define GxB_Vector_build_FC64_(...)                 GxB_Vector_build_FC64 (__VA_ARGS__)
579 #define GrB_Vector_build_UDT_(...)                  GrB_Vector_build_UDT (__VA_ARGS__)
580 
581 // GrB_Vector_setElement:
582 #define GrB_Vector_setElement_BOOL_(...)            GrB_Vector_setElement_BOOL (__VA_ARGS__)
583 #define GrB_Vector_setElement_INT8_(...)            GrB_Vector_setElement_INT8 (__VA_ARGS__)
584 #define GrB_Vector_setElement_INT16_(...)           GrB_Vector_setElement_INT16 (__VA_ARGS__)
585 #define GrB_Vector_setElement_INT32_(...)           GrB_Vector_setElement_INT32 (__VA_ARGS__)
586 #define GrB_Vector_setElement_INT64_(...)           GrB_Vector_setElement_INT64 (__VA_ARGS__)
587 #define GrB_Vector_setElement_UINT8_(...)           GrB_Vector_setElement_UINT8 (__VA_ARGS__)
588 #define GrB_Vector_setElement_UINT16_(...)          GrB_Vector_setElement_UINT16 (__VA_ARGS__)
589 #define GrB_Vector_setElement_UINT32_(...)          GrB_Vector_setElement_UINT32 (__VA_ARGS__)
590 #define GrB_Vector_setElement_UINT64_(...)          GrB_Vector_setElement_UINT64 (__VA_ARGS__)
591 #define GrB_Vector_setElement_FP32_(...)            GrB_Vector_setElement_FP32 (__VA_ARGS__)
592 #define GrB_Vector_setElement_FP64_(...)            GrB_Vector_setElement_FP64 (__VA_ARGS__)
593 #define GxB_Vector_setElement_FC32_(...)            GxB_Vector_setElement_FC32 (__VA_ARGS__)
594 #define GxB_Vector_setElement_FC64_(...)            GxB_Vector_setElement_FC64 (__VA_ARGS__)
595 #define GrB_Vector_setElement_UDT_(...)             GrB_Vector_setElement_UDT (__VA_ARGS__)
596 
597 // GrB_Vector_extractElement:
598 #define GrB_Vector_extractElement_BOOL_(...)        GrB_Vector_extractElement_BOOL (__VA_ARGS__)
599 #define GrB_Vector_extractElement_INT8_(...)        GrB_Vector_extractElement_INT8 (__VA_ARGS__)
600 #define GrB_Vector_extractElement_INT16_(...)       GrB_Vector_extractElement_INT16 (__VA_ARGS__)
601 #define GrB_Vector_extractElement_INT32_(...)       GrB_Vector_extractElement_INT32 (__VA_ARGS__)
602 #define GrB_Vector_extractElement_INT64_(...)       GrB_Vector_extractElement_INT64 (__VA_ARGS__)
603 #define GrB_Vector_extractElement_UINT8_(...)       GrB_Vector_extractElement_UINT8 (__VA_ARGS__)
604 #define GrB_Vector_extractElement_UINT16_(...)      GrB_Vector_extractElement_UINT16 (__VA_ARGS__)
605 #define GrB_Vector_extractElement_UINT32_(...)      GrB_Vector_extractElement_UINT32 (__VA_ARGS__)
606 #define GrB_Vector_extractElement_UINT64_(...)      GrB_Vector_extractElement_UINT64 (__VA_ARGS__)
607 #define GrB_Vector_extractElement_FP32_(...)        GrB_Vector_extractElement_FP32 (__VA_ARGS__)
608 #define GrB_Vector_extractElement_FP64_(...)        GrB_Vector_extractElement_FP64 (__VA_ARGS__)
609 #define GxB_Vector_extractElement_FC32_(...)        GxB_Vector_extractElement_FC32 (__VA_ARGS__)
610 #define GxB_Vector_extractElement_FC64_(...)        GxB_Vector_extractElement_FC64 (__VA_ARGS__)
611 #define GrB_Vector_extractElement_UDT_(...)         GrB_Vector_extractElement_UDT (__VA_ARGS__)
612 
613 // GrB_Vector_extractTuples:
614 #define GrB_Vector_extractTuples_BOOL_(...)         GrB_Vector_extractTuples_BOOL (__VA_ARGS__)
615 #define GrB_Vector_extractTuples_INT8_(...)         GrB_Vector_extractTuples_INT8 (__VA_ARGS__)
616 #define GrB_Vector_extractTuples_INT16_(...)        GrB_Vector_extractTuples_INT16 (__VA_ARGS__)
617 #define GrB_Vector_extractTuples_INT32_(...)        GrB_Vector_extractTuples_INT32 (__VA_ARGS__)
618 #define GrB_Vector_extractTuples_INT64_(...)        GrB_Vector_extractTuples_INT64 (__VA_ARGS__)
619 #define GrB_Vector_extractTuples_UINT8_(...)        GrB_Vector_extractTuples_UINT8 (__VA_ARGS__)
620 #define GrB_Vector_extractTuples_UINT16_(...)       GrB_Vector_extractTuples_UINT16 (__VA_ARGS__)
621 #define GrB_Vector_extractTuples_UINT32_(...)       GrB_Vector_extractTuples_UINT32 (__VA_ARGS__)
622 #define GrB_Vector_extractTuples_UINT64_(...)       GrB_Vector_extractTuples_UINT64 (__VA_ARGS__)
623 #define GrB_Vector_extractTuples_FP32_(...)         GrB_Vector_extractTuples_FP32 (__VA_ARGS__)
624 #define GrB_Vector_extractTuples_FP64_(...)         GrB_Vector_extractTuples_FP64 (__VA_ARGS__)
625 #define GxB_Vector_extractTuples_FC32_(...)         GxB_Vector_extractTuples_FC32 (__VA_ARGS__)
626 #define GxB_Vector_extractTuples_FC64_(...)         GxB_Vector_extractTuples_FC64 (__VA_ARGS__)
627 #define GrB_Vector_extractTuples_UDT_(...)          GrB_Vector_extractTuples_UDT (__VA_ARGS__)
628 
629 // GrB_Matrix_build:
630 #define GrB_Matrix_build_BOOL_(...)                 GrB_Matrix_build_BOOL (__VA_ARGS__)
631 #define GrB_Matrix_build_INT8_(...)                 GrB_Matrix_build_INT8 (__VA_ARGS__)
632 #define GrB_Matrix_build_INT16_(...)                GrB_Matrix_build_INT16 (__VA_ARGS__)
633 #define GrB_Matrix_build_INT32_(...)                GrB_Matrix_build_INT32 (__VA_ARGS__)
634 #define GrB_Matrix_build_INT64_(...)                GrB_Matrix_build_INT64 (__VA_ARGS__)
635 #define GrB_Matrix_build_UINT8_(...)                GrB_Matrix_build_UINT8 (__VA_ARGS__)
636 #define GrB_Matrix_build_UINT16_(...)               GrB_Matrix_build_UINT16 (__VA_ARGS__)
637 #define GrB_Matrix_build_UINT32_(...)               GrB_Matrix_build_UINT32 (__VA_ARGS__)
638 #define GrB_Matrix_build_UINT64_(...)               GrB_Matrix_build_UINT64 (__VA_ARGS__)
639 #define GrB_Matrix_build_FP32_(...)                 GrB_Matrix_build_FP32 (__VA_ARGS__)
640 #define GrB_Matrix_build_FP64_(...)                 GrB_Matrix_build_FP64 (__VA_ARGS__)
641 #define GxB_Matrix_build_FC32_(...)                 GxB_Matrix_build_FC32 (__VA_ARGS__)
642 #define GxB_Matrix_build_FC64_(...)                 GxB_Matrix_build_FC64 (__VA_ARGS__)
643 #define GrB_Matrix_build_UDT_(...)                  GrB_Matrix_build_UDT (__VA_ARGS__)
644 
645 // GrB_Matrix_setElement:
646 #define GrB_Matrix_setElement_BOOL_(...)            GrB_Matrix_setElement_BOOL (__VA_ARGS__)
647 #define GrB_Matrix_setElement_INT8_(...)            GrB_Matrix_setElement_INT8 (__VA_ARGS__)
648 #define GrB_Matrix_setElement_INT16_(...)           GrB_Matrix_setElement_INT16 (__VA_ARGS__)
649 #define GrB_Matrix_setElement_INT32_(...)           GrB_Matrix_setElement_INT32 (__VA_ARGS__)
650 #define GrB_Matrix_setElement_INT64_(...)           GrB_Matrix_setElement_INT64 (__VA_ARGS__)
651 #define GrB_Matrix_setElement_UINT8_(...)           GrB_Matrix_setElement_UINT8 (__VA_ARGS__)
652 #define GrB_Matrix_setElement_UINT16_(...)          GrB_Matrix_setElement_UINT16 (__VA_ARGS__)
653 #define GrB_Matrix_setElement_UINT32_(...)          GrB_Matrix_setElement_UINT32 (__VA_ARGS__)
654 #define GrB_Matrix_setElement_UINT64_(...)          GrB_Matrix_setElement_UINT64 (__VA_ARGS__)
655 #define GrB_Matrix_setElement_FP32_(...)            GrB_Matrix_setElement_FP32 (__VA_ARGS__)
656 #define GrB_Matrix_setElement_FP64_(...)            GrB_Matrix_setElement_FP64 (__VA_ARGS__)
657 #define GxB_Matrix_setElement_FC32_(...)            GxB_Matrix_setElement_FC32 (__VA_ARGS__)
658 #define GxB_Matrix_setElement_FC64_(...)            GxB_Matrix_setElement_FC64 (__VA_ARGS__)
659 #define GrB_Matrix_setElement_UDT_(...)             GrB_Matrix_setElement_UDT (__VA_ARGS__)
660 
661 // GrB_Matrix_extractElement:
662 #define GrB_Matrix_extractElement_BOOL_(...)        GrB_Matrix_extractElement_BOOL (__VA_ARGS__)
663 #define GrB_Matrix_extractElement_INT8_(...)        GrB_Matrix_extractElement_INT8 (__VA_ARGS__)
664 #define GrB_Matrix_extractElement_INT16_(...)       GrB_Matrix_extractElement_INT16 (__VA_ARGS__)
665 #define GrB_Matrix_extractElement_INT32_(...)       GrB_Matrix_extractElement_INT32 (__VA_ARGS__)
666 #define GrB_Matrix_extractElement_INT64_(...)       GrB_Matrix_extractElement_INT64 (__VA_ARGS__)
667 #define GrB_Matrix_extractElement_UINT8_(...)       GrB_Matrix_extractElement_UINT8 (__VA_ARGS__)
668 #define GrB_Matrix_extractElement_UINT16_(...)      GrB_Matrix_extractElement_UINT16 (__VA_ARGS__)
669 #define GrB_Matrix_extractElement_UINT32_(...)      GrB_Matrix_extractElement_UINT32 (__VA_ARGS__)
670 #define GrB_Matrix_extractElement_UINT64_(...)      GrB_Matrix_extractElement_UINT64 (__VA_ARGS__)
671 #define GrB_Matrix_extractElement_FP32_(...)        GrB_Matrix_extractElement_FP32 (__VA_ARGS__)
672 #define GrB_Matrix_extractElement_FP64_(...)        GrB_Matrix_extractElement_FP64 (__VA_ARGS__)
673 #define GxB_Matrix_extractElement_FC32_(...)        GxB_Matrix_extractElement_FC32 (__VA_ARGS__)
674 #define GxB_Matrix_extractElement_FC64_(...)        GxB_Matrix_extractElement_FC64 (__VA_ARGS__)
675 #define GrB_Matrix_extractElement_UDT_(...)         GrB_Matrix_extractElement_UDT (__VA_ARGS__)
676 
677 // GrB_Matrix_extractTuples:
678 #define GrB_Matrix_extractTuples_BOOL_(...)         GrB_Matrix_extractTuples_BOOL (__VA_ARGS__)
679 #define GrB_Matrix_extractTuples_INT8_(...)         GrB_Matrix_extractTuples_INT8 (__VA_ARGS__)
680 #define GrB_Matrix_extractTuples_INT16_(...)        GrB_Matrix_extractTuples_INT16 (__VA_ARGS__)
681 #define GrB_Matrix_extractTuples_INT32_(...)        GrB_Matrix_extractTuples_INT32 (__VA_ARGS__)
682 #define GrB_Matrix_extractTuples_INT64_(...)        GrB_Matrix_extractTuples_INT64 (__VA_ARGS__)
683 #define GrB_Matrix_extractTuples_UINT8_(...)        GrB_Matrix_extractTuples_UINT8 (__VA_ARGS__)
684 #define GrB_Matrix_extractTuples_UINT16_(...)       GrB_Matrix_extractTuples_UINT16 (__VA_ARGS__)
685 #define GrB_Matrix_extractTuples_UINT32_(...)       GrB_Matrix_extractTuples_UINT32 (__VA_ARGS__)
686 #define GrB_Matrix_extractTuples_UINT64_(...)       GrB_Matrix_extractTuples_UINT64 (__VA_ARGS__)
687 #define GrB_Matrix_extractTuples_FP32_(...)         GrB_Matrix_extractTuples_FP32 (__VA_ARGS__)
688 #define GrB_Matrix_extractTuples_FP64_(...)         GrB_Matrix_extractTuples_FP64 (__VA_ARGS__)
689 #define GxB_Matrix_extractTuples_FC32_(...)         GxB_Matrix_extractTuples_FC32 (__VA_ARGS__)
690 #define GxB_Matrix_extractTuples_FC64_(...)         GxB_Matrix_extractTuples_FC64 (__VA_ARGS__)
691 #define GrB_Matrix_extractTuples_UDT_(...)          GrB_Matrix_extractTuples_UDT (__VA_ARGS__)
692 
693 // GxB_Desc_set:
694 #define GxB_Global_Option_set_(...)                 GxB_Global_Option_set (__VA_ARGS__)
695 #define GxB_Matrix_Option_set_(...)                 GxB_Matrix_Option_set (__VA_ARGS__)
696 #define GxB_Vector_Option_set_(...)                 GxB_Vector_Option_set (__VA_ARGS__)
697 #define GrB_Descriptor_set_(...)                    GrB_Descriptor_set (__VA_ARGS__)
698 
699 // GxB_Desc_get:
700 #define GxB_Global_Option_get_(...)                 GxB_Global_Option_get (__VA_ARGS__)
701 #define GxB_Matrix_Option_get_(...)                 GxB_Matrix_Option_get (__VA_ARGS__)
702 #define GxB_Vector_Option_get_(...)                 GxB_Vector_Option_get (__VA_ARGS__)
703 #define GxB_Descriptor_get_(...)                    GxB_Descriptor_get (__VA_ARGS__)
704 
705 // GrB_wait:
706 #define GrB_Type_wait_(...)                         GrB_Type_wait (__VA_ARGS__)
707 #define GrB_UnaryOp_wait_(...)                      GrB_UnaryOp_wait (__VA_ARGS__)
708 #define GrB_BinaryOp_wait_(...)                     GrB_BinaryOp_wait (__VA_ARGS__)
709 #define GxB_SelectOp_wait_(...)                     GxB_SelectOp_wait (__VA_ARGS__)
710 #define GrB_Monoid_wait_(...)                       GrB_Monoid_wait (__VA_ARGS__)
711 #define GrB_Semiring_wait_(...)                     GrB_Semiring_wait (__VA_ARGS__)
712 #define GrB_Descriptor_wait_(...)                   GrB_Descriptor_wait (__VA_ARGS__)
713 #define GxB_Scalar_wait_(...)                       GxB_Scalar_wait (__VA_ARGS__)
714 #define GrB_Vector_wait_(...)                       GrB_Vector_wait (__VA_ARGS__)
715 #define GrB_Matrix_wait_(...)                       GrB_Matrix_wait (__VA_ARGS__)
716 
717 // GrB_eWiseMult:
718 #define GrB_Vector_eWiseMult_Semiring_(...)         GrB_Vector_eWiseMult_Semiring (__VA_ARGS__)
719 #define GrB_Vector_eWiseMult_Monoid_(...)           GrB_Vector_eWiseMult_Monoid (__VA_ARGS__)
720 #define GrB_Vector_eWiseMult_BinaryOp_(...)         GrB_Vector_eWiseMult_BinaryOp (__VA_ARGS__)
721 #define GrB_Matrix_eWiseMult_Semiring_(...)         GrB_Matrix_eWiseMult_Semiring (__VA_ARGS__)
722 #define GrB_Matrix_eWiseMult_Monoid_(...)           GrB_Matrix_eWiseMult_Monoid (__VA_ARGS__)
723 #define GrB_Matrix_eWiseMult_BinaryOp_(...)         GrB_Matrix_eWiseMult_BinaryOp (__VA_ARGS__)
724 
725 // GrB_eWiseAdd:
726 #define GrB_Vector_eWiseAdd_Semiring_(...)          GrB_Vector_eWiseAdd_Semiring (__VA_ARGS__)
727 #define GrB_Vector_eWiseAdd_Monoid_(...)            GrB_Vector_eWiseAdd_Monoid (__VA_ARGS__)
728 #define GrB_Vector_eWiseAdd_BinaryOp_(...)          GrB_Vector_eWiseAdd_BinaryOp (__VA_ARGS__)
729 #define GrB_Matrix_eWiseAdd_Semiring_(...)          GrB_Matrix_eWiseAdd_Semiring (__VA_ARGS__)
730 #define GrB_Matrix_eWiseAdd_Monoid_(...)            GrB_Matrix_eWiseAdd_Monoid (__VA_ARGS__)
731 #define GrB_Matrix_eWiseAdd_BinaryOp_(...)          GrB_Matrix_eWiseAdd_BinaryOp (__VA_ARGS__)
732 
733 // GrB_extract:
734 #define GrB_Vector_extract_(...)                    GrB_Vector_extract (__VA_ARGS__)
735 #define GrB_Matrix_extract_(...)                    GrB_Matrix_extract (__VA_ARGS__)
736 #define GrB_Col_extract_(...)                       GrB_Col_extract (__VA_ARGS__)
737 
738 // GxB_subassign:
739 #define GxB_Vector_subassign_(...)                  GxB_Vector_subassign (__VA_ARGS__)
740 #define GxB_Matrix_subassign_(...)                  GxB_Matrix_subassign (__VA_ARGS__)
741 #define GxB_Col_subassign_(...)                     GxB_Col_subassign (__VA_ARGS__)
742 #define GxB_Row_subassign_(...)                     GxB_Row_subassign (__VA_ARGS__)
743 #define GxB_Vector_subassign_BOOL_(...)             GxB_Vector_subassign_BOOL (__VA_ARGS__)
744 #define GxB_Vector_subassign_INT8_(...)             GxB_Vector_subassign_INT8 (__VA_ARGS__)
745 #define GxB_Vector_subassign_INT16_(...)            GxB_Vector_subassign_INT16 (__VA_ARGS__)
746 #define GxB_Vector_subassign_INT32_(...)            GxB_Vector_subassign_INT32 (__VA_ARGS__)
747 #define GxB_Vector_subassign_INT64_(...)            GxB_Vector_subassign_INT64 (__VA_ARGS__)
748 #define GxB_Vector_subassign_UINT8_(...)            GxB_Vector_subassign_UINT8 (__VA_ARGS__)
749 #define GxB_Vector_subassign_UINT16_(...)           GxB_Vector_subassign_UINT16 (__VA_ARGS__)
750 #define GxB_Vector_subassign_UINT32_(...)           GxB_Vector_subassign_UINT32 (__VA_ARGS__)
751 #define GxB_Vector_subassign_UINT64_(...)           GxB_Vector_subassign_UINT64 (__VA_ARGS__)
752 #define GxB_Vector_subassign_FP32_(...)             GxB_Vector_subassign_FP32 (__VA_ARGS__)
753 #define GxB_Vector_subassign_FP64_(...)             GxB_Vector_subassign_FP64 (__VA_ARGS__)
754 #define GxB_Vector_subassign_FC32_(...)             GxB_Vector_subassign_FC32 (__VA_ARGS__)
755 #define GxB_Vector_subassign_FC64_(...)             GxB_Vector_subassign_FC64 (__VA_ARGS__)
756 #define GxB_Vector_subassign_UDT_(...)              GxB_Vector_subassign_UDT (__VA_ARGS__)
757 #define GxB_Matrix_subassign_BOOL_(...)             GxB_Matrix_subassign_BOOL (__VA_ARGS__)
758 #define GxB_Matrix_subassign_INT8_(...)             GxB_Matrix_subassign_INT8 (__VA_ARGS__)
759 #define GxB_Matrix_subassign_INT16_(...)            GxB_Matrix_subassign_INT16 (__VA_ARGS__)
760 #define GxB_Matrix_subassign_INT32_(...)            GxB_Matrix_subassign_INT32 (__VA_ARGS__)
761 #define GxB_Matrix_subassign_INT64_(...)            GxB_Matrix_subassign_INT64 (__VA_ARGS__)
762 #define GxB_Matrix_subassign_UINT8_(...)            GxB_Matrix_subassign_UINT8 (__VA_ARGS__)
763 #define GxB_Matrix_subassign_UINT16_(...)           GxB_Matrix_subassign_UINT16 (__VA_ARGS__)
764 #define GxB_Matrix_subassign_UINT32_(...)           GxB_Matrix_subassign_UINT32 (__VA_ARGS__)
765 #define GxB_Matrix_subassign_UINT64_(...)           GxB_Matrix_subassign_UINT64 (__VA_ARGS__)
766 #define GxB_Matrix_subassign_FP32_(...)             GxB_Matrix_subassign_FP32 (__VA_ARGS__)
767 #define GxB_Matrix_subassign_FP64_(...)             GxB_Matrix_subassign_FP64 (__VA_ARGS__)
768 #define GxB_Matrix_subassign_FC32_(...)             GxB_Matrix_subassign_FC32 (__VA_ARGS__)
769 #define GxB_Matrix_subassign_FC64_(...)             GxB_Matrix_subassign_FC64 (__VA_ARGS__)
770 #define GxB_Matrix_subassign_UDT_(...)              GxB_Matrix_subassign_UDT (__VA_ARGS__)
771 
772 // GrB_assign:
773 #define GrB_Vector_assign_(...)                     GrB_Vector_assign (__VA_ARGS__)
774 #define GrB_Matrix_assign_(...)                     GrB_Matrix_assign (__VA_ARGS__)
775 #define GrB_Col_assign_(...)                        GrB_Col_assign (__VA_ARGS__)
776 #define GrB_Row_assign_(...)                        GrB_Row_assign (__VA_ARGS__)
777 #define GrB_Vector_assign_BOOL_(...)                GrB_Vector_assign_BOOL (__VA_ARGS__)
778 #define GrB_Vector_assign_INT8_(...)                GrB_Vector_assign_INT8 (__VA_ARGS__)
779 #define GrB_Vector_assign_INT16_(...)               GrB_Vector_assign_INT16 (__VA_ARGS__)
780 #define GrB_Vector_assign_INT32_(...)               GrB_Vector_assign_INT32 (__VA_ARGS__)
781 #define GrB_Vector_assign_INT64_(...)               GrB_Vector_assign_INT64 (__VA_ARGS__)
782 #define GrB_Vector_assign_UINT8_(...)               GrB_Vector_assign_UINT8 (__VA_ARGS__)
783 #define GrB_Vector_assign_UINT16_(...)              GrB_Vector_assign_UINT16 (__VA_ARGS__)
784 #define GrB_Vector_assign_UINT32_(...)              GrB_Vector_assign_UINT32 (__VA_ARGS__)
785 #define GrB_Vector_assign_UINT64_(...)              GrB_Vector_assign_UINT64 (__VA_ARGS__)
786 #define GrB_Vector_assign_FP32_(...)                GrB_Vector_assign_FP32 (__VA_ARGS__)
787 #define GrB_Vector_assign_FP64_(...)                GrB_Vector_assign_FP64 (__VA_ARGS__)
788 #define GxB_Vector_assign_FC32_(...)                GxB_Vector_assign_FC32 (__VA_ARGS__)
789 #define GxB_Vector_assign_FC64_(...)                GxB_Vector_assign_FC64 (__VA_ARGS__)
790 #define GrB_Vector_assign_UDT_(...)                 GrB_Vector_assign_UDT (__VA_ARGS__)
791 #define GrB_Matrix_assign_BOOL_(...)                GrB_Matrix_assign_BOOL (__VA_ARGS__)
792 #define GrB_Matrix_assign_INT8_(...)                GrB_Matrix_assign_INT8 (__VA_ARGS__)
793 #define GrB_Matrix_assign_INT16_(...)               GrB_Matrix_assign_INT16 (__VA_ARGS__)
794 #define GrB_Matrix_assign_INT32_(...)               GrB_Matrix_assign_INT32 (__VA_ARGS__)
795 #define GrB_Matrix_assign_INT64_(...)               GrB_Matrix_assign_INT64 (__VA_ARGS__)
796 #define GrB_Matrix_assign_UINT8_(...)               GrB_Matrix_assign_UINT8 (__VA_ARGS__)
797 #define GrB_Matrix_assign_UINT16_(...)              GrB_Matrix_assign_UINT16 (__VA_ARGS__)
798 #define GrB_Matrix_assign_UINT32_(...)              GrB_Matrix_assign_UINT32 (__VA_ARGS__)
799 #define GrB_Matrix_assign_UINT64_(...)              GrB_Matrix_assign_UINT64 (__VA_ARGS__)
800 #define GrB_Matrix_assign_FP32_(...)                GrB_Matrix_assign_FP32 (__VA_ARGS__)
801 #define GrB_Matrix_assign_FP64_(...)                GrB_Matrix_assign_FP64 (__VA_ARGS__)
802 #define GxB_Matrix_assign_FC32_(...)                GxB_Matrix_assign_FC32 (__VA_ARGS__)
803 #define GxB_Matrix_assign_FC64_(...)                GxB_Matrix_assign_FC64 (__VA_ARGS__)
804 #define GrB_Matrix_assign_UDT_(...)                 GrB_Matrix_assign_UDT (__VA_ARGS__)
805 
806 // GrB_apply:
807 #define GrB_Vector_apply_(...)                      GrB_Vector_apply (__VA_ARGS__)
808 #define GrB_Matrix_apply_(...)                      GrB_Matrix_apply (__VA_ARGS__)
809 #define GxB_Vector_apply_BinaryOp1st_(...)          GxB_Vector_apply_BinaryOp1st (__VA_ARGS__)
810 #define GrB_Vector_apply_BinaryOp1st_BOOL_(...)     GrB_Vector_apply_BinaryOp1st_BOOL (__VA_ARGS__)
811 #define GrB_Vector_apply_BinaryOp1st_INT8_(...)     GrB_Vector_apply_BinaryOp1st_INT8 (__VA_ARGS__)
812 #define GrB_Vector_apply_BinaryOp1st_INT16_(...)    GrB_Vector_apply_BinaryOp1st_INT16 (__VA_ARGS__)
813 #define GrB_Vector_apply_BinaryOp1st_INT32_(...)    GrB_Vector_apply_BinaryOp1st_INT32 (__VA_ARGS__)
814 #define GrB_Vector_apply_BinaryOp1st_INT64_(...)    GrB_Vector_apply_BinaryOp1st_INT64 (__VA_ARGS__)
815 #define GrB_Vector_apply_BinaryOp1st_UINT8_(...)    GrB_Vector_apply_BinaryOp1st_UINT8 (__VA_ARGS__)
816 #define GrB_Vector_apply_BinaryOp1st_UINT16_(...)   GrB_Vector_apply_BinaryOp1st_UINT16 (__VA_ARGS__)
817 #define GrB_Vector_apply_BinaryOp1st_UINT32_(...)   GrB_Vector_apply_BinaryOp1st_UINT32 (__VA_ARGS__)
818 #define GrB_Vector_apply_BinaryOp1st_UINT64_(...)   GrB_Vector_apply_BinaryOp1st_UINT64 (__VA_ARGS__)
819 #define GrB_Vector_apply_BinaryOp1st_FP32_(...)     GrB_Vector_apply_BinaryOp1st_FP32 (__VA_ARGS__)
820 #define GrB_Vector_apply_BinaryOp1st_FP64_(...)     GrB_Vector_apply_BinaryOp1st_FP64 (__VA_ARGS__)
821 #define GxB_Vector_apply_BinaryOp1st_FC32_(...)     GxB_Vector_apply_BinaryOp1st_FC32 (__VA_ARGS__)
822 #define GxB_Vector_apply_BinaryOp1st_FC64_(...)     GxB_Vector_apply_BinaryOp1st_FC64 (__VA_ARGS__)
823 #define GrB_Vector_apply_BinaryOp1st_UDT_(...)      GrB_Vector_apply_BinaryOp1st_UDT (__VA_ARGS__)
824 #define GxB_Vector_apply_BinaryOp2nd_(...)          GxB_Vector_apply_BinaryOp2nd (__VA_ARGS__)
825 #define GrB_Vector_apply_BinaryOp2nd_BOOL_(...)     GrB_Vector_apply_BinaryOp2nd_BOOL (__VA_ARGS__)
826 #define GrB_Vector_apply_BinaryOp2nd_INT8_(...)     GrB_Vector_apply_BinaryOp2nd_INT8 (__VA_ARGS__)
827 #define GrB_Vector_apply_BinaryOp2nd_INT16_(...)    GrB_Vector_apply_BinaryOp2nd_INT16 (__VA_ARGS__)
828 #define GrB_Vector_apply_BinaryOp2nd_INT32_(...)    GrB_Vector_apply_BinaryOp2nd_INT32 (__VA_ARGS__)
829 #define GrB_Vector_apply_BinaryOp2nd_INT64_(...)    GrB_Vector_apply_BinaryOp2nd_INT64 (__VA_ARGS__)
830 #define GrB_Vector_apply_BinaryOp2nd_UINT8_(...)    GrB_Vector_apply_BinaryOp2nd_UINT8 (__VA_ARGS__)
831 #define GrB_Vector_apply_BinaryOp2nd_UINT16_(...)   GrB_Vector_apply_BinaryOp2nd_UINT16 (__VA_ARGS__)
832 #define GrB_Vector_apply_BinaryOp2nd_UINT32_(...)   GrB_Vector_apply_BinaryOp2nd_UINT32 (__VA_ARGS__)
833 #define GrB_Vector_apply_BinaryOp2nd_UINT64_(...)   GrB_Vector_apply_BinaryOp2nd_UINT64 (__VA_ARGS__)
834 #define GrB_Vector_apply_BinaryOp2nd_FP32_(...)     GrB_Vector_apply_BinaryOp2nd_FP32 (__VA_ARGS__)
835 #define GrB_Vector_apply_BinaryOp2nd_FP64_(...)     GrB_Vector_apply_BinaryOp2nd_FP64 (__VA_ARGS__)
836 #define GxB_Vector_apply_BinaryOp2nd_FC32_(...)     GxB_Vector_apply_BinaryOp2nd_FC32 (__VA_ARGS__)
837 #define GxB_Vector_apply_BinaryOp2nd_FC64_(...)     GxB_Vector_apply_BinaryOp2nd_FC64 (__VA_ARGS__)
838 #define GrB_Vector_apply_BinaryOp2nd_UDT_(...)      GrB_Vector_apply_BinaryOp2nd_UDT (__VA_ARGS__)
839 #define GxB_Matrix_apply_BinaryOp1st_(...)          GxB_Matrix_apply_BinaryOp1st (__VA_ARGS__)
840 #define GrB_Matrix_apply_BinaryOp1st_BOOL_(...)     GrB_Matrix_apply_BinaryOp1st_BOOL (__VA_ARGS__)
841 #define GrB_Matrix_apply_BinaryOp1st_INT8_(...)     GrB_Matrix_apply_BinaryOp1st_INT8 (__VA_ARGS__)
842 #define GrB_Matrix_apply_BinaryOp1st_INT16_(...)    GrB_Matrix_apply_BinaryOp1st_INT16 (__VA_ARGS__)
843 #define GrB_Matrix_apply_BinaryOp1st_INT32_(...)    GrB_Matrix_apply_BinaryOp1st_INT32 (__VA_ARGS__)
844 #define GrB_Matrix_apply_BinaryOp1st_INT64_(...)    GrB_Matrix_apply_BinaryOp1st_INT64 (__VA_ARGS__)
845 #define GrB_Matrix_apply_BinaryOp1st_UINT8_(...)    GrB_Matrix_apply_BinaryOp1st_UINT8 (__VA_ARGS__)
846 #define GrB_Matrix_apply_BinaryOp1st_UINT16_(...)   GrB_Matrix_apply_BinaryOp1st_UINT16 (__VA_ARGS__)
847 #define GrB_Matrix_apply_BinaryOp1st_UINT32_(...)   GrB_Matrix_apply_BinaryOp1st_UINT32 (__VA_ARGS__)
848 #define GrB_Matrix_apply_BinaryOp1st_UINT64_(...)   GrB_Matrix_apply_BinaryOp1st_UINT64 (__VA_ARGS__)
849 #define GrB_Matrix_apply_BinaryOp1st_FP32_(...)     GrB_Matrix_apply_BinaryOp1st_FP32 (__VA_ARGS__)
850 #define GrB_Matrix_apply_BinaryOp1st_FP64_(...)     GrB_Matrix_apply_BinaryOp1st_FP64 (__VA_ARGS__)
851 #define GxB_Matrix_apply_BinaryOp1st_FC32_(...)     GxB_Matrix_apply_BinaryOp1st_FC32 (__VA_ARGS__)
852 #define GxB_Matrix_apply_BinaryOp1st_FC64_(...)     GxB_Matrix_apply_BinaryOp1st_FC64 (__VA_ARGS__)
853 #define GrB_Matrix_apply_BinaryOp1st_UDT_(...)      GrB_Matrix_apply_BinaryOp1st_UDT (__VA_ARGS__)
854 #define GxB_Matrix_apply_BinaryOp2nd_(...)          GxB_Matrix_apply_BinaryOp2nd (__VA_ARGS__)
855 #define GrB_Matrix_apply_BinaryOp2nd_BOOL_(...)     GrB_Matrix_apply_BinaryOp2nd_BOOL (__VA_ARGS__)
856 #define GrB_Matrix_apply_BinaryOp2nd_INT8_(...)     GrB_Matrix_apply_BinaryOp2nd_INT8 (__VA_ARGS__)
857 #define GrB_Matrix_apply_BinaryOp2nd_INT16_(...)    GrB_Matrix_apply_BinaryOp2nd_INT16 (__VA_ARGS__)
858 #define GrB_Matrix_apply_BinaryOp2nd_INT32_(...)    GrB_Matrix_apply_BinaryOp2nd_INT32 (__VA_ARGS__)
859 #define GrB_Matrix_apply_BinaryOp2nd_INT64_(...)    GrB_Matrix_apply_BinaryOp2nd_INT64 (__VA_ARGS__)
860 #define GrB_Matrix_apply_BinaryOp2nd_UINT8_(...)    GrB_Matrix_apply_BinaryOp2nd_UINT8 (__VA_ARGS__)
861 #define GrB_Matrix_apply_BinaryOp2nd_UINT16_(...)   GrB_Matrix_apply_BinaryOp2nd_UINT16 (__VA_ARGS__)
862 #define GrB_Matrix_apply_BinaryOp2nd_UINT32_(...)   GrB_Matrix_apply_BinaryOp2nd_UINT32 (__VA_ARGS__)
863 #define GrB_Matrix_apply_BinaryOp2nd_UINT64_(...)   GrB_Matrix_apply_BinaryOp2nd_UINT64 (__VA_ARGS__)
864 #define GrB_Matrix_apply_BinaryOp2nd_FP32_(...)     GrB_Matrix_apply_BinaryOp2nd_FP32 (__VA_ARGS__)
865 #define GrB_Matrix_apply_BinaryOp2nd_FP64_(...)     GrB_Matrix_apply_BinaryOp2nd_FP64 (__VA_ARGS__)
866 #define GxB_Matrix_apply_BinaryOp2nd_FC32_(...)     GxB_Matrix_apply_BinaryOp2nd_FC32 (__VA_ARGS__)
867 #define GxB_Matrix_apply_BinaryOp2nd_FC64_(...)     GxB_Matrix_apply_BinaryOp2nd_FC64 (__VA_ARGS__)
868 #define GrB_Matrix_apply_BinaryOp2nd_UDT_(...)      GrB_Matrix_apply_BinaryOp2nd_UDT (__VA_ARGS__)
869 
870 // GxB_select:
871 #define GxB_Vector_select_(...)                     GxB_Vector_select (__VA_ARGS__)
872 #define GxB_Matrix_select_(...)                     GxB_Matrix_select (__VA_ARGS__)
873 
874 // GrB_reduce:
875 #define GrB_Matrix_reduce_Monoid_(...)              GrB_Matrix_reduce_Monoid (__VA_ARGS__)
876 #define GrB_Matrix_reduce_BinaryOp_(...)            GrB_Matrix_reduce_BinaryOp (__VA_ARGS__)
877 #define GrB_Vector_reduce_BOOL_(...)                GrB_Vector_reduce_BOOL (__VA_ARGS__)
878 #define GrB_Vector_reduce_INT8_(...)                GrB_Vector_reduce_INT8 (__VA_ARGS__)
879 #define GrB_Vector_reduce_INT16_(...)               GrB_Vector_reduce_INT16 (__VA_ARGS__)
880 #define GrB_Vector_reduce_INT32_(...)               GrB_Vector_reduce_INT32 (__VA_ARGS__)
881 #define GrB_Vector_reduce_INT64_(...)               GrB_Vector_reduce_INT64 (__VA_ARGS__)
882 #define GrB_Vector_reduce_UINT8_(...)               GrB_Vector_reduce_UINT8 (__VA_ARGS__)
883 #define GrB_Vector_reduce_UINT16_(...)              GrB_Vector_reduce_UINT16 (__VA_ARGS__)
884 #define GrB_Vector_reduce_UINT32_(...)              GrB_Vector_reduce_UINT32 (__VA_ARGS__)
885 #define GrB_Vector_reduce_UINT64_(...)              GrB_Vector_reduce_UINT64 (__VA_ARGS__)
886 #define GrB_Vector_reduce_FP32_(...)                GrB_Vector_reduce_FP32 (__VA_ARGS__)
887 #define GrB_Vector_reduce_FP64_(...)                GrB_Vector_reduce_FP64 (__VA_ARGS__)
888 #define GxB_Vector_reduce_FC32_(...)                GxB_Vector_reduce_FC32 (__VA_ARGS__)
889 #define GxB_Vector_reduce_FC64_(...)                GxB_Vector_reduce_FC64 (__VA_ARGS__)
890 #define GrB_Vector_reduce_UDT_(...)                 GrB_Vector_reduce_UDT (__VA_ARGS__)
891 #define GrB_Matrix_reduce_BOOL_(...)                GrB_Matrix_reduce_BOOL (__VA_ARGS__)
892 #define GrB_Matrix_reduce_INT8_(...)                GrB_Matrix_reduce_INT8 (__VA_ARGS__)
893 #define GrB_Matrix_reduce_INT16_(...)               GrB_Matrix_reduce_INT16 (__VA_ARGS__)
894 #define GrB_Matrix_reduce_INT32_(...)               GrB_Matrix_reduce_INT32 (__VA_ARGS__)
895 #define GrB_Matrix_reduce_INT64_(...)               GrB_Matrix_reduce_INT64 (__VA_ARGS__)
896 #define GrB_Matrix_reduce_UINT8_(...)               GrB_Matrix_reduce_UINT8 (__VA_ARGS__)
897 #define GrB_Matrix_reduce_UINT16_(...)              GrB_Matrix_reduce_UINT16 (__VA_ARGS__)
898 #define GrB_Matrix_reduce_UINT32_(...)              GrB_Matrix_reduce_UINT32 (__VA_ARGS__)
899 #define GrB_Matrix_reduce_UINT64_(...)              GrB_Matrix_reduce_UINT64 (__VA_ARGS__)
900 #define GrB_Matrix_reduce_FP32_(...)                GrB_Matrix_reduce_FP32 (__VA_ARGS__)
901 #define GrB_Matrix_reduce_FP64_(...)                GrB_Matrix_reduce_FP64 (__VA_ARGS__)
902 #define GxB_Matrix_reduce_FC32_(...)                GxB_Matrix_reduce_FC32 (__VA_ARGS__)
903 #define GxB_Matrix_reduce_FC64_(...)                GxB_Matrix_reduce_FC64 (__VA_ARGS__)
904 #define GrB_Matrix_reduce_UDT_(...)                 GrB_Matrix_reduce_UDT (__VA_ARGS__)
905 
906 // GxB_resize:
907 #define GrB_Matrix_resize_(...)                     GrB_Matrix_resize (__VA_ARGS__)
908 #define GrB_Vector_resize_(...)                     GrB_Vector_resize (__VA_ARGS__)
909 
910 // GrB_kronecker:
911 #define GrB_Matrix_kronecker_BinaryOp_(...)         GrB_Matrix_kronecker_BinaryOp (__VA_ARGS__)
912 #define GrB_Matrix_kronecker_Monoid_(...)           GrB_Matrix_kronecker_Monoid (__VA_ARGS__)
913 #define GrB_Matrix_kronecker_Semiring_(...)         GrB_Matrix_kronecker_Semiring (__VA_ARGS__)
914 
915 // GxB_fprint:
916 #define GxB_Type_fprint_(o,p,f)                     GxB_Type_fprint (o, GB_STR(o), p, f)
917 #define GxB_UnaryOp_fprint_(o,p,f)                  GxB_UnaryOp_fprint (o, GB_STR(o), p, f)
918 #define GxB_BinaryOp_fprint_(o,p,f)                 GxB_BinaryOp_fprint (o, GB_STR(o), p, f)
919 #define GxB_SelectOp_fprint_(o,p,f)                 GxB_SelectOp_fprint (o, GB_STR(o), p, f)
920 #define GxB_Monoid_fprint_(o,p,f)                   GxB_Monoid_fprint (o, GB_STR(o), p, f)
921 #define GxB_Semiring_fprint_(o,p,f)                 GxB_Semiring_fprint (o, GB_STR(o), p, f)
922 #define GxB_Descriptor_fprint_(o,p,f)               GxB_Descriptor_fprint (o, GB_STR(o), p, f)
923 #define GxB_Matrix_fprint_(o,p,f)                   GxB_Matrix_fprint (o, GB_STR(o), p, f)
924 #define GxB_Vector_fprint_(o,p,f)                   GxB_Vector_fprint (o, GB_STR(o), p, f)
925 #define GxB_Scalar_fprint_(o,p,f)                   GxB_Scalar_fprint (o, GB_STR(o), p, f)
926 
927 #endif
928 #endif
929 
930