D2 phobos BigInt bug
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Fri Feb 6 05:12:10 PST 2009
Don wrote:
> dsimcha wrote:
>> == Quote from ZHOU Zhenyu (rinick at goozo.net)'s article
>>> BigInt b = "100000";
>>> foreach( i; 1..20 ){
>>> b*=10;
>>> writeln(b*b);
>>> }
>>> system: Windows
>>> CPU: Intel Core2 Duo T7250 2.00GHz
>>> result:
>>> 1000000000000
>>> 100000000000000
>>> 10000000000000000
>>> 1000000000000000000
>>> 100000000000000000000
>>> 10000000000000000000000
>>> 999981553255926290448384
>>> 100000000000000000000000000
>>> 10000000000000000000000000000
>>> 1000000000000000000000000000000
>>> 100000000000000000000000000000000
>>> 10000000000000000000000000000000000
>>> 1000000000000000000000000000000000000
>>> 100000000000000000000000000000000000000
>>> 10000000000000000000000000000000000000000
>>> 999999999999999999999981553255926290448384
>>> 100000000000000000000000000000000000000000000
>>> 9999999999999999999999999981553255926290448384
>>> 1000000000000000000000000000000000000000000000000
>>
>> Yep, I can reproduce that on Windows on an Athlon 64 X2. You're _not_
>> just going
>> crazy. Please file a Bugzila.
>
> I don't think that will ever get fixed (unless you make a patch
> yourself). Phobos BigInt was created by Janice, and she seems to have
> completely disappeared. I'm working on Tango BigInt, which is completely
> independent, and will replace Phobos BigInt eventually. ( == as soon as
> we get a common namespace to put it into). I don't think anyone is
> interested in debugging Phobos BigInt.
I'd fix it but I know your BigInt is bound to work much better overall.
Speaking of the common namespace name, it seems that problem won't go
away soon. I kindly ask you to not make the inclusion of BigInt in
Phobos hinge on that.
Andrei
More information about the Digitalmars-d-bugs
mailing list