[SciPy-dev] Don't understand these results
Pierre GM
pgmdevlist at gmail.com
Mon Aug 17 02:19:36 EDT 2009
On Aug 17, 2009, at 1:35 AM, David Goldsmith wrote:
>>>> c = np.array(['aAaAaA', ' aA ', 'abBABba']).view(np.chararray); c
> chararray(['aAaAaA', ' aA', 'abBABba'],
> dtype='|S7')
>>>> c.count('aA', end=3)
> array([3, 1, 0])
>
> ???
Have you checked the code ?
The input of the method ('aA',start,end) are checked for consistency.
However, a problem is that as soon any value is 0 or None or False,
the following values are not checked and just discarded (that's line
171 in defchararray).
When you call the `count` method, `start` defaults to None, meaning
that the `end` parameter is never taken into account.
That's clearly a bug, actually 2 bugs:
* `start` should default to 0 in that case (you need it in the `count`
method of strings)
* when one of the parameter is not None, it should be taken into
account.
>>> if not chk or (chk.dtype is object_ and chk.item() is None):
should become
>>> if (chk is None) of (chk.dtype is object_ and chk.item() is None):
I don't have time to spend on fixing that right now, sorry. Try to
fill a ticket on the numpy trac.
Many thanks for reporting.
More information about the SciPy-Dev
mailing list