#statistics #compile #band #modified #data-depth

mbd

Rust实现的修改版带深度,也可编译为WASM

4个版本

0.1.1 2021年5月29日
0.1.0 2021年5月29日
0.0.4 2021年4月26日
0.0.1 2021年4月22日

#621 in WebAssembly

Apache-2.0

18KB
177 代码行

mbd-wasm

GitHub Actions npm version Crates.io

修改版带深度的Rust实现,也可编译为WASM。

使用方法

该库可以作为简单的rust crate使用,通过在您的 Cargo.toml 中添加 mbd = "*" 来使用。然后,我们可以按照以下方式计算函数 [2.0, 3.0, 4.0] 的修改版带深度

let data = vec![vec![4.0, 5.0, 6.0], vec![1.0, 2.0, 3.0]];
let mbd = ModifiedBandDepth::from_samples(&data);
assert_eq!(mbd.query(&[2.0, 3.0, 4.0]), 1.0);

同样,您也可以从JavaScript调用相同的功能

mbdWasm = (await require('[email protected]'))();
const data = [[4.0, 5.0, 6.0], [1.0, 2.0, 3.0]]
const num_samples = data.length;
const num_timepoints = data[0].length;
const mbd = mbdWasm.ModifiedBandDepth.from_data_matrix(num_samples, num_timepoints, data.flat());
console.log(mbd.query([2.0, 3.0, 4.0])); // prints 1.0

依赖

~1.2–2.1MB
~30K SLoC