gnu bc. necessary to compile the distribution
This commit is contained in:
parent
85eccea790
commit
f625cfdcdf
4
gnu/usr.bin/bc-1.02/Test/sqrt.b
Normal file
4
gnu/usr.bin/bc-1.02/Test/sqrt.b
Normal file
@ -0,0 +1,4 @@
|
||||
scale = 20
|
||||
for (a=1; a<500; a++) r=sqrt(a)
|
||||
r
|
||||
quit
|
47
gnu/usr.bin/bc-1.02/Test/testfn.b
Normal file
47
gnu/usr.bin/bc-1.02/Test/testfn.b
Normal file
@ -0,0 +1,47 @@
|
||||
/* This function "t" tests the function "f" to see if computing at
|
||||
two different scales has much effect on the accuracy.
|
||||
test from f(x) to f(y) incrementing the index by d. f(i) is
|
||||
computed at two scales, scale s and then scale t, where t>s.
|
||||
the result from scale t is divided by 1 at scale s and the
|
||||
results are compared. If they are different, the function is
|
||||
said to have failed. It will then print out the value of i
|
||||
(called index) and the two original values val1 (scale s) and
|
||||
val2 (scale t) */
|
||||
|
||||
define t (x,y,d,s,t) {
|
||||
auto u, v, w, i, b, c;
|
||||
|
||||
if (s >= t) {
|
||||
"Bad Scales. Try again.
|
||||
"; return;
|
||||
}
|
||||
|
||||
for (i = x; i < y; i += d) {
|
||||
scale = s;
|
||||
u = f(i);
|
||||
scale = t;
|
||||
v = f(i);
|
||||
scale = s;
|
||||
w = v / 1;
|
||||
b += 1;
|
||||
if (u != w) {
|
||||
c += 1;
|
||||
"
|
||||
Failed:
|
||||
"
|
||||
" index = "; i;
|
||||
" val1 = "; u;
|
||||
" val2 = "; v;
|
||||
"
|
||||
"
|
||||
}
|
||||
}
|
||||
|
||||
"
|
||||
Total tests: "; b;
|
||||
"
|
||||
Total failures: "; c;
|
||||
"
|
||||
Percent failed: "; scale = 2; c*100/b;
|
||||
|
||||
}
|
14
gnu/usr.bin/bc-1.02/Test/timetest
Normal file
14
gnu/usr.bin/bc-1.02/Test/timetest
Normal file
@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Time the functions.
|
||||
#
|
||||
BC=../bc
|
||||
SYSBC=/usr/bin/bc
|
||||
for file in exp.b ln.b sine.b atan.b jn.b mul.b div.b raise.b sqrt.b
|
||||
do
|
||||
for prog in $BC $SYSBC
|
||||
do
|
||||
echo Timing $file with $prog
|
||||
time $prog -l $file
|
||||
done
|
||||
done
|
4
gnu/usr.bin/bc/Test/sqrt.b
Normal file
4
gnu/usr.bin/bc/Test/sqrt.b
Normal file
@ -0,0 +1,4 @@
|
||||
scale = 20
|
||||
for (a=1; a<500; a++) r=sqrt(a)
|
||||
r
|
||||
quit
|
47
gnu/usr.bin/bc/Test/testfn.b
Normal file
47
gnu/usr.bin/bc/Test/testfn.b
Normal file
@ -0,0 +1,47 @@
|
||||
/* This function "t" tests the function "f" to see if computing at
|
||||
two different scales has much effect on the accuracy.
|
||||
test from f(x) to f(y) incrementing the index by d. f(i) is
|
||||
computed at two scales, scale s and then scale t, where t>s.
|
||||
the result from scale t is divided by 1 at scale s and the
|
||||
results are compared. If they are different, the function is
|
||||
said to have failed. It will then print out the value of i
|
||||
(called index) and the two original values val1 (scale s) and
|
||||
val2 (scale t) */
|
||||
|
||||
define t (x,y,d,s,t) {
|
||||
auto u, v, w, i, b, c;
|
||||
|
||||
if (s >= t) {
|
||||
"Bad Scales. Try again.
|
||||
"; return;
|
||||
}
|
||||
|
||||
for (i = x; i < y; i += d) {
|
||||
scale = s;
|
||||
u = f(i);
|
||||
scale = t;
|
||||
v = f(i);
|
||||
scale = s;
|
||||
w = v / 1;
|
||||
b += 1;
|
||||
if (u != w) {
|
||||
c += 1;
|
||||
"
|
||||
Failed:
|
||||
"
|
||||
" index = "; i;
|
||||
" val1 = "; u;
|
||||
" val2 = "; v;
|
||||
"
|
||||
"
|
||||
}
|
||||
}
|
||||
|
||||
"
|
||||
Total tests: "; b;
|
||||
"
|
||||
Total failures: "; c;
|
||||
"
|
||||
Percent failed: "; scale = 2; c*100/b;
|
||||
|
||||
}
|
14
gnu/usr.bin/bc/Test/timetest
Normal file
14
gnu/usr.bin/bc/Test/timetest
Normal file
@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Time the functions.
|
||||
#
|
||||
BC=../bc
|
||||
SYSBC=/usr/bin/bc
|
||||
for file in exp.b ln.b sine.b atan.b jn.b mul.b div.b raise.b sqrt.b
|
||||
do
|
||||
for prog in $BC $SYSBC
|
||||
do
|
||||
echo Timing $file with $prog
|
||||
time $prog -l $file
|
||||
done
|
||||
done
|
Loading…
Reference in New Issue
Block a user