Cython API for Special Functions¶
Scalar, typed versions of many of the functions in scipy.special
can be accessed directly from Cython; the complete list is given
below. Functions are overloaded using Cython fused types so their
names match their ufunc counterpart. The module follows the following
conventions:
- If a function’s ufunc counterpart returns multiple values, then the function returns its outputs via pointers in the final arguments
- If a function’s ufunc counterpart returns a single value, then the function’s output is returned directly.
The module is usable from Cython via:
cimport scipy.special.cython_special
Error Handling¶
Functions can indicate an error by returning nan
; however they
cannot emit warnings like their counterparts in scipy.special
.
Available Functions¶
-
double nctdtrit(double, double, double)
-
void shichi(double, double *, double *) void shichi(double complex, double complex *, double complex *)
-
double ellipe(double)
-
double spence(double) double complex spence(double complex)
ndtr
:double ndtr(double) double complex ndtr(double complex)
-
double hyp2f1(double, double, double, double) double complex hyp2f1(double, double, double, double complex)
-
double complex wrightomega(double complex)
-
double gammainccinv(double, double)
-
double nbdtri(long, long, double) double nbdtri(double, double, double)
-
double complex sph_harm(long, long, double, double) double complex sph_harm(double, double, double, double)
y0
:double y0(double)
-
double complex eval_sh_jacobi(double, double, double, double complex) double eval_sh_jacobi(long, double, double, double) double eval_sh_jacobi(double, double, double, double)
-
void obl_ang1_cv(double, double, double, double, double, double *, double *)
-
double xlog1py(double, double) double complex xlog1py(double complex, double complex)
-
double chdtriv(double, double)
-
double dawsn(double) double complex dawsn(double complex)
psi
:double complex psi(double complex) double psi(double)
-
double nctdtridf(double, double, double)
-
double complex hankel1e(double, double complex)
-
double ncfdtr(double, double, double, double)
sici
:void sici(double, double *, double *) void sici(double complex, double complex *, double complex *)
-
void ellipj(double, double, double *, double *, double *, double *)
jve
:double jve(double, double) double complex jve(double, double complex)
-
double ellipeinc(double, double)
-
double pseudo_huber(double, double)
i0e
:double i0e(double)
-
double stdtridf(double, double)
-
void mathieu_sem(double, double, double, double *, double *)
-
double exprel(double)
-
double chndtridf(double, double, double)
-
double pdtrc(long, double) double pdtrc(double, double)
bei
:double bei(double)
beip
:double beip(double)
-
double gammaincc(double, double)
yv
:double complex yv(double, double complex) double yv(double, double)
lpmv
:double lpmv(double, double, double)
-
double mathieu_b(double, double)
-
double nctdtrinc(double, double, double)
-
double betainc(double, double, double)
-
void mathieu_modcem2(double, double, double, double *, double *)
-
void iti0k0(double, double *, double *)
-
double boxcox(double, double)
kerp
:double kerp(double)
-
double tandg(double)
-
double complex hankel2(double, double complex)
-
double complex hankel1(double, double complex)
-
double chdtr(double, double)
-
double radian(double, double, double)
-
double betaincinv(double, double, double)
-
double sindg(double)
-
double complex eval_jacobi(double, double, double, double complex) double eval_jacobi(long, double, double, double) double eval_jacobi(double, double, double, double)
-
double btdtrib(double, double, double)
expi
:double expi(double) double complex expi(double complex)
-
void obl_rad2_cv(double, double, double, double, double, double *, double *)
-
double complex eval_genlaguerre(double, double, double complex) double eval_genlaguerre(long, double, double) double eval_genlaguerre(double, double, double)
-
double kolmogorov(double)
j0
:double j0(double)
j1
:double j1(double)
-
void pro_ang1(double, double, double, double, double *, double *)
y1
:double y1(double)
entr
:double entr(double)
-
void airye(double, double *, double *, double *, double *) void airye(double complex, double complex *, double complex *, double complex *, double complex *)
-
double complex loggamma(double complex) double loggamma(double)
-
double struve(double, double)
-
double erfcx(double) double complex erfcx(double complex)
-
double inv_boxcox1p(double, double)
-
double pdtri(long, double) double pdtri(double, double)
-
double complex rgamma(double complex) double rgamma(double)
poch
:double poch(double, double)
-
void kelvin(double, double complex *, double complex *, double complex *, double complex *)
-
double mathieu_a(double, double)
-
double ndtri(double)
-
void it2i0k0(double, double *, double *)
-
double zetac(double)
-
double kolmogi(double)
-
double gammaln(double)
-
double modstruve(double, double)
kei
:double kei(double)
-
double huber(double, double)
jv
:double complex jv(double, double complex) double jv(double, double)
-
double chndtrix(double, double, double)
pdtr
:double pdtr(long, double) double pdtr(double, double)
-
double gdtrc(double, double, double)
-
double fdtrc(double, double, double)
-
double btdtria(double, double, double)
-
double it2struve0(double)
-
double fdtri(double, double, double)
ker
:double ker(double)
-
double cotdg(double)
-
double stdtrit(double, double)
-
double bdtrik(double, double, double)
yve
:double complex yve(double, double complex) double yve(double, double)
-
double bdtrin(double, double, double)
-
void pro_rad1_cv(double, double, double, double, double, double *, double *)
gdtr
:double gdtr(double, double, double)
-
double round(double)
-
void obl_rad1_cv(double, double, double, double, double, double *, double *)
-
double btdtri(double, double, double)
erfc
:double erfc(double) double complex erfc(double complex)
-
void mathieu_modcem1(double, double, double, double *, double *)
-
double pro_cv(double, double, double)
erfi
:double erfi(double) double complex erfi(double complex)
-
double eval_chebys(double, double) double complex eval_chebys(double, double complex) double eval_chebys(long, double)
-
void hyp2f0(double, double, double, long, double *, double *) void hyp2f0(double, double, double, double, double *, double *)
-
double complex eval_chebyu(double, double complex) double eval_chebyu(long, double) double eval_chebyu(double, double)
-
double eval_chebyt(double, double) double complex eval_chebyt(double, double complex) double eval_chebyt(long, double)
pbwa
:void pbwa(double, double, double *, double *)
-
double eval_hermitenorm(long, double)
-
double itmodstruve0(double)
cbrt
:double cbrt(double)
-
double eval_chebyc(double, double) double complex eval_chebyc(double, double complex) double eval_chebyc(long, double)
wofz
:double complex wofz(double complex)
-
double cosm1(double)
-
double rel_entr(double, double)
-
double ellipkinc(double, double)
-
double ncfdtri(double, double, double, double)
exp2
:double exp2(double)
exp1
:double exp1(double) double complex exp1(double complex)
-
double tklmbda(double, double)
-
void modfresnelm(double, double complex *, double complex *)
-
void modfresnelp(double, double complex *, double complex *)
-
double btdtr(double, double, double)
-
double eval_sh_chebyt(double, double) double eval_sh_chebyt(long, double) double complex eval_sh_chebyt(double, double complex)
-
double complex eval_sh_chebyu(double, double complex) double eval_sh_chebyu(long, double) double eval_sh_chebyu(double, double)
k0e
:double k0e(double)
-
double cosdg(double)
airy
:void airy(double complex, double complex *, double complex *, double complex *, double complex *) void airy(double, double *, double *, double *, double *)
-
void pro_rad2_cv(double, double, double, double, double, double *, double *)
-
void fresnel(double, double *, double *) void fresnel(double complex, double complex *, double complex *)
-
double exp10(double)
-
void itairy(double, double *, double *, double *, double *)
bdtr
:double bdtr(long, long, double) double bdtr(double, double, double)
berp
:double berp(double)
-
double complex hankel2e(double, double complex)
kn
:double kn(long, double) double kn(double, double)
-
double expm1(double) double complex expm1(double complex)
-
double eval_sh_legendre(long, double) double complex eval_sh_legendre(double, double complex) double eval_sh_legendre(double, double)
-
double eval_hermite(long, double)
-
void mathieu_cem(double, double, double, double *, double *)
-
double nbdtrc(long, long, double) double nbdtrc(double, double, double)
-
double ncfdtrinc(double, double, double, double)
-
double gammainc(double, double)
-
double binom(double, double)
iv
:double complex iv(double, double complex) double iv(double, double)
-
double stdtr(double, double)
-
double complex eval_laguerre(double, double complex) double eval_laguerre(long, double) double eval_laguerre(double, double)
-
double inv_boxcox(double, double)
-
double eval_gegenbauer(double, double, double) double complex eval_gegenbauer(double, double, double complex) double eval_gegenbauer(long, double, double)
-
double boxcox1p(double, double)
erf
:double erf(double) double complex erf(double complex)
-
void itj0y0(double, double *, double *)
expn
:double expn(long, double) double expn(double, double)
k1e
:double k1e(double)
ber
:double ber(double)
-
double log1p(double) double complex log1p(double complex)
-
double gdtrix(double, double, double)
-
double smirnovi(long, double) double smirnovi(double, double)
ive
:double ive(double, double) double complex ive(double, double complex)
-
double nrdtrimn(double, double, double)
-
double pdtrik(double, double)
-
double smirnov(long, double) double smirnov(double, double)
-
double hyp1f1(double, double, double) double complex hyp1f1(double, double, double complex)
-
double complex eval_legendre(double, double complex) double eval_legendre(long, double) double eval_legendre(double, double)
-
long double expit(long double) float expit(float) double expit(double)
fdtr
:double fdtr(double, double, double)
-
double nbdtr(long, long, double) double nbdtr(double, double, double)
-
double gammasgn(double)
-
double betaln(double, double)
-
double chndtr(double, double, double)
pbdv
:void pbdv(double, double, double *, double *)
-
void pro_rad2(double, double, double, double, double *, double *)
-
void pro_rad1(double, double, double, double, double *, double *)
-
double ellipkm1(double)
-
double itstruve0(double)
-
double fdtridfd(double, double, double)
-
double nbdtrik(double, double, double)
k1
:double k1(double)
k0
:double k0(double)
-
double nbdtrin(double, double, double)
-
double obl_cv(double, double, double)
-
double kl_div(double, double)
i1e
:double i1e(double)
-
double owens_t(double, double)
kv
:double kv(double, double) double complex kv(double, double complex)
-
double bdtri(long, long, double) double bdtri(double, double, double)
-
double log_ndtr(double) double complex log_ndtr(double complex)
kve
:double complex kve(double, double complex) double kve(double, double)
-
void obl_ang1(double, double, double, double, double *, double *)
i1
:double i1(double)
i0
:double i0(double)
-
double bdtrc(long, long, double) double bdtrc(double, double, double)
-
void obl_rad2(double, double, double, double, double *, double *)
-
void obl_rad1(double, double, double, double, double *, double *)
beta
:double beta(double, double)
-
double nrdtrisd(double, double, double)
-
double nctdtr(double, double, double)
-
double complex xlogy(double complex, double complex) double xlogy(double, double)
-
double gammaincinv(double, double)
-
double chndtrinc(double, double, double)
yn
:double yn(long, double) double yn(double, double)
-
double hyp0f1(double, double) double complex hyp0f1(double, double complex)
-
double hyperu(double, double, double)
agm
:double agm(double, double)
-
double logit(double) long double logit(long double) float logit(float)
-
void pro_ang1_cv(double, double, double, double, double, double *, double *)
-
void it2j0y0(double, double *, double *)
-
double besselpoly(double, double, double)
pbvv
:void pbvv(double, double, double *, double *)
-
void hyp1f2(double, double, double, double, double *, double *)
-
double gdtrib(double, double, double)
-
double ncfdtridfd(double, double, double, double)
-
double gdtria(double, double, double)
-
double complex gamma(double complex) double gamma(double)
-
double chdtrc(double, double)
-
double ncfdtridfn(double, double, double, double)
-
void mathieu_modsem1(double, double, double, double *, double *)
-
void mathieu_modsem2(double, double, double, double *, double *)
keip
:double keip(double)
-
double chdtri(double, double)
-
void hyp3f0(double, double, double, double, double *, double *)