|
From: Ralf J. <jue...@cs...> - 2005-03-20 05:48:51
|
I just read the section about "Array Scalars" again and am not sure anymore that I understood the whole idea. When you say "Array Scalar", do you mean a zero dimensional array or is an "Array Scalar" yet another animal? Ralf On Sat, 2005-03-19 at 21:06, Ralf Juengling wrote: > Travis, > > Discussing zero dimensional arrays, the PEP says at one point: > > ... When ndarray is imported, it will alter the numeric table > for python int, float, and complex to behave the same as > array objects. > > Thus, in the proposed solution, 0-dim arrays would never be > returned from calculation, but instead, the equivalent Python > Array Scalar Type. Internally, these ArrayScalars can > be quickly converted to 0-dim arrays when needed. Each scalar > would also have a method to convert to a "standard" Python Type > upon request (though this shouldn't be needed often). > > > I'm not sure I understand this. Does it mean that, after having > imported ndarray, "type(1)" to "ndarray.IntArrType" rather than > "int"? > > If so, I think this is a dangerous idea. There is one important > difference between zero dimensional arrays and Python scalar > types, which is not discussed in the PEP: arrays are mutable, > Python scalars are immutable. > > When Guido introduced in-place operators in Python, (+=, *=, > etc.) he decided that "i += 1" should be allowed for Python > scalars and should mean "i = i + 1". Here you have it, it > means something different when i is a mutable zero dimensional > array. So, I suspect a tacit re-definition of Python scalars > on ndarray import will break some code out there (code, that > does not deal with arrays at all). > > Facing this important difference between arrays and Python > scalars, I'm also not sure anymore that advertising zero > dimensional arrays as essentially the same as Python scalars > is such a good idea. Perhaps it would be better not to try to > inherit from Python's number types and all that. Perhaps it > would be easier to just say that indexing an array always > results in an array and that zero dimensional arrays can be > converted into Python scalars. Period. > > Ralf > > > PS: You wrote two questions about zero dimensional arrays > vs Python scalars into the PEP. What are your plans for > deciding these? > > > > > > > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Numpy-discussion mailing list > Num...@li... > https://lists.sourceforge.net/lists/listinfo/numpy-discussion |