smt-scope 0.1.7

A library for parsing and analysing SMT traces.
Documentation
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Debug, Clone, Copy)]
pub struct F64Ord(pub f64);
impl std::cmp::PartialEq for F64Ord {
    fn eq(&self, other: &Self) -> bool {
        self.0.total_cmp(&other.0).is_eq()
    }
}
impl std::cmp::Eq for F64Ord {}
impl std::cmp::PartialOrd for F64Ord {
    fn partial_cmp(&self, other: &Self) -> Option<std::cmp::Ordering> {
        Some(self.cmp(other))
    }
}
impl std::cmp::Ord for F64Ord {
    fn cmp(&self, other: &Self) -> std::cmp::Ordering {
        self.0.total_cmp(&other.0)
    }
}

#[cfg(test)]
pub(crate) fn test_parser() -> crate::Z3Parser {
    use crate::LogParser;
    let file = include_str!("../tests/data/z3.log");
    crate::Z3Parser::from_str(file).process_all().unwrap()
}