>>>>> "Fabrizio" == Fabrizio Caruso <caruso at dm.unipi.it> writes:
Fabrizio> Hi,
Fabrizio> Again I found a problem in the modular computation
Fabrizio> but this time it is related to the gcd
Fabrizio> and it should be unrelated to the problem
Fabrizio> related to factorization:
>> modulus:1234567891;
Fabrizio> 1234567891
>> gcd(x^2+x+1,x^1234567890-1);
Fabrizio> Maxima encountered a Lisp error:
I see this with cmucl too. I think the problem is that 1234567891 is
not a fixnum, and a lot of the polynomial stuff, especially related to
the exponents, assumes the exponent is a fixnum.
With GCL, this isn't a problem because it just truncates the
operations into a fixnum (producing erroneous results without
warning), but other lisps produce an error.
I think we should just get rid of the f+, f-, f* macros/functions.
Well, actually redefine them so they don't assert that the operands
and results are fixnums.
Perhaps things will run a little slower, but machines are hundreds
(thousands?) of times faster now than when maxima was originally
written.
Ray