Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 2 additions & 63 deletions gtsam/3rdparty/cephes/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,85 +8,24 @@ project(

set(CEPHES_HEADER_FILES
cephes.h
cephes/dd_idefs.h
cephes/dd_real.h
cephes/dd_real_idefs.h
cephes/expn.h
cephes/igam.h
cephes/lanczos.h
cephes/mconf.h
cephes/polevl.h
cephes/sf_error.h
)
cephes/sf_error.h)

# Add header files
install(FILES ${CEPHES_HEADER_FILES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/3rdparty/cephes)

set(CEPHES_SOURCES
cephes/airy.c
cephes/bdtr.c
cephes/besselpoly.c
cephes/beta.c
cephes/btdtr.c
cephes/cbrt.c
cephes/chbevl.c
cephes/chdtr.c
cephes/const.c
cephes/dawsn.c
cephes/dd_real.c
cephes/ellie.c
cephes/ellik.c
cephes/ellpe.c
cephes/ellpj.c
cephes/ellpk.c
cephes/erfinv.c
cephes/exp10.c
cephes/exp2.c
cephes/expn.c
cephes/fdtr.c
cephes/fresnl.c
cephes/gamma.c
cephes/gammasgn.c
cephes/gdtr.c
cephes/hyp2f1.c
cephes/hyperg.c
cephes/i0.c
cephes/i1.c
cephes/igam.c
cephes/igami.c
cephes/incbet.c
cephes/incbi.c
cephes/j0.c
cephes/j1.c
cephes/jv.c
cephes/k0.c
cephes/k1.c
cephes/kn.c
cephes/kolmogorov.c
cephes/lanczos.c
cephes/nbdtr.c
cephes/ndtr.c
cephes/ndtri.c
cephes/owens_t.c
cephes/pdtr.c
cephes/poch.c
cephes/psi.c
cephes/rgamma.c
cephes/round.c
cephes/sf_error.c
cephes/shichi.c
cephes/sici.c
cephes/sindg.c
cephes/sinpi.c
cephes/spence.c
cephes/stdtr.c
cephes/tandg.c
cephes/tukey.c
cephes/unity.c
cephes/yn.c
cephes/yv.c
cephes/zeta.c
cephes/zetac.c)
cephes/zeta.c)

# Add library source files
add_library(cephes-gtsam ${GTSAM_LIBRARY_TYPE} ${CEPHES_SOURCES})
Expand Down
2 changes: 1 addition & 1 deletion gtsam/3rdparty/cephes/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# README

This is a vendored version of the Cephes Mathematical Library. The source code can be found on [netlib.org](https://www.netlib.org/cephes/).
This is a vendored version of the Cephes Mathematical Library, trimmed down to just the required files for the `igami` function, and with exported functions renamed to prevent conflicts. The source code can be found on [netlib.org](https://www.netlib.org/cephes/).

The software is provided with an [MIT License](https://smath.com/en-US/view/CephesMathLibrary/license).

Expand Down
146 changes: 15 additions & 131 deletions gtsam/3rdparty/cephes/cephes.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,141 +5,25 @@
extern "C" {
#endif

int airy(double x, double *ai, double *aip, double *bi, double *bip);
double gtsam_cephes_Gamma(double x);
double gtsam_cephes_lgam(double x);
double gtsam_cephes_lgam_sgn(double x, int *sign);
double gtsam_cephes_gammasgn(double x);

double bdtrc(double k, int n, double p);
double bdtr(double k, int n, double p);
double bdtri(double k, int n, double y);
double gtsam_cephes_igamc(double a, double x);
double gtsam_cephes_igam(double a, double x);
double gtsam_cephes_igam_fac(double a, double x);
double gtsam_cephes_igamci(double a, double q);
double gtsam_cephes_igami(double a, double p);

double besselpoly(double a, double lambda, double nu);
double gtsam_cephes_log1pmx(double x);
double gtsam_cephes_cosm1(double x);
double gtsam_cephes_lgam1p(double x);

double beta(double a, double b);
double lbeta(double a, double b);
double gtsam_cephes_zeta(double x, double q);
double gtsam_cephes_zetac(double x);

double btdtr(double a, double b, double x);

double chbevl(double x, double array[], int n);
double chdtrc(double df, double x);
double chdtr(double df, double x);
double chdtri(double df, double y);
double dawsn(double xx);

double ellie(double phi, double m);
double ellik(double phi, double m);
double ellpe(double x);

int ellpj(double u, double m, double *sn, double *cn, double *dn, double *ph);
double ellpk(double x);
double exp10(double x);

double expn(int n, double x);

double fdtrc(double a, double b, double x);
double fdtr(double a, double b, double x);
double fdtri(double a, double b, double y);

int fresnl(double xxa, double *ssa, double *cca);
double Gamma(double x);
double lgam(double x);
double lgam_sgn(double x, int *sign);
double gammasgn(double x);

double gdtr(double a, double b, double x);
double gdtrc(double a, double b, double x);
double gdtri(double a, double b, double y);

double hyp2f1(double a, double b, double c, double x);
double hyperg(double a, double b, double x);
double threef0(double a, double b, double c, double x, double *err);

double i0(double x);
double i0e(double x);
double i1(double x);
double i1e(double x);
double igamc(double a, double x);
double igam(double a, double x);
double igam_fac(double a, double x);
double igamci(double a, double q);
double igami(double a, double p);

double incbet(double aa, double bb, double xx);
double incbi(double aa, double bb, double yy0);

double iv(double v, double x);

double jv(double n, double x);
double k0(double x);
double k0e(double x);
double k1(double x);
double k1e(double x);
double kn(int nn, double x);

double nbdtrc(int k, int n, double p);
double nbdtr(int k, int n, double p);
double nbdtri(int k, int n, double p);

double ndtr(double a);
double log_ndtr(double a);
double erfinv(double y);
double erfcinv(double y);
double ndtri(double y0);

double pdtrc(double k, double m);
double pdtr(double k, double m);
double pdtri(int k, double y);

double poch(double x, double m);

double psi(double x);

double rgamma(double x);

int shichi(double x, double *si, double *ci);
int sici(double x, double *si, double *ci);

double radian(double d, double m, double s);
double sindg(double x);
double sinpi(double x);
double cosdg(double x);
double cospi(double x);

double spence(double x);

double stdtr(int k, double t);
double stdtri(int k, double p);

double struve_h(double v, double x);
double struve_l(double v, double x);
double struve_power_series(double v, double x, int is_h, double *err);
double struve_asymp_large_z(double v, double z, int is_h, double *err);
double struve_bessel_series(double v, double z, int is_h, double *err);

double yv(double v, double x);

double tandg(double x);
double cotdg(double x);

double log1pmx(double x);
double cosm1(double x);
double lgam1p(double x);

double zeta(double x, double q);
double zetac(double x);

double smirnov(int n, double d);
double smirnovi(int n, double p);
double smirnovp(int n, double d);
double smirnovc(int n, double d);
double smirnovci(int n, double p);
double kolmogorov(double x);
double kolmogi(double p);
double kolmogp(double x);
double kolmogc(double x);
double kolmogci(double p);

double lanczos_sum_expg_scaled(double x);

double owens_t(double h, double a);
double gtsam_cephes_lanczos_sum_expg_scaled(double x);

#ifdef __cplusplus
}
Expand Down
Loading
Loading