24 releases (7 breaking)
|0.7.1||Jun 8, 2023|
|0.6.9||May 1, 2023|
|0.6.7||Mar 7, 2023|
|0.3.0||Dec 28, 2022|
|0.2.0||Nov 15, 2022|
#571 in Math
1,439 downloads per month
Used in precise-calc
Astro-float (astronomically large floating point numbers) is a library that implements arbitrary precision floating point numbers with correct rounding purely in Rust.
The library implements the basic operations and functions. It uses classical algorithms such as Karatsuba, Toom-Cook, Schönhage-Strassen algorithm, and others.
The library can work without the standard library provided there is a memory allocator.
Information about the latest changes is available in Release notes
Below is an example of using the library. For more information please refer to the library documentation: https://docs.rs/astro-float/latest/astro_float/
Calculate Pi with 1024 bit precision rounded to even.
use astro_float::Consts; use astro_float::RoundingMode; use astro_float::ctx::Context; use astro_float::expr; // Create a context with precision 1024, and rounding to even. let mut ctx = Context::new(1024, RoundingMode::ToEven, Consts::new().expect("Contants cache initialized")); // Compute pi: pi = 6*arctan(1/sqrt(3)) let pi = expr!(6 * atan(1 / sqrt(3)), &mut ctx); // Use library's constant value for verifying the result. let pi_lib = ctx.const_pi(); // Compare computed constant with library's constant assert_eq!(pi.cmp(&pi_lib), Some(0));
Benchmark can be found here: https://github.com/stencillogic/bigfloat-bench.
Issues regarding bugs or new features can be opened here: https://github.com/stencillogic/astro-float/issues
For more information please check CONTRIBUTING.md