Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

Python interface for the Cephes library

Project description

Ncephes

Travis AppVeyor Documentation Status

This package provides a python interface for the Cephes library. It also supports Numba and its nopython mode.

Usage

from ncephes import cprob
print(cprob.incbet(1., 3., 0.3))

prints 0.657.

You can also call them inside a numba function

from ncephes import cprob
from numba import jit

@jit
def numba_incbet(a, b, x):
    return cprob.incbet(a, b, x)

print(numba_incbet(1., 3., 0.3))

and with nopython mode and nogil enabled

from ncephes import cprob
from numba import jit

incbet = cprob.incbet

@jit(nogil=True, nopython=True)
def numba_incbet(a, b, x):
    return incbet(a, b, x)

print(numba_incbet(1., 3., 0.3))

One can also statically link the compiled Cephes libraries ncprob and ncellf. Please, have a peek at the examples/prj_name for a minimalistic example.

Install

The recommended way of installing it is via conda

conda install -c conda-forge ncephes

An alternative way would be via pip

pip install ncephes

Running the tests

After installation, you can test it

python -c "import ncephes; ncephes.test()"

as long as you have pytest.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details

Project details


Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page