Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
February 06, 2009 D2 phobos BigInt bug | ||||
---|---|---|---|---|
| ||||
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 |
February 06, 2009 Re: D2 phobos BigInt bug | ||||
---|---|---|---|---|
| ||||
Posted in reply to ZHOU Zhenyu | == Quote from ZHOU Zhenyu (rinick@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.
|
February 06, 2009 Re: D2 phobos BigInt bug | ||||
---|---|---|---|---|
| ||||
Posted in reply to dsimcha | dsimcha wrote:
> == Quote from ZHOU Zhenyu (rinick@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.
|
February 06, 2009 Re: D2 phobos BigInt bug | ||||
---|---|---|---|---|
| ||||
Posted in reply to Don | Don wrote:
> 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.
Should still be bugzilla'd, so people know it's broken atm, and get notified when it's working.
--
Simen
|
February 06, 2009 Re: D2 phobos BigInt bug | ||||
---|---|---|---|---|
| ||||
Posted in reply to Don | Don wrote:
> dsimcha wrote:
>> == Quote from ZHOU Zhenyu (rinick@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
|
Copyright © 1999-2021 by the D Language Foundation