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 }