Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 79d2063

Browse files
committedNov 7, 2024
Separate f128 % operation to deal with missing fmodl symbol
1 parent 8022523 commit 79d2063

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed
 

‎std/src/f128/tests.rs

+20-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22
#![cfg(reliable_f128)]
33

44
use crate::f128::consts;
5-
use crate::num::{FpCategory as Fp, *};
5+
use crate::num::FpCategory as Fp;
6+
#[cfg(reliable_f128_math)]
7+
use crate::ops::Rem;
8+
use crate::ops::{Add, Div, Mul, Sub};
69

710
// Note these tolerances make sense around zero, but not for more extreme exponents.
811

@@ -53,7 +56,22 @@ macro_rules! assert_f128_biteq {
5356

5457
#[test]
5558
fn test_num_f128() {
56-
test_num(10f128, 2f128);
59+
// FIXME(f16_f128): replace with a `test_num` call once the required `fmodl`/`fmodf128`
60+
// function is available on all platforms.
61+
let ten = 10f128;
62+
let two = 2f128;
63+
assert_eq!(ten.add(two), ten + two);
64+
assert_eq!(ten.sub(two), ten - two);
65+
assert_eq!(ten.mul(two), ten * two);
66+
assert_eq!(ten.div(two), ten / two);
67+
}
68+
69+
#[test]
70+
#[cfg(reliable_f128_math)]
71+
fn test_num_f128_rem() {
72+
let ten = 10f128;
73+
let two = 2f128;
74+
assert_eq!(ten.rem(two), ten % two);
5775
}
5876

5977
#[test]

0 commit comments

Comments
 (0)
Failed to load comments.