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
use crate::proof::comparator::ComparatorKind;
use crate::spec::types::{ChainSpec, OpSpec, Strictness};
pub use super::suite::ConformanceSuite;
use crate::spec::minimums::{MIN_BOUNDARY_VALUES, MIN_EQUIVALENCE_CLASSES};

/// Route a spec into the certificate track it is allowed to occupy.
#[inline]
pub(crate) fn certificate_track_for_op(op: &OpSpec) -> CertificateTrack {
    match op.strictness {
        Strictness::Approximate { .. } => CertificateTrack::Approximate,
        Strictness::Strict if op.signature.output.is_float_family() => CertificateTrack::Float,
        Strictness::Strict => CertificateTrack::Integer,
    }
}