source: trunk/essentials/dev-lang/perl/lib/bigfloatpl.t@ 3314

Last change on this file since 3314 was 3181, checked in by bird, 19 years ago

perl 5.8.8

File size: 8.1 KB
Line 
1#!./perl
2
3BEGIN {
4 chdir 't' if -d 't';
5 @INC = '../lib';
6}
7
8require "bigfloat.pl";
9
10$test = 0;
11$| = 1;
12print "1..355\n";
13while (<DATA>) {
14 chop;
15 if (/^&/) {
16 $f = $_;
17 } elsif (/^\$.*/) {
18 eval "$_;";
19 } else {
20 ++$test;
21 @args = split(/:/,$_,99);
22 $ans = pop(@args);
23 $try = "$f('" . join("','", @args) . "');";
24 if (($ans1 = eval($try)) eq $ans) {
25 print "ok $test\n";
26 } else {
27 print "not ok $test\n";
28 print "# '$try' expected: '$ans' got: '$ans1'\n";
29 }
30 }
31}
32__END__
33&fnorm
34abc:NaN
35 1 a:NaN
361bcd2:NaN
3711111b:NaN
38+1z:NaN
39-1z:NaN
400:+0E+0
41+0:+0E+0
42+00:+0E+0
43+0 0 0:+0E+0
44000000 0000000 00000:+0E+0
45-0:+0E+0
46-0000:+0E+0
47+1:+1E+0
48+01:+1E+0
49+001:+1E+0
50+00000100000:+1E+5
51123456789:+123456789E+0
52-1:-1E+0
53-01:-1E+0
54-001:-1E+0
55-123456789:-123456789E+0
56-00000100000:-1E+5
57123.456a:NaN
58123.456:+123456E-3
590.01:+1E-2
60.002:+2E-3
61-0.0003:-3E-4
62-.0000000004:-4E-10
63123456E2:+123456E+2
64123456E-2:+123456E-2
65-123456E2:-123456E+2
66-123456E-2:-123456E-2
671e1:+1E+1
682e-11:+2E-11
69-3e111:-3E+111
70-4e-1111:-4E-1111
71&fneg
72abd:NaN
73+0:+0E+0
74+1:-1E+0
75-1:+1E+0
76+123456789:-123456789E+0
77-123456789:+123456789E+0
78+123.456789:-123456789E-6
79-123456.789:+123456789E-3
80&fabs
81abc:NaN
82+0:+0E+0
83+1:+1E+0
84-1:+1E+0
85+123456789:+123456789E+0
86-123456789:+123456789E+0
87+123.456789:+123456789E-6
88-123456.789:+123456789E-3
89&fround
90$bigfloat::rnd_mode = 'trunc'
91+10123456789:5:+10123E+6
92-10123456789:5:-10123E+6
93+10123456789:9:+101234567E+2
94-10123456789:9:-101234567E+2
95+101234500:6:+101234E+3
96-101234500:6:-101234E+3
97$bigfloat::rnd_mode = 'zero'
98+20123456789:5:+20123E+6
99-20123456789:5:-20123E+6
100+20123456789:9:+201234568E+2
101-20123456789:9:-201234568E+2
102+201234500:6:+201234E+3
103-201234500:6:-201234E+3
104$bigfloat::rnd_mode = '+inf'
105+30123456789:5:+30123E+6
106-30123456789:5:-30123E+6
107+30123456789:9:+301234568E+2
108-30123456789:9:-301234568E+2
109+301234500:6:+301235E+3
110-301234500:6:-301234E+3
111$bigfloat::rnd_mode = '-inf'
112+40123456789:5:+40123E+6
113-40123456789:5:-40123E+6
114+40123456789:9:+401234568E+2
115-40123456789:9:-401234568E+2
116+401234500:6:+401234E+3
117-401234500:6:-401235E+3
118$bigfloat::rnd_mode = 'odd'
119+50123456789:5:+50123E+6
120-50123456789:5:-50123E+6
121+50123456789:9:+501234568E+2
122-50123456789:9:-501234568E+2
123+501234500:6:+501235E+3
124-501234500:6:-501235E+3
125$bigfloat::rnd_mode = 'even'
126+60123456789:5:+60123E+6
127-60123456789:5:-60123E+6
128+60123456789:9:+601234568E+2
129-60123456789:9:-601234568E+2
130+601234500:6:+601234E+3
131-601234500:6:-601234E+3
132&ffround
133$bigfloat::rnd_mode = 'trunc'
134+1.23:-1:+12E-1
135-1.23:-1:-12E-1
136+1.27:-1:+12E-1
137-1.27:-1:-12E-1
138+1.25:-1:+12E-1
139-1.25:-1:-12E-1
140+1.35:-1:+13E-1
141-1.35:-1:-13E-1
142-0.006:-1:+0E+0
143-0.006:-2:+0E+0
144$bigfloat::rnd_mode = 'zero'
145+2.23:-1:+22E-1
146-2.23:-1:-22E-1
147+2.27:-1:+23E-1
148-2.27:-1:-23E-1
149+2.25:-1:+22E-1
150-2.25:-1:-22E-1
151+2.35:-1:+23E-1
152-2.35:-1:-23E-1
153-0.0065:-1:+0E+0
154-0.0065:-2:-1E-2
155-0.0065:-3:-6E-3
156-0.0065:-4:-65E-4
157-0.0065:-5:-65E-4
158$bigfloat::rnd_mode = '+inf'
159+3.23:-1:+32E-1
160-3.23:-1:-32E-1
161+3.27:-1:+33E-1
162-3.27:-1:-33E-1
163+3.25:-1:+33E-1
164-3.25:-1:-32E-1
165+3.35:-1:+34E-1
166-3.35:-1:-33E-1
167-0.0065:-1:+0E+0
168-0.0065:-2:-1E-2
169-0.0065:-3:-6E-3
170-0.0065:-4:-65E-4
171-0.0065:-5:-65E-4
172$bigfloat::rnd_mode = '-inf'
173+4.23:-1:+42E-1
174-4.23:-1:-42E-1
175+4.27:-1:+43E-1
176-4.27:-1:-43E-1
177+4.25:-1:+42E-1
178-4.25:-1:-43E-1
179+4.35:-1:+43E-1
180-4.35:-1:-44E-1
181-0.0065:-1:+0E+0
182-0.0065:-2:-1E-2
183-0.0065:-3:-7E-3
184-0.0065:-4:-65E-4
185-0.0065:-5:-65E-4
186$bigfloat::rnd_mode = 'odd'
187+5.23:-1:+52E-1
188-5.23:-1:-52E-1
189+5.27:-1:+53E-1
190-5.27:-1:-53E-1
191+5.25:-1:+53E-1
192-5.25:-1:-53E-1
193+5.35:-1:+53E-1
194-5.35:-1:-53E-1
195-0.0065:-1:+0E+0
196-0.0065:-2:-1E-2
197-0.0065:-3:-7E-3
198-0.0065:-4:-65E-4
199-0.0065:-5:-65E-4
200$bigfloat::rnd_mode = 'even'
201+6.23:-1:+62E-1
202-6.23:-1:-62E-1
203+6.27:-1:+63E-1
204-6.27:-1:-63E-1
205+6.25:-1:+62E-1
206-6.25:-1:-62E-1
207+6.35:-1:+64E-1
208-6.35:-1:-64E-1
209-0.0065:-1:+0E+0
210-0.0065:-2:-1E-2
211-0.0065:-3:-6E-3