I just found three bugs in the OpenBSD 4.0 "bc" program.

0) some "evil" numbers make bc hang:
[EMAIL PROTECTED]:~$ bc -l
ibase=4
obase=10
scale=100
l(1.031)
.023311001002311221102233202
(immediate reply)
l(1.03)
[ - HANG at least for 11 minutes - ]
  PID USERNAME PRI NICE  SIZE   RES STATE    WAIT     TIME    CPU COMMAND
   8025 clock     64    0 1528K 1916K run      -       11:37 98.97% dc

1) The same input number produces five diametrally different results:
[EMAIL PROTECTED]:~$ bc -l
ibase=11
obase=10
scale=100
l(0.2)
-2.336816A4A3A1303948A3495818A111140A67A8A9A80556A4767262A3229825592\
A03587166864722462495814249A8938256309517495755642A7
l(0.20)
-1.7954400220602A460838195740444338436003009806803667168750A9A241142\
72587A144639908A7016A5942696269369157A34282060693446
l(0.200)
-1.78902828358631380505724195179A512235778A74463975A17543454945A4876\
417795730427237570460376500227690133A16196A1AA80A242
l(0.2000)
-1.783175444431A171175806A94595310A605471291620215436052394A85515172\
7203678147326AA621928022938A7195425A3694533825144951
l(0.20000)
-1.783096A58955850599713A23010283880184908158785094820A1187923799A64\
94181A000871494461384AA1578162954A793643812592151238

2) There are multiple points in which the logarithm function returns an
unplausibly large value which further depends heavily on the current precision
setting, while it still gives plausible results if you move
only a tiny little bit either side:

[EMAIL PROTECTED]:~$ bc -l
ibase=16
obase=10
scale=10
l(0.1000001)
-2.C5C85FDF473DE3
l(0.0FFFF)
-2.C5D2DC7106EFA6
l(0.1)
-FFFFFFFFFFFFFFFF
scale=100
l(0.10000000000000000000000000000000000000000000000000001)
-2.C5C85FDF473DE6AF278ECE600FCBDABD03CD0C99CA62D8B628345D6E2EABE8AF9\
EE1D881B7AEB26156554BED2BE86C43B4BAB8D704E085109D5CECA445A6E094FA5B2\
858892BA3146B2F6844C5F0E1FAE7AA6F0EC4D980EC95BE83B1D95FDD2DCB3A1EC67\
595232BD77E6
l(0.1)
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
l(0.0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)
-2.C5C85FDF473DE6AF278ECE600FCBDABD03CD0C99CA62D91A9736982097B12EA8C\
1A305AED9D7ED0C9C0E87FF29D6EABBDB73C47C018C2F18D5D80C5B354E83BAA5623\
5573ECD2A69783D2118428CBD2150BD9CAA2EEE7FB6B9C190BDF4B80392A9F465BF3\
C5DE964480E4
l(0.01)
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
l(0.02)
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
l(0.04)
-4.9AEC6EED554560B752B6B15C16985147147F67CED2EFC8741E30F4100F816B94B\
17816BD8D4082E663865E0162F86B41631120C2085F16D7DC7BC4201728B6B3C167C\
514546488F3B2D5361D86C18FDF7B367582559E37D28B0DDA4E90CE3DDE533D9AD91\
B02842C74998
l(0.008)                                                                        
                          
-6.E862A663FFE81112FC120A0A21E479EA9EBF1BB63C67ACAE2D496E181742215F0\
A34221C53E0C45995498D021474A0E21499B1230C8EA243CAB9A63022BD120DA21BA\
79E7E96CD6D8C3FD12C4A2257CF38D1B043806D53BBD094C775D9355CCD7CDC6845A\
883C642AEE68
l(0.004)
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
l(0.002)
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
l(0.001)
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
l(0.0008)
-9.35D8DDDAAA8AC16EA56D62B82D30A28E28FECF9DA5DF90E83C61E8201F02D7296\
2F02D7B1A8105CCC70CBC02C5F0D682C622418410BE2DAFB8F788402E516D6782CF8\
A28A8C911E765AA6C3B0D831FBEF66CEB04AB3C6FA5161BB49D219C7BBCA67B35B23\
6050858E9334
l(0.0004)
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
l(0.00008)
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
l(0.00008000000000000000000000000000000000000000000000000000000001)
-B.C8939774EEC71468681EED18432261A35027758D9C2419062ADE8D14465A9CEA6\
33FD8274CA6761DAEEA82AFFA9BCC1FC0199191D4BA35869CCAEDBA28053A7928036\
B7846F97516C7897B24493FC06A589457FEC49C63ED7C69AFB3DBD76C029FB702CB7\
3B9D57A53DB4

CL<

Reply via email to