[Numpy-discussion] Accessing rank-0 array value?
Colin J. Williams
cjw at sympatico.ca
Mon Jun 7 08:52:09 EDT 2004
Todd,
What are the objections to returning a scalar? To me, this seems to be
simpler than some kluge, such as float(array) or int(array). To use
these, one has first to determine what array._type is.
Colin W.
Todd Miller wrote:
>On Mon, 2004-06-07 at 06:50, Nadav Horesh wrote:
>
>
>>b has a scalar properties:
>>
>>
>>
>>>>>b+3
>>>>>
>>>>>
>>5
>>
>>
>>
>>>>>b.rank
>>>>>
>>>>>
>>0
>>
>>The odd issue is that rank>0 arrays keeps their type in similar operations:
>>
>>
>>
>>>>>a = array((2,), type=Int16)
>>>>>a
>>>>>
>>>>>
>>array([2], type=Int16)
>>
>>
>>
>>>>>a + 3
>>>>>
>>>>>
>>array([5], type=Int16)
>>
>>I would expect that rank 0 arrays would behave like scalars with a given numarray type (Int8, UInt64, ...).
>>
>> Nadav.
>>
>>
>
>Originally, I think your expected behavior was the behavior. The
>official policy now, always subject to debate, is that rank-0 arrays
>should be a mostly hidden implementation detail. The fact that a scalar
>is returned here is a matter of consistency and no accident. (This is
>not to say that I'm confident that we're completely consistent... I'm
>just trying to explain the direction we're heading.)
>
>Todd
>
>
>
More information about the NumPy-Discussion
mailing list