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