| 278 | #endif |
| 279 | |
| 280 | struct double_double { |
| 281 | double a; |
| 282 | double b; |
| 283 | |
| 284 | constexpr explicit double_double(double a_val = 0, double b_val = 0) |
| 285 | : a(a_val), b(b_val) {} |
| 286 | |
| 287 | operator double() const { return a + b; } |
| 288 | auto operator-() const -> double_double { return double_double(-a, -b); } |
| 289 | }; |
| 290 | |
| 291 | auto format_as(double_double d) -> double { return d; } |
| 292 |