6 个版本 (3 个重大更新)

0.4.0 2021 年 3 月 6 日
0.3.0 2020 年 6 月 20 日
0.2.2 2019 年 5 月 12 日
0.2.1 2019 年 4 月 28 日
0.1.0 2018 年 12 月 6 日

#1348算法

Download history 3997/week @ 2024-03-14 5026/week @ 2024-03-21 4135/week @ 2024-03-28 4887/week @ 2024-04-04 4981/week @ 2024-04-11 4949/week @ 2024-04-18 4222/week @ 2024-04-25 4224/week @ 2024-05-02 4677/week @ 2024-05-09 4237/week @ 2024-05-16 4411/week @ 2024-05-23 3555/week @ 2024-05-30 4554/week @ 2024-06-06 3961/week @ 2024-06-13 4390/week @ 2024-06-20 2945/week @ 2024-06-27

16,479 每月下载量
用于 89 crates (8 个直接使用)

MIT 许可证

12KB
267

Cauchy

docs.rs Rust

实数和复数的 trait


lib.rs:

泛型算法的标量 trait

示例

实数/复数的基礎算術

use cauchy::Scalar;

fn add_int<A: Scalar>(a: A) -> A {
    a + A::from(1).unwrap()  // A::from is inhereted from num_traits::NumCast
}

fn add_float<A: Scalar>(a: A) -> A {
    a + A::from(1.0).unwrap()
}

fn add_real<A: Scalar>(a: A) -> A::Real {
    a.re() + A::real(1.0)
}

fn add_complex<A: Scalar>(a: A) -> A::Complex {
    a.as_c() + A::complex(1.0, 1.0)  // upcast to complex if real
}

随机数生成

use cauchy::Scalar;
use rand::prelude::*;

fn random_algorithm<A: Scalar>() {
    let mut rng = StdRng::from_entropy();
    let a = A::rand(&mut rng);
}

依赖

~0.6–1MB
~18K SLoC