vyre 0.4.0

GPU compute intermediate representation with a standard operation library
Documentation
1
2
3
4
5
6
7
8
9
10
use super::HISTOGRAM_BUCKETS;
use crate::ir::Expr;

pub fn probability_bucket() -> Expr {
    let scaled = Expr::div(
        Expr::mul(Expr::var("count"), Expr::u32(HISTOGRAM_BUCKETS - 1)),
        Expr::buf_len("input"),
    );
    Expr::select(Expr::eq(scaled.clone(), Expr::u32(0)), Expr::u32(1), scaled)
}