3 unstable releases

0.2.0 Jul 27, 2024
0.1.1 Jan 2, 2022
0.1.0 Jan 2, 2022

#1047 in Math

GPL-2.0-or-later

1MB
15K SLoC

C 15K SLoC // 0.4% comments Rust 317 SLoC // 0.0% comments RPM Specfile 30 SLoC

Contains (obscure autoconf code, 12KB) crlibm/configure.ac

Crlibm

This crate is a binding to CRlibm, an efficient and proved correctly-rounded mathematical library. For the user convenience, this module embeds the relevant C code from the CRlibm Git repository.

Note that the C code of CRlibm is mature but superseded by MetaLibm (repository) and will therefore not receive updates.

Example

use crlibm::*;
let x = sinpi_rd(2.);
let y = sinpi_rn(2.);
let z = sinpi_ru(2.);

Features

Be default, the crate uses portable implementations of the logarithm. The feature log_double_extended enables implementations optimized for processors with double-extended hardware (if in addition the correct platform is detected). These versions may not be faster.

Dependencies

~1.3–1.8MB
~44K SLoC