On 4 Jun., 18:24, Ronan Lamy <[email protected]> wrote:
> No, it shouldn't, because ZZ isn't a set. That's indeed the problem with
> using the name of an abstract mathematical set to designate a concrete
> type.
If I understand it correctly, ZZ is the implementation of the ring of
integers, so mathematically it is nothing but a set with some special
elements and a few mappings, satisfying some axioms. For convenience,
you refer to the set only, even if you mean the ring. So I think the
implementation is fine.
> "Symbol('n', integer=True) in ZZ" looks like something that should
> obviously be True, but actually it doesn't make sense.
Well, in polys this would be rather ZZ[n], because ZZ means concrete
integers and not symbolic ones.
> So 'isinstance(a,
> int_type)' isn't just more readable, it also prevents dangerous
> misunderstandings.
> BTW, ZZ.__contains__ does exist and does something different from
> ZZ.of_type.
The difference is subtle, ZZ.__contains__ tries to convert the type,
but ZZ.of_type only checks the type. It is like '==' vs. 'is'.
Vinzent
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sympy?hl=en.