1 个不稳定版本

0.1.0 2024 年 4 月 20 日

#968 in 算法

MIT/Apache

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