Skip to content

Commit 45c475b

Browse files
authored
Merge pull request #2273 from Gold856/fix-cephes-static-linking
Fix cephes static linking
2 parents 09dbcc6 + 2566cb0 commit 45c475b

File tree

3 files changed

+137
-182
lines changed

3 files changed

+137
-182
lines changed

gtsam/3rdparty/cephes/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ set_target_properties(
100100
cephes-gtsam
101101
PROPERTIES VERSION ${PROJECT_VERSION}
102102
SOVERSION ${PROJECT_VERSION_MAJOR}
103-
C_STANDARD 99)
103+
C_STANDARD 99
104+
WINDOWS_EXPORT_ALL_SYMBOLS ON)
104105

105106
if(WIN32)
106107
set_target_properties(cephes-gtsam PROPERTIES COMPILE_FLAGS /w)

gtsam/3rdparty/cephes/cephes.h

Lines changed: 135 additions & 156 deletions
Original file line numberDiff line numberDiff line change
@@ -1,166 +1,145 @@
11
#ifndef CEPHES_H
22
#define CEPHES_H
33

4-
#include "dllexport.h"
5-
64
#ifdef __cplusplus
75
extern "C" {
86
#endif
97

10-
CEPHES_EXTERN_EXPORT int airy(double x, double *ai, double *aip, double *bi,
11-
double *bip);
12-
13-
CEPHES_EXTERN_EXPORT double bdtrc(double k, int n, double p);
14-
CEPHES_EXTERN_EXPORT double bdtr(double k, int n, double p);
15-
CEPHES_EXTERN_EXPORT double bdtri(double k, int n, double y);
16-
17-
CEPHES_EXTERN_EXPORT double besselpoly(double a, double lambda, double nu);
18-
19-
CEPHES_EXTERN_EXPORT double beta(double a, double b);
20-
CEPHES_EXTERN_EXPORT double lbeta(double a, double b);
21-
22-
CEPHES_EXTERN_EXPORT double btdtr(double a, double b, double x);
23-
24-
CEPHES_EXTERN_EXPORT double cbrt(double x);
25-
CEPHES_EXTERN_EXPORT double chbevl(double x, double array[], int n);
26-
CEPHES_EXTERN_EXPORT double chdtrc(double df, double x);
27-
CEPHES_EXTERN_EXPORT double chdtr(double df, double x);
28-
CEPHES_EXTERN_EXPORT double chdtri(double df, double y);
29-
CEPHES_EXTERN_EXPORT double dawsn(double xx);
30-
31-
CEPHES_EXTERN_EXPORT double ellie(double phi, double m);
32-
CEPHES_EXTERN_EXPORT double ellik(double phi, double m);
33-
CEPHES_EXTERN_EXPORT double ellpe(double x);
34-
35-
CEPHES_EXTERN_EXPORT int ellpj(double u, double m, double *sn, double *cn,
36-
double *dn, double *ph);
37-
CEPHES_EXTERN_EXPORT double ellpk(double x);
38-
CEPHES_EXTERN_EXPORT double exp10(double x);
39-
CEPHES_EXTERN_EXPORT double exp2(double x);
40-
41-
CEPHES_EXTERN_EXPORT double expn(int n, double x);
42-
43-
CEPHES_EXTERN_EXPORT double fdtrc(double a, double b, double x);
44-
CEPHES_EXTERN_EXPORT double fdtr(double a, double b, double x);
45-
CEPHES_EXTERN_EXPORT double fdtri(double a, double b, double y);
46-
47-
CEPHES_EXTERN_EXPORT int fresnl(double xxa, double *ssa, double *cca);
48-
CEPHES_EXTERN_EXPORT double Gamma(double x);
49-
CEPHES_EXTERN_EXPORT double lgam(double x);
50-
CEPHES_EXTERN_EXPORT double lgam_sgn(double x, int *sign);
51-
CEPHES_EXTERN_EXPORT double gammasgn(double x);
52-
53-
CEPHES_EXTERN_EXPORT double gdtr(double a, double b, double x);
54-
CEPHES_EXTERN_EXPORT double gdtrc(double a, double b, double x);
55-
CEPHES_EXTERN_EXPORT double gdtri(double a, double b, double y);
56-
57-
CEPHES_EXTERN_EXPORT double hyp2f1(double a, double b, double c, double x);
58-
CEPHES_EXTERN_EXPORT double hyperg(double a, double b, double x);
59-
CEPHES_EXTERN_EXPORT double threef0(double a, double b, double c, double x,
60-
double *err);
61-
62-
CEPHES_EXTERN_EXPORT double i0(double x);
63-
CEPHES_EXTERN_EXPORT double i0e(double x);
64-
CEPHES_EXTERN_EXPORT double i1(double x);
65-
CEPHES_EXTERN_EXPORT double i1e(double x);
66-
CEPHES_EXTERN_EXPORT double igamc(double a, double x);
67-
CEPHES_EXTERN_EXPORT double igam(double a, double x);
68-
CEPHES_EXTERN_EXPORT double igam_fac(double a, double x);
69-
CEPHES_EXTERN_EXPORT double igamci(double a, double q);
70-
CEPHES_EXTERN_EXPORT double igami(double a, double p);
71-
72-
CEPHES_EXTERN_EXPORT double incbet(double aa, double bb, double xx);
73-
CEPHES_EXTERN_EXPORT double incbi(double aa, double bb, double yy0);
74-
75-
CEPHES_EXTERN_EXPORT double iv(double v, double x);
76-
CEPHES_EXTERN_EXPORT double j0(double x);
77-
CEPHES_EXTERN_EXPORT double y0(double x);
78-
CEPHES_EXTERN_EXPORT double j1(double x);
79-
CEPHES_EXTERN_EXPORT double y1(double x);
80-
81-
CEPHES_EXTERN_EXPORT double jn(int n, double x);
82-
CEPHES_EXTERN_EXPORT double jv(double n, double x);
83-
CEPHES_EXTERN_EXPORT double k0(double x);
84-
CEPHES_EXTERN_EXPORT double k0e(double x);
85-
CEPHES_EXTERN_EXPORT double k1(double x);
86-
CEPHES_EXTERN_EXPORT double k1e(double x);
87-
CEPHES_EXTERN_EXPORT double kn(int nn, double x);
88-
89-
CEPHES_EXTERN_EXPORT double nbdtrc(int k, int n, double p);
90-
CEPHES_EXTERN_EXPORT double nbdtr(int k, int n, double p);
91-
CEPHES_EXTERN_EXPORT double nbdtri(int k, int n, double p);
92-
93-
CEPHES_EXTERN_EXPORT double ndtr(double a);
94-
CEPHES_EXTERN_EXPORT double log_ndtr(double a);
95-
CEPHES_EXTERN_EXPORT double erfc(double a);
96-
CEPHES_EXTERN_EXPORT double erf(double x);
97-
CEPHES_EXTERN_EXPORT double erfinv(double y);
98-
CEPHES_EXTERN_EXPORT double erfcinv(double y);
99-
CEPHES_EXTERN_EXPORT double ndtri(double y0);
100-
101-
CEPHES_EXTERN_EXPORT double pdtrc(double k, double m);
102-
CEPHES_EXTERN_EXPORT double pdtr(double k, double m);
103-
CEPHES_EXTERN_EXPORT double pdtri(int k, double y);
104-
105-
CEPHES_EXTERN_EXPORT double poch(double x, double m);
106-
107-
CEPHES_EXTERN_EXPORT double psi(double x);
108-
109-
CEPHES_EXTERN_EXPORT double rgamma(double x);
110-
CEPHES_EXTERN_EXPORT double round(double x);
111-
112-
CEPHES_EXTERN_EXPORT int shichi(double x, double *si, double *ci);
113-
CEPHES_EXTERN_EXPORT int sici(double x, double *si, double *ci);
114-
115-
CEPHES_EXTERN_EXPORT double radian(double d, double m, double s);
116-
CEPHES_EXTERN_EXPORT double sindg(double x);
117-
CEPHES_EXTERN_EXPORT double sinpi(double x);
118-
CEPHES_EXTERN_EXPORT double cosdg(double x);
119-
CEPHES_EXTERN_EXPORT double cospi(double x);
120-
121-
CEPHES_EXTERN_EXPORT double spence(double x);
122-
123-
CEPHES_EXTERN_EXPORT double stdtr(int k, double t);
124-
CEPHES_EXTERN_EXPORT double stdtri(int k, double p);
125-
126-
CEPHES_EXTERN_EXPORT double struve_h(double v, double x);
127-
CEPHES_EXTERN_EXPORT double struve_l(double v, double x);
128-
CEPHES_EXTERN_EXPORT double struve_power_series(double v, double x, int is_h,
129-
double *err);
130-
CEPHES_EXTERN_EXPORT double struve_asymp_large_z(double v, double z, int is_h,
131-
double *err);
132-
CEPHES_EXTERN_EXPORT double struve_bessel_series(double v, double z, int is_h,
133-
double *err);
134-
135-
CEPHES_EXTERN_EXPORT double yv(double v, double x);
136-
137-
CEPHES_EXTERN_EXPORT double tandg(double x);
138-
CEPHES_EXTERN_EXPORT double cotdg(double x);
139-
140-
CEPHES_EXTERN_EXPORT double log1p(double x);
141-
CEPHES_EXTERN_EXPORT double log1pmx(double x);
142-
CEPHES_EXTERN_EXPORT double expm1(double x);
143-
CEPHES_EXTERN_EXPORT double cosm1(double x);
144-
CEPHES_EXTERN_EXPORT double lgam1p(double x);
145-
146-
CEPHES_EXTERN_EXPORT double yn(int n, double x);
147-
CEPHES_EXTERN_EXPORT double zeta(double x, double q);
148-
CEPHES_EXTERN_EXPORT double zetac(double x);
149-
150-
CEPHES_EXTERN_EXPORT double smirnov(int n, double d);
151-
CEPHES_EXTERN_EXPORT double smirnovi(int n, double p);
152-
CEPHES_EXTERN_EXPORT double smirnovp(int n, double d);
153-
CEPHES_EXTERN_EXPORT double smirnovc(int n, double d);
154-
CEPHES_EXTERN_EXPORT double smirnovci(int n, double p);
155-
CEPHES_EXTERN_EXPORT double kolmogorov(double x);
156-
CEPHES_EXTERN_EXPORT double kolmogi(double p);
157-
CEPHES_EXTERN_EXPORT double kolmogp(double x);
158-
CEPHES_EXTERN_EXPORT double kolmogc(double x);
159-
CEPHES_EXTERN_EXPORT double kolmogci(double p);
160-
161-
CEPHES_EXTERN_EXPORT double lanczos_sum_expg_scaled(double x);
162-
163-
CEPHES_EXTERN_EXPORT double owens_t(double h, double a);
8+
int airy(double x, double *ai, double *aip, double *bi, double *bip);
9+
10+
double bdtrc(double k, int n, double p);
11+
double bdtr(double k, int n, double p);
12+
double bdtri(double k, int n, double y);
13+
14+
double besselpoly(double a, double lambda, double nu);
15+
16+
double beta(double a, double b);
17+
double lbeta(double a, double b);
18+
19+
double btdtr(double a, double b, double x);
20+
21+
double chbevl(double x, double array[], int n);
22+
double chdtrc(double df, double x);
23+
double chdtr(double df, double x);
24+
double chdtri(double df, double y);
25+
double dawsn(double xx);
26+
27+
double ellie(double phi, double m);
28+
double ellik(double phi, double m);
29+
double ellpe(double x);
30+
31+
int ellpj(double u, double m, double *sn, double *cn, double *dn, double *ph);
32+
double ellpk(double x);
33+
double exp10(double x);
34+
35+
double expn(int n, double x);
36+
37+
double fdtrc(double a, double b, double x);
38+
double fdtr(double a, double b, double x);
39+
double fdtri(double a, double b, double y);
40+
41+
int fresnl(double xxa, double *ssa, double *cca);
42+
double Gamma(double x);
43+
double lgam(double x);
44+
double lgam_sgn(double x, int *sign);
45+
double gammasgn(double x);
46+
47+
double gdtr(double a, double b, double x);
48+
double gdtrc(double a, double b, double x);
49+
double gdtri(double a, double b, double y);
50+
51+
double hyp2f1(double a, double b, double c, double x);
52+
double hyperg(double a, double b, double x);
53+
double threef0(double a, double b, double c, double x, double *err);
54+
55+
double i0(double x);
56+
double i0e(double x);
57+
double i1(double x);
58+
double i1e(double x);
59+
double igamc(double a, double x);
60+
double igam(double a, double x);
61+
double igam_fac(double a, double x);
62+
double igamci(double a, double q);
63+
double igami(double a, double p);
64+
65+
double incbet(double aa, double bb, double xx);
66+
double incbi(double aa, double bb, double yy0);
67+
68+
double iv(double v, double x);
69+
70+
double jv(double n, double x);
71+
double k0(double x);
72+
double k0e(double x);
73+
double k1(double x);
74+
double k1e(double x);
75+
double kn(int nn, double x);
76+
77+
double nbdtrc(int k, int n, double p);
78+
double nbdtr(int k, int n, double p);
79+
double nbdtri(int k, int n, double p);
80+
81+
double ndtr(double a);
82+
double log_ndtr(double a);
83+
double erfinv(double y);
84+
double erfcinv(double y);
85+
double ndtri(double y0);
86+
87+
double pdtrc(double k, double m);
88+
double pdtr(double k, double m);
89+
double pdtri(int k, double y);
90+
91+
double poch(double x, double m);
92+
93+
double psi(double x);
94+
95+
double rgamma(double x);
96+
97+
int shichi(double x, double *si, double *ci);
98+
int sici(double x, double *si, double *ci);
99+
100+
double radian(double d, double m, double s);
101+
double sindg(double x);
102+
double sinpi(double x);
103+
double cosdg(double x);
104+
double cospi(double x);
105+
106+
double spence(double x);
107+
108+
double stdtr(int k, double t);
109+
double stdtri(int k, double p);
110+
111+
double struve_h(double v, double x);
112+
double struve_l(double v, double x);
113+
double struve_power_series(double v, double x, int is_h, double *err);
114+
double struve_asymp_large_z(double v, double z, int is_h, double *err);
115+
double struve_bessel_series(double v, double z, int is_h, double *err);
116+
117+
double yv(double v, double x);
118+
119+
double tandg(double x);
120+
double cotdg(double x);
121+
122+
double log1pmx(double x);
123+
double cosm1(double x);
124+
double lgam1p(double x);
125+
126+
double zeta(double x, double q);
127+
double zetac(double x);
128+
129+
double smirnov(int n, double d);
130+
double smirnovi(int n, double p);
131+
double smirnovp(int n, double d);
132+
double smirnovc(int n, double d);
133+
double smirnovci(int n, double p);
134+
double kolmogorov(double x);
135+
double kolmogi(double p);
136+
double kolmogp(double x);
137+
double kolmogc(double x);
138+
double kolmogci(double p);
139+
140+
double lanczos_sum_expg_scaled(double x);
141+
142+
double owens_t(double h, double a);
164143

165144
#ifdef __cplusplus
166145
}

gtsam/3rdparty/cephes/dllexport.h

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)