9 个版本
0.3.3 | 2024 年 5 月 9 日 |
---|---|
0.3.2 | 2024 年 5 月 9 日 |
0.2.3 | 2024 年 5 月 7 日 |
0.1.3 | 2024 年 5 月 7 日 |
#287 in 并发
每月 25 次下载
23KB
592 行
Granite Reckoner
一个简单的聚合器,允许在指定的线程数上对 Vec 执行基本统计操作。使用 checked_*
和 partial_cmp
来处理溢出和非比较输入。适用于所有 Rust 内置的数值类型。
用法
use granite_reckoner::Column;
fn main() {
let container: Vec<u32> = vec![123, 1, 1, 2];
let column = Column::new();
let column = column.add_data(container);
column.print();
// Default number of threads from constants::NUMBER_OF_NODES
let _result = column.sum();
let _result = column.sum_x2(); // sums x^2
let _result = column.moment_i(); // = average
let _result = column.moment_ii();
let _result = column.variance(); // sample variance
let _result = column.stddev(); // sample standard deviation
let _result = column.count();
let _result = column.min();
let _result = column.max();
// Specified number of threads within range (1..=constants::NUMBER_OF_NODES)
let _result = column.sum_t(2);
let _result = column.sum_x2_t(4);
let _result = column.moment_i_t(2);
let _result = column.moment_ii_t(6);
let _result = column.variance_t(4);
let _result = column.stddev_t(6);
let _result = column.count_t(6);
let _result = column.min_t(4);
let _result = column.max_t(6);
}
依赖
~8KB