5个版本

0.1.4 2024年3月15日
0.1.3 2023年5月1日
0.1.2 2023年4月13日
0.1.1 2023年4月8日
0.1.0 2023年2月18日

#42 in 无标准库

Download history 15297/week @ 2024-04-12 16208/week @ 2024-04-19 13473/week @ 2024-04-26 12884/week @ 2024-05-03 11768/week @ 2024-05-10 12250/week @ 2024-05-17 14003/week @ 2024-05-24 14169/week @ 2024-05-31 13616/week @ 2024-06-07 13886/week @ 2024-06-14 12360/week @ 2024-06-21 12910/week @ 2024-06-28 16114/week @ 2024-07-05 16302/week @ 2024-07-12 16395/week @ 2024-07-19 16690/week @ 2024-07-26

67,517每月下载量
515个Crates中使用(通过hexasphere

MIT/Apache

82KB
2K SLoC

常量线性代数

Crates.io

在编译前进行数学运算并将结果嵌入到二进制文件中。浮点代码来自compiler_builtinslibm,通过const_soft_float crate。使用const泛型检查输入形状,且为no_std

如果您的用例不受支持,请提交问题或创建一个测试PR。

const START: CMatrix<2, 2> = CMatrix::new([
    [4.0, 1.0], 
    [2.0, 3.0]
]);

const ADD: CMatrix<2, 2> = CMatrix::new([
    [0.0, 6.0], 
    [0.0, 3.0]]
);

const EXPECTED: [[f64; 2]; 2] = [
    [0.6, -0.7], 
    [-0.2, 0.4]
];

const RESULT: [[f64; 2]; 2] = START
    .add(ADD)
    .pinv(f64::EPSILON)
    .finish();

for i in 0..2 {
    for j in 0..2 {
        assert!(float_equal(RESULT[i][j], EXPECTED[i][j], 1e-5));
    }
}

依赖项

~165KB