#rational-numbers #rational #integer #ratio #i64

已删除 bens_naive_rational_number

以有理数结构简单直观实现为中心的crate

0.1.5 2021年1月22日
0.1.4 2021年1月22日

#14 in #rational

MIT许可证

24KB
369

这个crate是关于有理数对象的简单直观实现。它提供了从整数和str输入的构造函数,但不支持浮点数。如果您已经在处理浮点数,现在假装非常精确也没有意义。

此外,+、-、/、*运算符及其赋值对应物(+=、-=、/=、*=)也被重载。

在严格意义上,它不是一个有理数crate,因为它允许创建分母为零的分数,这肯定会破坏一些东西。如果您对此感到不满,请联系OSHA。

分子和分母以i64存储,负数则重新分配给分子。(3/-2变成-3/2)。

示例

use bens_naive_rational_number::Rational;


// Calculating the price of an item
let orig_price = Rational::from_str("13.67").unwrap();
let tax = Rational::from_str("0.09").unwrap();
let discount = Rational::from_str("25/100").unwrap();
let one = Rational::from_integer(1).unwrap();

let final_price = orig_price * (one - discount) * (one + tax);
assert_eq!(final_price, Rational::from_str("447009/40000").unwrap());

无运行时依赖