|
1 | 1 | /*
|
2 |
| - * Copyright (c) 2003, 2022, Oracle and/or its affiliates. All rights reserved. |
| 2 | + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. |
3 | 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
4 | 4 | *
|
5 | 5 | * This code is free software; you can redistribute it and/or modify it
|
|
24 | 24 | /*
|
25 | 25 | * @test
|
26 | 26 | * @bug 4851625 4900189 4939441
|
| 27 | + * @build Tests |
| 28 | + * @build HyperbolicTests |
| 29 | + * @run main HyperbolicTests |
27 | 30 | * @summary Tests for {Math, StrictMath}.{sinh, cosh, tanh}
|
28 | 31 | */
|
29 | 32 |
|
| 33 | +import static java.lang.Double.longBitsToDouble; |
| 34 | + |
30 | 35 | public class HyperbolicTests {
|
31 | 36 | private HyperbolicTests(){}
|
32 | 37 |
|
@@ -248,19 +253,12 @@ static int testSinh() {
|
248 | 253 | 3.0);
|
249 | 254 | }
|
250 | 255 |
|
| 256 | + for(double nan : Tests.NaNs) { |
| 257 | + failures += testSinhCaseWithUlpDiff(nan, NaNd, 0); |
| 258 | + } |
| 259 | + |
251 | 260 | double [][] specialTestCases = {
|
252 | 261 | {0.0, 0.0},
|
253 |
| - {NaNd, NaNd}, |
254 |
| - {Double.longBitsToDouble(0x7FF0000000000001L), NaNd}, |
255 |
| - {Double.longBitsToDouble(0xFFF0000000000001L), NaNd}, |
256 |
| - {Double.longBitsToDouble(0x7FF8555555555555L), NaNd}, |
257 |
| - {Double.longBitsToDouble(0xFFF8555555555555L), NaNd}, |
258 |
| - {Double.longBitsToDouble(0x7FFFFFFFFFFFFFFFL), NaNd}, |
259 |
| - {Double.longBitsToDouble(0xFFFFFFFFFFFFFFFFL), NaNd}, |
260 |
| - {Double.longBitsToDouble(0x7FFDeadBeef00000L), NaNd}, |
261 |
| - {Double.longBitsToDouble(0xFFFDeadBeef00000L), NaNd}, |
262 |
| - {Double.longBitsToDouble(0x7FFCafeBabe00000L), NaNd}, |
263 |
| - {Double.longBitsToDouble(0xFFFCafeBabe00000L), NaNd}, |
264 | 262 | {Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY}
|
265 | 263 | };
|
266 | 264 |
|
@@ -590,19 +588,12 @@ static int testCosh() {
|
590 | 588 | 3.0);
|
591 | 589 | }
|
592 | 590 |
|
| 591 | + for(double nan : Tests.NaNs) { |
| 592 | + failures += testCoshCaseWithUlpDiff(nan, NaNd, 0); |
| 593 | + } |
| 594 | + |
593 | 595 | double [][] specialTestCases = {
|
594 | 596 | {0.0, 1.0},
|
595 |
| - {NaNd, NaNd}, |
596 |
| - {Double.longBitsToDouble(0x7FF0000000000001L), NaNd}, |
597 |
| - {Double.longBitsToDouble(0xFFF0000000000001L), NaNd}, |
598 |
| - {Double.longBitsToDouble(0x7FF8555555555555L), NaNd}, |
599 |
| - {Double.longBitsToDouble(0xFFF8555555555555L), NaNd}, |
600 |
| - {Double.longBitsToDouble(0x7FFFFFFFFFFFFFFFL), NaNd}, |
601 |
| - {Double.longBitsToDouble(0xFFFFFFFFFFFFFFFFL), NaNd}, |
602 |
| - {Double.longBitsToDouble(0x7FFDeadBeef00000L), NaNd}, |
603 |
| - {Double.longBitsToDouble(0xFFFDeadBeef00000L), NaNd}, |
604 |
| - {Double.longBitsToDouble(0x7FFCafeBabe00000L), NaNd}, |
605 |
| - {Double.longBitsToDouble(0xFFFCafeBabe00000L), NaNd}, |
606 | 597 | {Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY}
|
607 | 598 | };
|
608 | 599 |
|
@@ -938,19 +929,12 @@ static int testTanh() {
|
938 | 929 | 3.0);
|
939 | 930 | }
|
940 | 931 |
|
| 932 | + for(double nan : Tests.NaNs) { |
| 933 | + failures += testTanhCaseWithUlpDiff(nan, NaNd, 0); |
| 934 | + } |
| 935 | + |
941 | 936 | double [][] specialTestCases = {
|
942 | 937 | {0.0, 0.0},
|
943 |
| - {NaNd, NaNd}, |
944 |
| - {Double.longBitsToDouble(0x7FF0000000000001L), NaNd}, |
945 |
| - {Double.longBitsToDouble(0xFFF0000000000001L), NaNd}, |
946 |
| - {Double.longBitsToDouble(0x7FF8555555555555L), NaNd}, |
947 |
| - {Double.longBitsToDouble(0xFFF8555555555555L), NaNd}, |
948 |
| - {Double.longBitsToDouble(0x7FFFFFFFFFFFFFFFL), NaNd}, |
949 |
| - {Double.longBitsToDouble(0xFFFFFFFFFFFFFFFFL), NaNd}, |
950 |
| - {Double.longBitsToDouble(0x7FFDeadBeef00000L), NaNd}, |
951 |
| - {Double.longBitsToDouble(0xFFFDeadBeef00000L), NaNd}, |
952 |
| - {Double.longBitsToDouble(0x7FFCafeBabe00000L), NaNd}, |
953 |
| - {Double.longBitsToDouble(0xFFFCafeBabe00000L), NaNd}, |
954 | 938 | {Double.POSITIVE_INFINITY, 1.0}
|
955 | 939 | };
|
956 | 940 |
|
|
0 commit comments