10个不稳定版本 (3个破坏性更改)
0.3.0 | 2022年4月15日 |
---|---|
0.3.0-alpha | 2022年4月11日 |
0.2.0 | 2022年4月8日 |
0.2.0-alpha | 2022年3月3日 |
0.0.3 | 2022年1月18日 |
#1827 in 数学
每月38次下载
在 2 crate 中使用
175KB
4K SLoC
num-irrational
此crate提供以下类别内无理数的表示:
如你所见,对无理数的支持不仅限于实数域,它还支持复数域中的几个数值类型(通过启用complex
特性)。它基于库 num
创建。
lib.rs
:
此crate提供以下类别内无理数的表示:
它基于库 num
创建。
示例
use num_irrational::{FromSqrt, QuadraticSurd};
let sq2 = QuadraticSurd::from_sqrt(2i32).unwrap();
println!("Square root of 2: {}", sq2); // √2
use num_irrational::Computable;
let sq2_approx = sq2.approximated(&100).value();
println!("Rational approximation with denominator under 100: {}", sq2_approx); // 99/70
use core::convert::TryFrom;
use num_irrational::ContinuedFraction;
// let sq2_fraction = ContinuedFraction::from(sq2); // only if feature `complex` is disabled
let sq2_fraction = ContinuedFraction::try_from(sq2).unwrap();
println!("Continued Fraction: {}", sq2_fraction); // [1; (2)]
可选特性
complex
:启用对[QuadraticSurd]的负平方根基数支持。请注意,此标志可能会更改[QuadraticSurd]上运算符的行为。num-complex
:启用将[QuadraticSurd]转换为num_complex::Complex
。您可能需要同时启用complex
特性。num-bigint
:启用使用大整数作为内部表示。
依赖关系
~620KB
~14K SLoC