#double #single #float

special-fun

Special functions for Rust by binding to the Cephes library

7 releases

Uses old Rust 2015

0.3.0 Dec 17, 2023
0.2.0 Mar 15, 2019
0.1.6 Oct 19, 2017
0.1.5 Jan 31, 2017
0.1.2 Jan 11, 2016

#63 in Science

Download history 142/week @ 2023-12-01 159/week @ 2023-12-08 151/week @ 2023-12-15 102/week @ 2023-12-22 95/week @ 2023-12-29 190/week @ 2024-01-05 175/week @ 2024-01-12 253/week @ 2024-01-19 276/week @ 2024-01-26 213/week @ 2024-02-02 221/week @ 2024-02-09 249/week @ 2024-02-16 271/week @ 2024-02-23 202/week @ 2024-03-01 143/week @ 2024-03-08 188/week @ 2024-03-15

882 downloads per month
Used in 4 crates

BSD-2-Clause

1MB
38K SLoC

C 35K SLoC // 0.3% comments Assembly 2K SLoC // 0.2% comments Rust 601 SLoC // 0.0% comments Batch 247 SLoC

special-fun

Build 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.

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.

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

No runtime deps