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
pub(crate) fn builtin_nondeterministic_add(input: &[u8]) -> Vec<u8> {
    use super::{read_binary, write_u32};
    static CALLS: std::sync::atomic::AtomicU32 = std::sync::atomic::AtomicU32::new(0);
    let (a, b) = read_binary(input);
    write_u32(
        a.wrapping_add(b)
            .wrapping_add(CALLS.fetch_add(1, std::sync::atomic::Ordering::Relaxed)),
    )
}