A common lisp CFFI wrapper for the SciPy version of Cephes special functions.
For many years Cephes was considered the gold standard in cross-platform mathematical libraries, superior to the libm distributions of the time (early 1990's). Since then C99 and later ANSI C specifications have closed the gap, but there are still certain special and statistical functions available in Cephes that are not in the standard C libraries.
The SciPy version differs from standard Cephes in that it has some additional functions, improvements in accuracy, and is better documented. Only double-float versions are provided.
The ASDF file will automatically build the shared library as part of the load operation. If you need to build on a system other than MS Windows or UNIX, you will need to modify the make file to account for the linker command to create a shared library.
As delivered, the Makefile is set-up to work on MS Windows or UNIX, and you can build it manually like so:
If you build this on another platform, please drop a note into a Cephes repository issue with the build instructions so we can update the Makefile and system definition.
The init.lisp
file, where CFFI loads the library, should work out of the box if libmd
on the path somewhere, regardless of platform. If in doubt, place a copy in the same directory as this README.
If you know your way around special functions, the table below should suffice to get started. For a more complete description, see the doc strings in cephes.lisp
. Finally, the C source code itself, referenced in cephes.lisp
, is thorough and complete from a mathematical perspective.
You can also use the scipy.special online documentation.
There is no overlap between the wrapped Cephes functions and the Common Lisp numerical tower. All functions are in the cephes
package.
Exported functions are:
function description airy Airy function bdtr Binomial distribution bdtrc Complement of binomial distribution bdtri Inverse binomial distribution besselpoly Weighted integral of the Bessel function of the first kind beta Beta function lbeta Natural log of beta btdtr incomplete beta integral cbrt cube root chdtr Chi-square distribution chdtrc Complemented Chi-square distribution chdtri Inverse of complemented Chi-square distribution dawsn Dawson's Integral ellik Incomplete elliptic integral of the first kind ellie Incomplete elliptic integral of the second kind ellpk Complete elliptic integral of the first kind ellpe Complete elliptic integral of the second kind jacobian-elliptic jacobian Elliptic Functions exp2 Base 2 exponential function exp10 Base 10 exponential function (Common antilogarithm) expn Exponential integral fdtr F distribution fdtrc Complemented F distribution fdtri Inverse of F distribution fresnl Fresnel integral gamma Gamma function log-gamma Natural logarithm of Gamma function gdtr Gamma distribution function gdtrc Complemented Gamma distribution function gdtri Inverse Gamma distribution function (?) - not documented in src hyp2f1 Gauss hypergeometric function hyperg Confluent hypergeometric function i0 Modified Bessel function of order zero i0e Modified Bessel function of order zero, exponentially scaled i1 Modified Bessel function of order one i1e Modified Bessel function of order one, exponentially scaled igam Regularized lower incomplete gamma function igamc Regularized upper incomplete gamma function igami Inverse of the lower incomplete gamma function igamci Inverse of the upper incomplete gamma function incbet Incomplete beta integral incbi Inverse of incomplete beta integral iv Modified Bessel function of noninteger order j0 Bessel function of order zero y0 Bessel function of the second kind, order zero j1 Bessel function of order one y1 Bessel function of second kind of order one jv Bessel function of noninteger order k0 Modified Bessel function, third kind, order zero k0e Modified Bessel function, third kind, order zero, exponentially scaled k1 Modified Bessel function of the third kind of order one k1e Modified Bessel function of the third kind of order one, exponentially scaled kn Modified Bessel function, third kind, integer order nbdtr Negative binomial distribution nbdtrc Complemented negative binomial distribution nbdtri Inverse complemented negative binomial distribution ndtr Normal distribution function log-ndtr Log of the normal distribution function erf Error function erfc Complementary error function erfinv Inverse of the error function erfcinv Inverse of the complementary error function ndtri Inverse of Normal distribution function pdtr Poisson distribution pdtrc Complemented poisson distribution pdtri Inverse Poisson distribution poch Pochhammer symbol (a)_m = gamma(a + m) / gamma(a) psi Psi (digamma) function rgamma Reciprocal Gamma function shichi Hyperbolic sine and cosine integrals sici Sine and cosine integrals sindg Circular sine of angle in degrees cosdg Circular cosine of angle in degrees sinpi Compute sin(pi * x) cospi Compute cos(pi * x) spence Dilogarithm stdtr Student's t distribution stdtri Functional inverse of Student's t distribution yv Bessel function of noninteger order tandg Circular tangent of angle in degrees cotdg Circular cotangent of argument in degrees log1p log(1 + x) log1pmx log(1 + x) - x expm1 exp(x) - 1 cosm1 cos(x) - 1 lgam1p lgam(x + 1) yn Bessel function of second kind of integer order zeta Riemann zeta function of two arguments zetac Riemann zeta function owens-t Owen's T-FunctionWhen contributing to this repository, please first discuss major changes to the existing code you wish to make via a github issue. Minor changes and major additions are welcome. Please write good commit messages.
CEPHES.CL is available under the Microsoft Public License.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4