Maxima interface to Lisp bit-functions



> > As a general rule, Maxima is extremely loose in typechecking. Not
> only
> >  does it simplify 0*x => 0, but even 0/x => 0 and "."(x) => x
> 
> Well, it's true that Maxima isn't always very careful, but I think
> there is still something to gain by being more careful with
> new operators (and old ones too, but that is more work).
> 
> So I would rather see simplifications of bitwise operators carried
> out only if the argument is is known by Maxima to be an integer
> (i.e. a literal integer or a symbol or function declared to be
> integral
> or an expression which is demonstrably integral).

'declared to be an integral' means declared by
declare(n,integer) resp. declare(foo,integervalued) ?

And I check this via featurep, like I mentioned below?

Volker


> >  > (%i1) declare(x,even);
> >  > (%o1)                                done
> >  > (%i2) featurep(x,even);
> >  > (%o2)                                true
> >  > (%i3) evenp(x);
> >  > (%o3)                                false
> >
> > This is confusing, I agree.  evenp checks for even *literal
> numbers*:
> >
> >      evenp(floor(x)*2) => false
> >
> >  and featurep has been extended not only to look for features
> >  explicitly added to objects, but for the property in general:
> >
> >     featurep(floor(x)*2,even) => true
> 
> featurep has evolved into a kind of a set membership test for a
> few sets including integers, reals, complex numbers, and a few
> others. I would like to see a general set membership test, e.g.
> is(floor(x)*2 in even_integers), and make featurep just a
> declaration test (as it once was, I believe). Of course set
> membership is not a simple problem, but we may as well start
> talking about what we would like to see.
> 
> FWIW
> 
> Robert Dodier
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima