quick_two_sum

Function quick_two_sum 

Source
fn quick_two_sum(a: f64, b: f64) -> (f64, f64)
Examples found in repository?
crates/competitive/src/num/quad_double.rs (line 16)
15    fn renormalize(a0: f64, a1: f64, a2: f64, a3: f64, a4: f64) -> Self {
16        let (s, t4) = quick_two_sum(a3, a4);
17        let (s, t3) = quick_two_sum(a2, s);
18        let (s, t2) = quick_two_sum(a1, s);
19        let (mut s, t1) = quick_two_sum(a0, s);
20        let mut k = 0;
21        let mut b = [s, t1, t2, t3];
22        for &t in [t1, t2, t3, t4].iter() {
23            let (s_, e) = quick_two_sum(s, t);
24            s = s_;
25            if e != 0. {
26                b[k] = s;
27                s = e;
28                k += 1;
29            }
30        }
31        Self(b[0], b[1], b[2], b[3])
32    }