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 无标准库
67,517每月下载量
在515个Crates中使用(通过hexasphere)
82KB
2K SLoC
常量线性代数
在编译前进行数学运算并将结果嵌入到二进制文件中。浮点代码来自compiler_builtins
和libm
,通过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