Skip to content

Special functions for Rust by binding to the Cephes library.

Notifications You must be signed in to change notification settings

martinforsythe/special-fun

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

special-fun

Status

Special functions for Rust by binding to the Cephes library.

The following families of functions currently have Rust bindings for f32 and f64:

  • Bessel functions
  • Beta functions
  • Error functions
  • Gamma functions
  • Hypergeometric functions
  • Zeta functions
  • Normal probability distribution

Cephes implements a lot more functions that are not yet exposed in the Rust interface.

Installing

Cargo is used to build the included Cephes library (which is written in C) and to create a Rust library that statically links to Cephes.

By default, the C code is compiled with the following flags:

-O3 -Wall -fno-builtin -fPIC

You can overwrite this by defining the CFLAGS environment variable. Note that -fPIC has to be included, because it is required by Rust.

License

The bindings and the Cephes library use the BSD license. The author of Cephes (Stephen Moshier) has agreed to this.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be licensed as above, without any additional terms or conditions.

Related Projects

  • special: Special functions implemented in pure Rust. Has less functions implemented and only supports f64.

About

Special functions for Rust by binding to the Cephes library.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 69.9%
  • HTML 16.3%
  • Makefile 7.6%
  • Rust 3.6%
  • Assembly 2.3%
  • Batchfile 0.3%