7 个版本
0.2.4 | 2020年10月7日 |
---|---|
0.2.3 | 2020年7月30日 |
0.1.1 | 2020年7月19日 |
#1240 in 数学
105 每月下载量
用于 8 个包 (4 直接)
17KB
384 行
多项式
多项式算术的最小实现,不依赖于标准库。(即可以与 no_std
一起构建)
文档
详细文档可在此处找到:此处。
用法
Polynomial
是一个系数向量。要创建一个新的多项式
let mut p = Polynomial::new();
您可以向这个多项式添加系数,就像向向量中添加元素一样
// 3x^2 + 2x + 1
p.push(1);
p.push(2);
p.push(3);
或者,您可以使用 poly!
宏创建一个向量,类似于向量
let p = poly![1, 2, 3];
您可以将多项式乘以或除以一个常数
let new = p * 2;
assert_eq!(new, poly![2, 4, 6]);
assert_eq!(new / 2, poly![1, 2, 3]);
您可以乘以另一个多项式
// (x + 1)(x - 1) = x^2 - 1
let a = poly![1, 1]; // x + 1
let b = poly![1, -1]; // x - 1
assert_eq!(a * b, poly![-1, 0, 1]);
当然,您可以在某个值上评估多项式
let p = poly![1, 1]; // x + 1
assert_eq!(p.eval(7).unwrap(), 8); // 1*7 + 1
依赖项
~0.4–1MB
~22K SLoC