diff options
| author | Igor null <m1el.2027@gmail.com> | 2019-05-13 17:42:18 +0300 |
|---|---|---|
| committer | Igor null <m1el.2027@gmail.com> | 2019-05-13 17:42:18 +0300 |
| commit | d58376453078ccb67e602a69eaa33724bcd9b434 (patch) | |
| tree | 56a11212ece147973133121471a096e3d1485ba3 /library/compiler-builtins | |
| parent | f8e5ff50c53f3bb15fb3ea4d1e8e8ecc21436b48 (diff) | |
| download | rust-d58376453078ccb67e602a69eaa33724bcd9b434.tar.gz rust-d58376453078ccb67e602a69eaa33724bcd9b434.zip | |
added tests near pi for rem_pio2
Diffstat (limited to 'library/compiler-builtins')
| -rw-r--r-- | library/compiler-builtins/libm/src/math/rem_pio2.rs | 8 | ||||
| -rw-r--r-- | library/compiler-builtins/libm/src/math/sin.rs | 7 |
2 files changed, 15 insertions, 0 deletions
diff --git a/library/compiler-builtins/libm/src/math/rem_pio2.rs b/library/compiler-builtins/libm/src/math/rem_pio2.rs index 186333e570d..e46e6623e44 100644 --- a/library/compiler-builtins/libm/src/math/rem_pio2.rs +++ b/library/compiler-builtins/libm/src/math/rem_pio2.rs @@ -185,3 +185,11 @@ pub(crate) fn rem_pio2(x: f64) -> (i32, f64, f64) { } (n, ty[0], ty[1]) } + +#[test] +fn test_near_pi() { + assert_eq!(rem_pio2(3.141592025756836), (2, -6.278329573009626e-7, -2.1125998133974653e-23)); + assert_eq!(rem_pio2(3.141592033207416), (2, -6.20382377148128e-7, -2.1125998133974653e-23)); + assert_eq!(rem_pio2(3.141592144966125), (2, -5.086236681942706e-7, -2.1125998133974653e-23)); + assert_eq!(rem_pio2(3.141592979431152), (2, 3.2584135866119817e-7, -2.1125998133974653e-23)); +} diff --git a/library/compiler-builtins/libm/src/math/sin.rs b/library/compiler-builtins/libm/src/math/sin.rs index b7307441646..51aed88a8db 100644 --- a/library/compiler-builtins/libm/src/math/sin.rs +++ b/library/compiler-builtins/libm/src/math/sin.rs @@ -77,3 +77,10 @@ pub fn sin(x: f64) -> f64 { _ => -k_cos(y0, y1), } } + +#[test] +fn test_near_pi() { + let x = f64::from_bits(0x400921fb000FD5DD); // 3.141592026217707 + let sx = f64::from_bits(0x3ea50d15ced1a4a2); // 6.273720864039205e-7 + assert_eq!(sin(x), sx); +} |
