#统计 #线程 #数字 #数值 #操作 #聚合器 #基本

bin+lib granite_reckoner

一个简单的聚合器,允许在指定的线程数上对 Vec 执行基本统计操作。适用于所有 Rust 内置的数值类型。

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 次下载

MIT/Apache

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