vyre-conform 0.1.0

Conformance suite for vyre backends — proves byte-identical output to CPU reference
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/// Canonical boundary values shared by all law checkers.
///
/// These values sit on semantic edges where GPU implementations commonly
/// fail: zero, one, bit boundaries, sign bit, maximum. Every law checker
/// must test at least these values in addition to its exhaustive/witnessed
/// coverage.
pub(crate) const BOUNDARY_VALUES: &[u32] = &[
    0,           // additive identity, absorbing element
    1,           // multiplicative identity
    2,           // smallest non-trivial
    31,          // shift mask boundary (31 & 31 = 31)
    32,          // shift mask wrap (32 & 31 = 0)
    0x0001_0000, // 16-bit boundary
    0x7FFF_FFFF, // max positive i32
    0x8000_0000, // min negative i32 / sign bit
    0xFFFF_FFFE, // max - 1
    u32::MAX,    // maximum value
];