3232
3333#include <string.h>
3434
35+ #ifdef _WIN32
36+ #ifdef mkl_umath_loops_EXPORTS
37+ #define MKL_UMATH_API __declspec(dllexport)
38+ #else
39+ #define MKL_UMATH_API __declspec(dllimport)
40+ #endif
41+ #else
42+ #define MKL_UMATH_API
43+ #endif
44+
3545/**begin repeat
3646 * Float types
3747 * #TYPE = FLOAT, DOUBLE#
3848 */
3949
40- extern void
50+ MKL_UMATH_API
51+ void
4152mkl_umath_@TYPE@_sqrt(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
4253
43- extern void
54+ MKL_UMATH_API
55+ void
4456mkl_umath_@TYPE@_invsqrt(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
4557
46- extern void
58+ MKL_UMATH_API
59+ void
4760mkl_umath_@TYPE@_exp(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
4861
49- extern void
62+ MKL_UMATH_API
63+ void
5064mkl_umath_@TYPE@_exp2(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
5165
52- extern void
66+ MKL_UMATH_API
67+ void
5368mkl_umath_@TYPE@_expm1(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
5469
55- extern void
70+ MKL_UMATH_API
71+ void
5672mkl_umath_@TYPE@_erf(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
5773
58- extern void
74+ MKL_UMATH_API
75+ void
5976mkl_umath_@TYPE@_log(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
6077
61- extern void
78+ MKL_UMATH_API
79+ void
6280mkl_umath_@TYPE@_log2(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
6381
64- extern void
82+ MKL_UMATH_API
83+ void
6584mkl_umath_@TYPE@_log10(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
6685
67- extern void
86+ MKL_UMATH_API
87+ void
6888mkl_umath_@TYPE@_log1p(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
6989
70- extern void
90+ MKL_UMATH_API
91+ void
7192mkl_umath_@TYPE@_cos(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
7293
73- extern void
94+ MKL_UMATH_API
95+ void
7496mkl_umath_@TYPE@_sin(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
7597
76- extern void
98+ MKL_UMATH_API
99+ void
77100mkl_umath_@TYPE@_tan(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
78101
79- extern void
102+ MKL_UMATH_API
103+ void
80104mkl_umath_@TYPE@_arccos(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
81105
82- extern void
106+ MKL_UMATH_API
107+ void
83108mkl_umath_@TYPE@_arcsin(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
84109
85- extern void
110+ MKL_UMATH_API
111+ void
86112mkl_umath_@TYPE@_arctan(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
87113
88- extern void
114+ MKL_UMATH_API
115+ void
89116mkl_umath_@TYPE@_cosh(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
90117
91- extern void
118+ MKL_UMATH_API
119+ void
92120mkl_umath_@TYPE@_sinh(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
93121
94- extern void
122+ MKL_UMATH_API
123+ void
95124mkl_umath_@TYPE@_tanh(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
96125
97- extern void
126+ MKL_UMATH_API
127+ void
98128mkl_umath_@TYPE@_arccosh(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
99129
100- extern void
130+ MKL_UMATH_API
131+ void
101132mkl_umath_@TYPE@_arcsinh(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
102133
103- extern void
134+ MKL_UMATH_API
135+ void
104136mkl_umath_@TYPE@_arctanh(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
105137
106- extern void
138+ MKL_UMATH_API
139+ void
107140mkl_umath_@TYPE@_fabs(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
108141
109- extern void
142+ MKL_UMATH_API
143+ void
110144mkl_umath_@TYPE@_floor(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
111145
112- extern void
146+ MKL_UMATH_API
147+ void
113148mkl_umath_@TYPE@_ceil(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
114149
115- extern void
150+ MKL_UMATH_API
151+ void
116152mkl_umath_@TYPE@_rint(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
117153
118- extern void
154+ MKL_UMATH_API
155+ void
119156mkl_umath_@TYPE@_trunc(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
120157
121- extern void
158+ MKL_UMATH_API
159+ void
122160mkl_umath_@TYPE@_cbrt(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
123161
124162/**begin repeat1
125163 * Arithmetic
126164 * # kind = add, subtract, multiply, divide#
127165 */
128- extern void
166+ MKL_UMATH_API
167+ void
129168mkl_umath_@TYPE@_@kind@(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
130169/**end repeat1**/
131170
@@ -134,83 +173,106 @@ mkl_umath_@TYPE@_@kind@(char **args, const npy_intp *dimensions, const npy_intp
134173 * # kind = equal, not_equal, less, less_equal, greater, greater_equal,
135174 * logical_and, logical_or#
136175 */
137- extern void
176+ MKL_UMATH_API
177+ void
138178mkl_umath_@TYPE@_@kind@(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
139179/**end repeat1**/
140180
141- extern void
181+ MKL_UMATH_API
182+ void
142183mkl_umath_@TYPE@_logical_xor(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
143184
144- extern void
185+ MKL_UMATH_API
186+ void
145187mkl_umath_@TYPE@_logical_not(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
146188
147189/**begin repeat1
148190 * #kind = isnan, isinf, isfinite, signbit#
149191 **/
150- extern void
192+ MKL_UMATH_API
193+ void
151194mkl_umath_@TYPE@_@kind@(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
152195/**end repeat1**/
153196
154- extern void
197+ MKL_UMATH_API
198+ void
155199mkl_umath_@TYPE@_spacing(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
156200
157201
158- extern void
202+ MKL_UMATH_API
203+ void
159204mkl_umath_@TYPE@_copysign(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
160205
161- extern void
206+ MKL_UMATH_API
207+ void
162208mkl_umath_@TYPE@_nextafter(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
163209
164210/**begin repeat1
165211 * #kind = maximum, minimum, fmax, fmin#
166212 **/
167- extern void
213+ MKL_UMATH_API
214+ void
168215mkl_umath_@TYPE@_@kind@(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
169216/**end repeat1**/
170217
171- extern void
218+ MKL_UMATH_API
219+ void
172220mkl_umath_@TYPE@_floor_divide(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
173221
174- extern void
222+ MKL_UMATH_API
223+ void
175224mkl_umath_@TYPE@_remainder(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
176225
177- extern void
226+ MKL_UMATH_API
227+ void
178228mkl_umath_@TYPE@_divmod(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
179229
180- extern void
230+ MKL_UMATH_API
231+ void
181232mkl_umath_@TYPE@_square(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
182233
183- extern void
234+ MKL_UMATH_API
235+ void
184236mkl_umath_@TYPE@_reciprocal(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(data));
185237
186- extern void
238+ MKL_UMATH_API
239+ void
187240mkl_umath_@TYPE@__ones_like(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(data));
188241
189- extern void
242+ MKL_UMATH_API
243+ void
190244mkl_umath_@TYPE@_conjugate(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
191245
192- extern void
246+ MKL_UMATH_API
247+ void
193248mkl_umath_@TYPE@_absolute(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
194249
195- extern void
250+ MKL_UMATH_API
251+ void
196252mkl_umath_@TYPE@_negative(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
197253
198- extern void
254+ MKL_UMATH_API
255+ void
199256mkl_umath_@TYPE@_positive(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
200257
201- extern void
258+ MKL_UMATH_API
259+ void
202260mkl_umath_@TYPE@_sign(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
203261
204- extern void
262+ MKL_UMATH_API
263+ void
205264mkl_umath_@TYPE@_modf(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
206265
207- extern void
266+ MKL_UMATH_API
267+ void
208268mkl_umath_@TYPE@_frexp(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
209269
210- extern void
270+ MKL_UMATH_API
271+ void
211272mkl_umath_@TYPE@_ldexp(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
212273
213- extern void
274+ MKL_UMATH_API
275+ void
214276mkl_umath_@TYPE@_ldexp_long(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
215277
216278#define mkl_umath_@TYPE@_true_divide mkl_umath_@TYPE@_divide
@@ -239,17 +301,21 @@ mkl_umath_@TYPE@_ldexp_long(char **args, const npy_intp *dimensions, const npy_i
239301 * arithmetic
240302 * #kind = add, subtract#
241303 */
242- extern void
304+ MKL_UMATH_API
305+ void
243306mkl_umath_@TYPE@_@kind@(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
244307/**end repeat1**/
245308
246- extern void
309+ MKL_UMATH_API
310+ void
247311mkl_umath_@TYPE@_multiply(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
248312
249- extern void
313+ MKL_UMATH_API
314+ void
250315mkl_umath_@TYPE@_divide(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
251316
252- extern void
317+ MKL_UMATH_API
318+ void
253319mkl_umath_@TYPE@_floor_divide(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
254320
255321
@@ -259,36 +325,45 @@ mkl_umath_@TYPE@_floor_divide(char **args, const npy_intp *dimensions, const npy
259325 not_equal, logical_and, logical_or, logical_xor, logical_not,
260326 isnan, isinf, isfinite#
261327 */
262- extern void
328+ MKL_UMATH_API
329+ void
263330mkl_umath_@TYPE@_@kind@(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
264331/**end repeat1**/
265332
266- extern void
333+ MKL_UMATH_API
334+ void
267335mkl_umath_@TYPE@_square(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(data));
268336
269- extern void
337+ MKL_UMATH_API
338+ void
270339mkl_umath_@TYPE@_reciprocal(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(data));
271340
272- extern void
341+ MKL_UMATH_API
342+ void
273343mkl_umath_@TYPE@__ones_like(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(data));
274344
275- extern void
345+ MKL_UMATH_API
346+ void
276347mkl_umath_@TYPE@_conjugate(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(data));
277348
278- extern void
349+ MKL_UMATH_API
350+ void
279351mkl_umath_@TYPE@_absolute(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(data));
280352
281- extern void
353+ MKL_UMATH_API
354+ void
282355mkl_umath_@TYPE@__arg(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(data));
283356
284- extern void
357+ MKL_UMATH_API
358+ void
285359mkl_umath_@TYPE@_sign(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(data));
286360
287361/**begin repeat1
288362 * arithmetic
289363 * #kind = maximum, minimum, fmax, fmin#
290364 */
291- extern void
365+ MKL_UMATH_API
366+ void
292367mkl_umath_@TYPE@_@kind@(char **args, const npy_intp *dimensions, const npy_intp *steps, void *NPY_UNUSED(func));
293368/**end repeat1**/
294369
0 commit comments