enum FpResult {
Normal(Repr),
Overflow,
Underflow,
NaN,
Infinite,
}
impl Context {
fn sin(&self, repr: Repr) -> FpResult {
todo!()
}
}
trait ContextOps {
fn context(&self) -> &Context;
fn repr(&self) -> &Repr;
#[inline]
fn sin(&self) -> FpResult {
self.context().sin(self.repr())
}
}