Skip to main content

rival/interval/
constants.rs

1use super::value::{ErrorFlags, Ival};
2use crate::mpfr::{mpfr_e, mpfr_pi};
3use rug::float::Round;
4
5impl Ival {
6    /// Set this interval to contain π.
7    pub fn set_pi(&mut self) {
8        mpfr_pi(self.lo.as_float_mut(), Round::Down);
9        mpfr_pi(self.hi.as_float_mut(), Round::Up);
10        self.lo.immovable = false;
11        self.hi.immovable = false;
12        self.err = ErrorFlags::none();
13    }
14
15    /// Set this interval to contain *e*.
16    pub fn set_e(&mut self) {
17        mpfr_e(self.lo.as_float_mut(), Round::Down);
18        mpfr_e(self.hi.as_float_mut(), Round::Up);
19        self.lo.immovable = false;
20        self.hi.immovable = false;
21        self.err = ErrorFlags::none();
22    }
23}