1 个不稳定版本
0.1.0 | 2024 年 4 月 20 日 |
---|
#968 in 算法
17KB
361 行
纯 Rust 中的模运算库
此库提供了一组用于纯 Rust 中模运算的特性和实现。它设计得灵活且易于使用,注重性能。该库旨在在各种环境中使用,包括密码学、错误检测和纠正以及其他需要模运算的应用。
功能
- 模运算特性,包括加法、减法、乘法、除法和指数运算
- 为
num_traits
包支持的 所有类型提供实现
限制
- 该库依赖于泛型实现以适用于所有整数和可能的任意大整数。如果您与其他也实现相同特性的库一起使用此库,可能会出现名称冲突。
- 操作数必须是相同的有符号类型。未来版本可能会取消此限制。
使用方法
将以下内容添加到您的 Cargo.toml
[dependencies]
modular_arithmetic = "0.1"
示例
use modular_arithmetic::{ModAdd, ModMul, ModPow};
fn main() {
let a = 5i32;
let b = 7i32;
let m = 11u32;
let sum = a.mod_add(b, m);
let difference = a.mod_sub(b, m);
let product = a.mod_mul(b, m);
let quotient = a.mod_div(b, m);
let power = a.mod_pow(b, m);
println!("{} + {} mod {} = {}", a, b, m, sum);
println!("{} - {} mod {} = {}", a, b, m, difference);
println!("{} * {} mod {} = {}", a, b, m, product);
println!("{} / {} mod {} = {}", a, b, m, quotient);
println!("{} ^ {} mod {} = {}", a, b, m, power);
}
依赖项
~155KB