TVexponentials.3.TEXT [plain text]
! <scp> 01/08/02 reworked cases depending on Extended80 format.
! TEST VECTORS FOR Exp2X
! ----------------------
!
! Some easy cases:
3R d 0 0 OK 1
3R d 1 0 OK 1p1
3R d 2 0 OK 1p2
3R d 3 0 OK 1p3
3R d 4 0 OK 1p4
3R d 9 0 OK 1p9
3R d -1 0 OK 1m1
3R d -2 0 OK 1m2
3R d -3 0 OK 1m3
3R d -4 0 OK 1m4
3R d 31 0 OK 1p31
3R d 78 0 OK 1p78
3R d -9 0 OK 1m9
3R d -15 0 OK 1m7m8
! Infinities:
3R d -H 0 OK 0
3R d H 0 OK H
! NaNs:
! Commented out signaling NaN cases <JPO, 5/13/93>
3R d Q 0 OK Q
3R d -Q 0 OK -Q
!3R e S 0 i Q
!3R e -S 0 i -Q
! Very large, but finite:
3R d Hd1 0 ox H
3R d Hd2 0 ox H
3R d Hd3 0 ox H
3R d Hd4 0 ox H
3R d Hd9 0 ox H
3R d Hm1 0 ox H
3R d Hm2 0 ox H
3R d Hm3 0 ox H
3R d Hm9 0 ox H
3R d 1p9p5 0 ox H
3R d 1p9p9 0 ox H
! Huge negative exponents:
3R d -Hd1 0 ux 0
3R d -Hd2 0 ux 0
3R d -Hd3 0 ux 0
3R d -Hd4 0 ux 0
3R d -Hd9 0 ux 0
3R d -Hm1 0 ux 0
3R d -Hm2 0 ux 0
3R d -Hm3 0 ux 0
3R d -Hm4 0 ux 0
3R d -Hm9 0 ux 0
3R d -1p5p5 0 u Em2
3R d -1p9p9 0 ux 0
! Very large but not too large:
3R d 1023 0 OK Hm1
3R d 1022 0 OK Hm2
3R d 1021 0 OK Hm3
3R d 5p2 0 OK 4p9p9
! Very large negatives, but not too large:
3R d -1022 0 OK E
3R d -1074 0 u 0i1
3R d -1074i1 0 ux 0i1
3R d -1074d1 0 ux 0i1
3R d -1073 0 u 0i2
3R d -1073i1 0 ux 0i2
3R d -1073d1 0 ux 0i2
3R d -59 0 OK 1m7u1
3R d -54 0 OK 1m2u1
3R d -53 0 OK 1m1u1
3R d -52 0 OK 1u1
3R d -51 0 OK 1u2
3R d -50 0 OK 1u4
3R d -1021 0 OK Ep1
3R d -1020 0 OK Ep2
3R d -1017 0 OK Ep5
3R d -1023 0 u Em1
3R d -1024 0 u Em2
3R d -1029 0 u Em7
3R d -1p4 0 OK 1m8m8
3R d -1p5 0 OK 1m32
3R d -1p6 0 OK 1m64
!
! End of Exp2X tests.
!
!
! TEST VECTORS FOR Exp1X
! ----------------------
!
! The easy case:
3U d 0 0 OK 0
! Infinities:
3U d -H 0 OK -1
3U d H 0 OK H
! NaNs:
! Commented out signaling NaN cases <JPO, 5/13/93>
3U d Q 0 OK Q
3U d -Q 0 OK -Q
!3U e S 0 i Q
!3U e -S 0 i -Q
! Very large, but finite:
3U d Hd1 0 ox H
3U d Hd2 0 ox H
3U d Hd3 0 ox H
3U d Hd4 0 ox H
3U d Hd9 0 ox H
3U d Hm1 0 ox H
3U d Hm2 0 ox H
3U d Hm3 0 ox H
3U d Hm9 0 ox H
3U d 1p14 0 ox H
3U d 1p18 0 ox H
! Huge negative exponents:
3U d -Hd1 0 x -1
3U d -Hd2 0 x -1
3U d -Hd3 0 x -1
3U d -Hd4 0 x -1
3U d -Hd9 0 x -1
3U d -Hm1 0 x -1
3U d -Hm2 0 x -1
3U d -Hm3 0 x -1
3U d -Hm4 0 x -1
3U d -Hm9 0 x -1
3U d -1p18 0 x -1
! Numbers close to 0. e^x - 1 = x + x^2/2! + x^3/3! + x^4/4! + ...
!
! For values of x near zero, the first two terms of the
! expansion show up in the result. The remaining terms
! are 'tiny' and affect only rounding.
3U d 1m54 0 x 1m54
3U d -1m54 0 x -1m54
3U d 1m53 0 x 1m53
3U d 2m53 0 x 2m53
3U d 3m53 0 x 3i1m53
3U d 4m53 0 x 1i1m51
3U d 5m53 0 x 5i2m53
3U d -1m53 0 x -1m53
3U d -2m53 0 x -1d1m52
3U d -3m53 0 x -3d1m53
3U d -4m53 0 x -1d2m51
3U d -5m53 0 x -5d2m53
! Numbers so close to zero that only the leading term shows up:
3U d 1m55 0 x 1m55
3U d -1m55 0 x -1m55
3U d 1m62 0 x 1m62
3U d -1m62 0 x -1m62
3U <0=d E 0 x E+1
! <scp> 3U >e E 0 x Ei1
3U d E 0 x E
! <scp> Disabled <0e and >0e variants, since function is computed round-nearest always.
3U d -E 0 x -E+1
3U d 0i1 0 ux 0i1
3U d -0i1 0 ux -0i1
3U d 0i3 0 ux 0i3
3U d -0i3 0 ux -0i3
!
! Test Vectors for ExpX
!
! The easy case:
3T d 0 0 OK 1
! Infinities:
3T d -H 0 OK 0
3T d H 0 OK H
! NaNs:
! Commented out signaling NaN cases <JPO, 5/13/93>
3T d Q 0 OK Q
3T d -Q 0 OK -Q
!3T e S 0 i S
!3T e -S 0 i -S
! Very large, but finite:
3T d Hd1 0 ox H
3T d Hd2 0 ox H
3T d Hd3 0 ox H
3T d Hd4 0 ox H
3T d Hd9 0 ox H
3T d Hm1 0 ox H
3T d Hm2 0 ox H
3T d Hm3 0 ox H
3T d Hm9 0 ox H
3T d 1p14 0 ox H
3T d 1p18 0 ox H
! Huge negative exponents:
3T d -Hd1 0 ux 0
3T d -Hd2 0 ux 0
3T d -Hd3 0 ux 0
3T d -Hd4 0 ux 0
3T d -Hd9 0 ux 0
3T d -Hm1 0 ux 0
3T d -Hm2 0 ux 0
3T d -Hm3 0 ux 0
3T d -Hm4 0 ux 0
3T d -Hm5 0 ux 0
3T d -1p18 0 ux 0
! Numbers close to 0. e^x = 1 + x + x^2/2! + x^3/3! + x^4/4! + ...
!
! For values of x slightly larger than zero, all N significant bits of the
! argument are to the right of the binary point. The result, however, has
! a leading '1' and therefore only N-1 bits to the right of the binary point.
! The last bit of the argument is significant only in rounding. In general,
! k * 2^(-N) ------> 1i[k/2] + tiny. When k is even, the seriestail is less
! than 1/2 ulp. When k is odd, the series tail is greater than 1/2 ulp.
!
! For values of x slightly smaller than zero, both the argument and the
! result have N bits to the right of the binary point, so:
! -k * 2^(-N) --------> 1dk + tiny.
!
3T d 1m54 0 x 1
3T d 1m53 0 x 1
3T d 1m52 0 x 1i1
3T d 1m51 0 x 1i2
3T d 3m53 0 x 1i2
3T d 5m53 0 x 1i3
3T d 6m53 0 x 1i3
3T d 7m53 0 x 1i4
3T d 8m53 0 x 1i4
3T d -1m53 0 x 1d1
3T d -1m52 0 x 1d2
3T d -3m53 0 x 1d3
!
! Numbers too close to zero to affect the leading '1' of the series:
!
3T d 1m55 0 x 1
3T d -1m55 0 x 1
3T d 1m62 0 x 1
3T d -1m62 0 x 1
3T d E 0 x 1
3T d -E 0 x 1
3T d 0i1 0 x 1
3T d 0d1 0 x 1
3T d 0i3 0 x 1
3T d 0d3 0 x 1