Oh, wow. I never noticed that before. Yeah, if I state that retstep=True,
then I am coding my handling to expect two values to be returned, not 1. I
think it should be nan, but I could also agree with zero. It should
definitely remain a float value, though.

Cheers!
Ben Root

On Tue, Jan 13, 2015 at 10:15 AM, Jaime Fernández del Río <
[email protected]> wrote:

> While working on something else, I realized that linspace is not handling
> requests for returning the sampling spacing consistently:
>
> >>> np.linspace(0, 1, 3, retstep=True)
> (array([ 0. ,  0.5,  1. ]), 0.5)
> >>> np.linspace(0, 1, 1, retstep=True)
> array([ 0.])
> >>> np.linspace(0, 1, 0, retstep=True)
> array([], dtype=float64)
>
> Basically, retstep is ignored if the number of samples is 0 or 1. One
> could argue that it makes sense, because those sequences do not have a
> spacing defined. But at the very least it should be documented as doing so,
> and the following inconsistency removed:
>
> >>> np.linspace(0, 1, 1, endpoint=True, retstep=True)
> array([ 0.])
> >>> np.linspace(0, 1, 1, endpoint=False, retstep=True)
> (array([ 0.]), 1.0)
>
> I am personally inclined to think that if a step is requested, then a step
> should be returned, and if it cannot be calculated in a reasonable manner,
> then a placeholder such as None, nan, 0 or stop - start should be returned.
>
> What does the collective wisdom think is the best approach for this?
>
> Jaime
>
> --
> (\__/)
> ( O.o)
> ( > <) Este es Conejo. Copia a Conejo en tu firma y ayúdale en sus planes
> de dominación mundial.
>
> _______________________________________________
> NumPy-Discussion mailing list
> [email protected]
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to