use verus_builtin_macros::verus;
#[allow(unused_imports)]
use verus_builtin::*;
#[allow(unused_imports)]
use vstd::prelude::*;
verus! {
pub const MAX_MAG: i64 = 4611686018427387903;
pub const MAX_DEC_PLACES: u8 = 18;
#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
pub enum Dir {
Down,
Up,
Nearest,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
#[non_exhaustive]
pub struct Rat {
pub num: i64,
pub den: i64,
}
impl Rat {
pub fn numerator(&self) -> (r: i64)
ensures r == self.num,
{
self.num
}
pub fn denominator(&self) -> (r: i64)
ensures r == self.den,
{
self.den
}
}
}