-
Notifications
You must be signed in to change notification settings - Fork 768
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1572 from borglab/chi-squared-quantile
- Loading branch information
Showing
86 changed files
with
17,376 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# ############################################################################## | ||
# Cephes library | ||
|
||
# For both system or bundle version, a cmake target "cephes-gtsam-if" is defined | ||
# (interface library) | ||
|
||
|
||
add_subdirectory(${GTSAM_SOURCE_DIR}/gtsam/3rdparty/cephes) | ||
|
||
list(APPEND GTSAM_EXPORTED_TARGETS cephes-gtsam) | ||
|
||
add_library(cephes-gtsam-if INTERFACE) | ||
target_link_libraries(cephes-gtsam-if INTERFACE cephes-gtsam) | ||
|
||
list(APPEND GTSAM_EXPORTED_TARGETS cephes-gtsam-if) | ||
install( | ||
TARGETS cephes-gtsam-if | ||
EXPORT GTSAM-exports | ||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
cmake_minimum_required(VERSION 3.12) | ||
enable_testing() | ||
project( | ||
cephes | ||
DESCRIPTION "Cephes Mathematical Function Library" | ||
VERSION 1.0.0 | ||
LANGUAGES C) | ||
|
||
set(CEPHES_HEADER_FILES | ||
cephes.h | ||
cephes/cephes_names.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) | ||
|
||
# Add header files | ||
install(FILES ${CEPHES_HEADER_FILES} DESTINATION include/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) | ||
|
||
# Add library source files | ||
add_library(cephes-gtsam SHARED ${CEPHES_SOURCES}) | ||
|
||
# Add include directory (aka headers) | ||
target_include_directories( | ||
cephes-gtsam BEFORE PUBLIC $<INSTALL_INTERFACE:include/gtsam/3rdparty/cephes/> | ||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>) | ||
|
||
set_target_properties( | ||
cephes-gtsam | ||
PROPERTIES VERSION ${PROJECT_VERSION} | ||
SOVERSION ${PROJECT_VERSION_MAJOR} | ||
C_STANDARD 99) | ||
|
||
if(WIN32) | ||
set_target_properties( | ||
cephes-gtsam | ||
PROPERTIES PREFIX "" | ||
COMPILE_FLAGS /w | ||
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/../../../bin") | ||
endif() | ||
|
||
if(APPLE) | ||
set_target_properties(cephes-gtsam PROPERTIES INSTALL_NAME_DIR | ||
"${CMAKE_INSTALL_PREFIX}/lib") | ||
endif() | ||
|
||
install( | ||
TARGETS cephes-gtsam | ||
EXPORT GTSAM-exports | ||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | ||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} | ||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,163 @@ | ||
#ifndef CEPHES_H | ||
#define CEPHES_H | ||
|
||
#include "cephes/cephes_names.h" | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
extern int airy(double x, double *ai, double *aip, double *bi, double *bip); | ||
|
||
extern double bdtrc(double k, int n, double p); | ||
extern double bdtr(double k, int n, double p); | ||
extern double bdtri(double k, int n, double y); | ||
|
||
extern double besselpoly(double a, double lambda, double nu); | ||
|
||
extern double beta(double a, double b); | ||
extern double lbeta(double a, double b); | ||
|
||
extern double btdtr(double a, double b, double x); | ||
|
||
extern double cbrt(double x); | ||
extern double chbevl(double x, double array[], int n); | ||
extern double chdtrc(double df, double x); | ||
extern double chdtr(double df, double x); | ||
extern double chdtri(double df, double y); | ||
extern double dawsn(double xx); | ||
|
||
extern double ellie(double phi, double m); | ||
extern double ellik(double phi, double m); | ||
extern double ellpe(double x); | ||
|
||
extern int ellpj(double u, double m, double *sn, double *cn, double *dn, double *ph); | ||
extern double ellpk(double x); | ||
extern double exp10(double x); | ||
extern double exp2(double x); | ||
|
||
extern double expn(int n, double x); | ||
|
||
extern double fdtrc(double a, double b, double x); | ||
extern double fdtr(double a, double b, double x); | ||
extern double fdtri(double a, double b, double y); | ||
|
||
extern int fresnl(double xxa, double *ssa, double *cca); | ||
extern double Gamma(double x); | ||
extern double lgam(double x); | ||
extern double lgam_sgn(double x, int *sign); | ||
extern double gammasgn(double x); | ||
|
||
extern double gdtr(double a, double b, double x); | ||
extern double gdtrc(double a, double b, double x); | ||
extern double gdtri(double a, double b, double y); | ||
|
||
extern double hyp2f1(double a, double b, double c, double x); | ||
extern double hyperg(double a, double b, double x); | ||
extern double threef0(double a, double b, double c, double x, double *err); | ||
|
||
extern double i0(double x); | ||
extern double i0e(double x); | ||
extern double i1(double x); | ||
extern double i1e(double x); | ||
extern double igamc(double a, double x); | ||
extern double igam(double a, double x); | ||
extern double igam_fac(double a, double x); | ||
extern double igamci(double a, double q); | ||
extern double igami(double a, double p); | ||
|
||
extern double incbet(double aa, double bb, double xx); | ||
extern double incbi(double aa, double bb, double yy0); | ||
|
||
extern double iv(double v, double x); | ||
extern double j0(double x); | ||
extern double y0(double x); | ||
extern double j1(double x); | ||
extern double y1(double x); | ||
|
||
extern double jn(int n, double x); | ||
extern double jv(double n, double x); | ||
extern double k0(double x); | ||
extern double k0e(double x); | ||
extern double k1(double x); | ||
extern double k1e(double x); | ||
extern double kn(int nn, double x); | ||
|
||
extern double nbdtrc(int k, int n, double p); | ||
extern double nbdtr(int k, int n, double p); | ||
extern double nbdtri(int k, int n, double p); | ||
|
||
extern double ndtr(double a); | ||
extern double log_ndtr(double a); | ||
extern double erfc(double a); | ||
extern double erf(double x); | ||
extern double erfinv(double y); | ||
extern double erfcinv(double y); | ||
extern double ndtri(double y0); | ||
|
||
extern double pdtrc(double k, double m); | ||
extern double pdtr(double k, double m); | ||
extern double pdtri(int k, double y); | ||
|
||
extern double poch(double x, double m); | ||
|
||
extern double psi(double x); | ||
|
||
extern double rgamma(double x); | ||
extern double round(double x); | ||
|
||
extern int shichi(double x, double *si, double *ci); | ||
extern int sici(double x, double *si, double *ci); | ||
|
||
extern double radian(double d, double m, double s); | ||
extern double sindg(double x); | ||
extern double sinpi(double x); | ||
extern double cosdg(double x); | ||
extern double cospi(double x); | ||
|
||
extern double spence(double x); | ||
|
||
extern double stdtr(int k, double t); | ||
extern double stdtri(int k, double p); | ||
|
||
extern double struve_h(double v, double x); | ||
extern double struve_l(double v, double x); | ||
extern double struve_power_series(double v, double x, int is_h, double *err); | ||
extern double struve_asymp_large_z(double v, double z, int is_h, double *err); | ||
extern double struve_bessel_series(double v, double z, int is_h, double *err); | ||
|
||
extern double yv(double v, double x); | ||
|
||
extern double tandg(double x); | ||
extern double cotdg(double x); | ||
|
||
extern double log1p(double x); | ||
extern double log1pmx(double x); | ||
extern double expm1(double x); | ||
extern double cosm1(double x); | ||
extern double lgam1p(double x); | ||
|
||
extern double yn(int n, double x); | ||
extern double zeta(double x, double q); | ||
extern double zetac(double x); | ||
|
||
extern double smirnov(int n, double d); | ||
extern double smirnovi(int n, double p); | ||
extern double smirnovp(int n, double d); | ||
extern double smirnovc(int n, double d); | ||
extern double smirnovci(int n, double p); | ||
extern double kolmogorov(double x); | ||
extern double kolmogi(double p); | ||
extern double kolmogp(double x); | ||
extern double kolmogc(double x); | ||
extern double kolmogci(double p); | ||
|
||
extern double lanczos_sum_expg_scaled(double x); | ||
|
||
extern double owens_t(double h, double a); | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif /* CEPHES_H */ |
Oops, something went wrong.