Closed karel-m closed 3 years ago
I made changes to Math::BigInt's import() method to avoid some warnings that appeared on MSWin32 systems. The changes I made do not cause problems with the backend libraries FastCalc, GMP, Pari, GMPz or BitVect, so I wonder what is causing problems with LTM. I don't know yet, but I am looking into it.
The test files t/mbi_ltm_biglog.t and t/mbi_ltm_bigroot.t contain
use Math::BigFloat only => 'LTM';
use Math::BigInt;
The first line causes the backend library Math::BigInt::LTM to be loaded, which is correct. However, when the second line is executed, Math::BigInt doesn't seem to recognize that Math::BigInt::LTM already has been loaded, so it loads the default library Math::BigInt::Calc. This is a bug.
Confirmed.
use Math::BigInt lib => 'LTM';
fixes the bug in t/mbi_ltm_biglog.t and t/mbi_ltm_bigroot.t
Thanks @pjacklam ! :-)
The bug was not in t/mbi_ltm_biglog.t and t/mbi_ltm_bigroot.t, but in the most recent versions of the Math-BigInt distribution. I have just now uploaded a new version, Math-BigInt-1.999823.tar.gz. It includes a test to check for this specific case. From what I can see, the old tests pass now without adding the extra "lib => 'LTM'".
@pjacklam do you have any idea what change in
Math::BigInt
could have an impact onMath::BigInt::LTM
?