4c2b830523f286b0371fbc0bb8c079871790e1ba
[git/cygwin-packages/mingw64-i686-fftw3.git] / 3.3.4-internal-dllexport.patch
1 These symbols are all required by the threaded libs.
2
3 --- origsrc/fftw-3.3.4/dft/ct.h 2014-03-04 12:41:03.000000000 -0600
4 +++ src/fftw-3.3.4/dft/ct.h 2016-04-15 12:39:08.211651400 -0500
5 @@ -52,12 +52,12 @@ struct ct_solver_s {
6 ct_force_vrecursion force_vrecursionp;
7 };
8
9 -int X(ct_applicable)(const ct_solver *, const problem *, planner *);
10 +IFFTW_EXTERN int X(ct_applicable)(const ct_solver *, const problem *, planner *);
11 ct_solver *X(mksolver_ct)(size_t size, INT r, int dec,
12 ct_mkinferior mkcldw,
13 ct_force_vrecursion force_vrecursionp);
14 -extern ct_solver *(*X(mksolver_ct_hook))(size_t, INT, int,
15 - ct_mkinferior, ct_force_vrecursion);
16 +IFFTW_EXTERN ct_solver *(*X(mksolver_ct_hook))(size_t, INT, int,
17 + ct_mkinferior, ct_force_vrecursion);
18
19 void X(regsolver_ct_directw)(planner *plnr,
20 kdftw codelet, const ct_desc *desc, int dec);
21 --- origsrc/fftw-3.3.4/dft/dft.h 2014-03-04 12:41:03.000000000 -0600
22 +++ src/fftw-3.3.4/dft/dft.h 2016-04-15 12:41:32.619488900 -0500
23 @@ -38,13 +38,13 @@ typedef struct {
24 } problem_dft;
25
26 void X(dft_zerotens)(tensor *sz, R *ri, R *ii);
27 -problem *X(mkproblem_dft)(const tensor *sz, const tensor *vecsz,
28 - R *ri, R *ii, R *ro, R *io);
29 -problem *X(mkproblem_dft_d)(tensor *sz, tensor *vecsz,
30 - R *ri, R *ii, R *ro, R *io);
31 +IFFTW_EXTERN problem *X(mkproblem_dft)(const tensor *sz, const tensor *vecsz,
32 + R *ri, R *ii, R *ro, R *io);
33 +IFFTW_EXTERN problem *X(mkproblem_dft_d)(tensor *sz, tensor *vecsz,
34 + R *ri, R *ii, R *ro, R *io);
35
36 /* solve.c: */
37 -void X(dft_solve)(const plan *ego_, const problem *p_);
38 +IFFTW_EXTERN void X(dft_solve)(const plan *ego_, const problem *p_);
39
40 /* plan.c: */
41 typedef void (*dftapply) (const plan *ego, R *ri, R *ii, R *ro, R *io);
42 @@ -54,7 +54,7 @@ typedef struct {
43 dftapply apply;
44 } plan_dft;
45
46 -plan *X(mkplan_dft)(size_t size, const plan_adt *adt, dftapply apply);
47 +IFFTW_EXTERN plan *X(mkplan_dft)(size_t size, const plan_adt *adt, dftapply apply);
48
49 #define MKPLAN_DFT(type, adt, apply) \
50 (type *)X(mkplan_dft)(sizeof(type), adt, apply)
51 --- origsrc/fftw-3.3.4/kernel/ifftw.h 2014-03-04 12:41:03.000000000 -0600
52 +++ src/fftw-3.3.4/kernel/ifftw.h 2016-04-15 12:39:27.887650000 -0500
53 @@ -349,12 +349,12 @@ typedef struct {
54 double other;
55 } opcnt;
56
57 -void X(ops_zero)(opcnt *dst);
58 +IFFTW_EXTERN void X(ops_zero)(opcnt *dst);
59 void X(ops_other)(INT o, opcnt *dst);
60 void X(ops_cpy)(const opcnt *src, opcnt *dst);
61
62 void X(ops_add)(const opcnt *a, const opcnt *b, opcnt *dst);
63 -void X(ops_add2)(const opcnt *a, opcnt *dst);
64 +IFFTW_EXTERN void X(ops_add2)(const opcnt *a, opcnt *dst);
65
66 /* dst = m * a + b */
67 void X(ops_madd)(INT m, const opcnt *a, const opcnt *b, opcnt *dst);
68 @@ -365,7 +365,7 @@ void X(ops_madd2)(INT m, const opcnt *a,
69
70 /*-----------------------------------------------------------------------*/
71 /* minmax.c: */
72 -INT X(imax)(INT a, INT b);
73 +IFFTW_EXTERN INT X(imax)(INT a, INT b);
74 INT X(imin)(INT a, INT b);
75
76 /*-----------------------------------------------------------------------*/
77 @@ -440,9 +440,9 @@ typedef enum { INPLACE_IS, INPLACE_OS }
78
79 tensor *X(mktensor)(int rnk);
80 tensor *X(mktensor_0d)(void);
81 -tensor *X(mktensor_1d)(INT n, INT is, INT os);
82 -tensor *X(mktensor_2d)(INT n0, INT is0, INT os0,
83 - INT n1, INT is1, INT os1);
84 +IFFTW_EXTERN tensor *X(mktensor_1d)(INT n, INT is, INT os);
85 +IFFTW_EXTERN tensor *X(mktensor_2d)(INT n0, INT is0, INT os0,
86 + INT n1, INT is1, INT os1);
87 tensor *X(mktensor_3d)(INT n0, INT is0, INT os0,
88 INT n1, INT is1, INT os1,
89 INT n2, INT is2, INT os2);
90 @@ -465,7 +465,7 @@ int X(tensor_inplace_strides)(const tens
91 int X(tensor_inplace_strides2)(const tensor *a, const tensor *b);
92 int X(tensor_strides_decrease)(const tensor *sz, const tensor *vecsz,
93 inplace_kind k);
94 -tensor *X(tensor_copy)(const tensor *sz);
95 +IFFTW_EXTERN tensor *X(tensor_copy)(const tensor *sz);
96 int X(tensor_kosherp)(const tensor *x);
97
98 tensor *X(tensor_copy_inplace)(const tensor *sz, inplace_kind k);
99 @@ -475,8 +475,8 @@ tensor *X(tensor_compress)(const tensor
100 tensor *X(tensor_compress_contiguous)(const tensor *sz);
101 tensor *X(tensor_append)(const tensor *a, const tensor *b);
102 void X(tensor_split)(const tensor *sz, tensor **a, int a_rnk, tensor **b);
103 -int X(tensor_tornk1)(const tensor *t, INT *n, INT *is, INT *os);
104 -void X(tensor_destroy)(tensor *sz);
105 +IFFTW_EXTERN int X(tensor_tornk1)(const tensor *t, INT *n, INT *is, INT *os);
106 +IFFTW_EXTERN void X(tensor_destroy)(tensor *sz);
107 void X(tensor_destroy2)(tensor *a, tensor *b);
108 void X(tensor_destroy4)(tensor *a, tensor *b, tensor *c, tensor *d);
109 void X(tensor_print)(const tensor *sz, printer *p);
110 @@ -573,7 +573,7 @@ struct plan_s {
111 };
112
113 plan *X(mkplan)(size_t size, const plan_adt *adt);
114 -void X(plan_destroy_internal)(plan *ego);
115 +IFFTW_EXTERN void X(plan_destroy_internal)(plan *ego);
116 IFFTW_EXTERN void X(plan_awake)(plan *ego, enum wakefulness wakefulness);
117 void X(plan_null_destroy)(plan *ego);
118
119 @@ -590,10 +590,10 @@ struct solver_s {
120 int refcnt;
121 };
122
123 -solver *X(mksolver)(size_t size, const solver_adt *adt);
124 +IFFTW_EXTERN solver *X(mksolver)(size_t size, const solver_adt *adt);
125 void X(solver_use)(solver *ego);
126 void X(solver_destroy)(solver *ego);
127 -void X(solver_register)(planner *plnr, solver *s);
128 +IFFTW_EXTERN void X(solver_register)(planner *plnr, solver *s);
129
130 /* shorthand */
131 #define MKSOLVER(type, adt) (type *)X(mksolver)(sizeof(type), adt)
132 @@ -807,7 +807,7 @@ void X(planner_destroy)(planner *ego);
133
134
135 /* make plan, destroy problem */
136 -plan *X(mkplan_d)(planner *ego, problem *p);
137 +IFFTW_EXTERN plan *X(mkplan_d)(planner *ego, problem *p);
138 plan *X(mkplan_f_d)(planner *ego, problem *p,
139 unsigned l_set, unsigned u_set, unsigned u_reset);
140
141 @@ -868,14 +868,14 @@ typedef INT stride;
142
143 struct solvtab_s { void (*reg)(planner *); const char *reg_nam; };
144 typedef struct solvtab_s solvtab[];
145 -void X(solvtab_exec)(const solvtab tbl, planner *p);
146 +IFFTW_EXTERN void X(solvtab_exec)(const solvtab tbl, planner *p);
147 #define SOLVTAB(s) { s, STRINGIZE(s) }
148 #define SOLVTAB_END { 0, 0 }
149
150 /*-----------------------------------------------------------------------*/
151 /* pickdim.c */
152 -int X(pickdim)(int which_dim, const int *buddies, int nbuddies,
153 - const tensor *sz, int oop, int *dp);
154 +IFFTW_EXTERN int X(pickdim)(int which_dim, const int *buddies, int nbuddies,
155 + const tensor *sz, int oop, int *dp);
156
157 /*-----------------------------------------------------------------------*/
158 /* twiddle.c */
159 @@ -943,7 +943,7 @@ int X(is_prime)(INT n);
160 INT X(next_prime)(INT n);
161 int X(factors_into)(INT n, const INT *primes);
162 int X(factors_into_small_primes)(INT n);
163 -INT X(choose_radix)(INT r, INT n);
164 +IFFTW_EXTERN INT X(choose_radix)(INT r, INT n);
165 INT X(isqrt)(INT n);
166 INT X(modulo)(INT a, INT n);
167
168 --- origsrc/fftw-3.3.4/rdft/hc2hc.h 2014-03-04 12:41:03.000000000 -0600
169 +++ src/fftw-3.3.4/rdft/hc2hc.h 2016-04-15 12:42:28.511086200 -0500
170 @@ -46,9 +46,9 @@ struct hc2hc_solver_s {
171 };
172
173 hc2hc_solver *X(mksolver_hc2hc)(size_t size, INT r, hc2hc_mkinferior mkcldw);
174 -extern hc2hc_solver *(*X(mksolver_hc2hc_hook))(size_t, INT, hc2hc_mkinferior);
175 +IFFTW_EXTERN hc2hc_solver *(*X(mksolver_hc2hc_hook))(size_t, INT, hc2hc_mkinferior);
176
177 void X(regsolver_hc2hc_direct)(planner *plnr, khc2hc codelet,
178 const hc2hc_desc *desc);
179
180 -int X(hc2hc_applicable)(const hc2hc_solver *, const problem *, planner *);
181 +IFFTW_EXTERN int X(hc2hc_applicable)(const hc2hc_solver *, const problem *, planner *);
182 --- origsrc/fftw-3.3.4/rdft/rdft.h 2014-03-04 12:41:03.000000000 -0600
183 +++ src/fftw-3.3.4/rdft/rdft.h 2016-04-15 12:41:23.315807500 -0500
184 @@ -44,10 +44,10 @@ typedef struct {
185 } problem_rdft;
186
187 void X(rdft_zerotens)(tensor *sz, R *I);
188 -problem *X(mkproblem_rdft)(const tensor *sz, const tensor *vecsz,
189 - R *I, R *O, const rdft_kind *kind);
190 -problem *X(mkproblem_rdft_d)(tensor *sz, tensor *vecsz,
191 - R *I, R *O, const rdft_kind *kind);
192 +IFFTW_EXTERN problem *X(mkproblem_rdft)(const tensor *sz, const tensor *vecsz,
193 + R *I, R *O, const rdft_kind *kind);
194 +IFFTW_EXTERN problem *X(mkproblem_rdft_d)(tensor *sz, tensor *vecsz,
195 + R *I, R *O, const rdft_kind *kind);
196 problem *X(mkproblem_rdft_0_d)(tensor *vecsz, R *I, R *O);
197 problem *X(mkproblem_rdft_1)(const tensor *sz, const tensor *vecsz,
198 R *I, R *O, rdft_kind kind);
199 @@ -57,7 +57,7 @@ problem *X(mkproblem_rdft_1_d)(tensor *s
200 const char *X(rdft_kind_str)(rdft_kind kind);
201
202 /* solve.c: */
203 -void X(rdft_solve)(const plan *ego_, const problem *p_);
204 +IFFTW_EXTERN void X(rdft_solve)(const plan *ego_, const problem *p_);
205
206 /* plan.c: */
207 typedef void (*rdftapply) (const plan *ego, R *I, R *O);
208 @@ -67,7 +67,7 @@ typedef struct {
209 rdftapply apply;
210 } plan_rdft;
211
212 -plan *X(mkplan_rdft)(size_t size, const plan_adt *adt, rdftapply apply);
213 +IFFTW_EXTERN plan *X(mkplan_rdft)(size_t size, const plan_adt *adt, rdftapply apply);
214
215 #define MKPLAN_RDFT(type, adt, apply) \
216 (type *)X(mkplan_rdft)(sizeof(type), adt, apply)
217 @@ -123,22 +123,22 @@ typedef struct {
218 rdft_kind kind; /* assert(kind < DHT) */
219 } problem_rdft2;
220
221 -problem *X(mkproblem_rdft2)(const tensor *sz, const tensor *vecsz,
222 - R *r0, R *r1, R *cr, R *ci, rdft_kind kind);
223 +IFFTW_EXTERN problem *X(mkproblem_rdft2)(const tensor *sz, const tensor *vecsz,
224 + R *r0, R *r1, R *cr, R *ci, rdft_kind kind);
225 problem *X(mkproblem_rdft2_d)(tensor *sz, tensor *vecsz,
226 R *r0, R *r1, R *cr, R *ci, rdft_kind kind);
227 problem *X(mkproblem_rdft2_d_3pointers)(tensor *sz, tensor *vecsz,
228 R *r, R *cr, R *ci, rdft_kind kind);
229 -int X(rdft2_inplace_strides)(const problem_rdft2 *p, int vdim);
230 +IFFTW_EXTERN int X(rdft2_inplace_strides)(const problem_rdft2 *p, int vdim);
231 INT X(rdft2_tensor_max_index)(const tensor *sz, rdft_kind k);
232 -void X(rdft2_strides)(rdft_kind kind, const iodim *d, INT *rs, INT *cs);
233 +IFFTW_EXTERN void X(rdft2_strides)(rdft_kind kind, const iodim *d, INT *rs, INT *cs);
234 INT X(rdft2_complex_n)(INT real_n, rdft_kind kind);
235
236 /* verify.c: */
237 void X(rdft2_verify)(plan *pln, const problem_rdft2 *p, int rounds);
238
239 /* solve.c: */
240 -void X(rdft2_solve)(const plan *ego_, const problem *p_);
241 +IFFTW_EXTERN void X(rdft2_solve)(const plan *ego_, const problem *p_);
242
243 /* plan.c: */
244 typedef void (*rdft2apply) (const plan *ego, R *r0, R *r1, R *cr, R *ci);
245 @@ -148,7 +148,7 @@ typedef struct {
246 rdft2apply apply;
247 } plan_rdft2;
248
249 -plan *X(mkplan_rdft2)(size_t size, const plan_adt *adt, rdft2apply apply);
250 +IFFTW_EXTERN plan *X(mkplan_rdft2)(size_t size, const plan_adt *adt, rdft2apply apply);
251
252 #define MKPLAN_RDFT2(type, adt, apply) \
253 (type *)X(mkplan_rdft2)(sizeof(type), adt, apply)
This page took 0.043528 seconds and 4 git commands to generate.