Hello all.

I believe that over the years there were multiple proposals to replace the 
linspace formula start + n *(stop - start) / (npoints - 1) with a * start + b * 
end with a, b linearly spaced between 0 and 1 with npoints. Concretely, a = n / 
(npoints - 1), b = 1 - a. Here, 0 <= n < npoints.

I believe this would fix the issue here among many others. However, it was 
always rejected due to backward-incompatibility concerns. Perhaps it’s time to 
revisit this issue.

Best regards,
Hameer Abbasi

> Am 10.01.2022 um 12:59 schrieb alejandro.giacome...@gmail.com:
> 
> I see what you mean, there is, however, some inconsistency on how this is 
> handled, and it's not entirely intuitive
> 
> ```
> _type=np.int8
> N=8
> np.linspace(
>    start=np.iinfo(_type).min,
>    stop=np.iinfo(_type).max,
>    num=N,
>    dtype=_type,
> )
> =>    array([-128,  -92,  -56,  -19,   17,   54,   90,  127], dtype=int8)
> 
> _type=np.float16
> np.linspace(
>    start=np.finfo(_type).min,
>    stop=np.finfo(_type).max,
>    num=N,
>    dtype=_type,
> )
> =>    array([-65504., -46784., -28080.,  -9360.,   9360.,  28080.,  46784.,
>            65504.], dtype=float16)
> 
> 
> _type=np.float32
> np.linspace(
>    start=np.finfo(_type).min,
>    stop=np.finfo(_type).max,
>    num=N,
>    dtype=_type,
> )
> =>    array([-3.4028235e+38, -2.4305882e+38, -1.4583529e+38, -4.8611764e+37,
>            4.8611764e+37,  1.4583529e+38,  2.4305882e+38,  3.4028235e+38],
>          dtype=float32)
> 
> _type=np.float64
> np.linspace(
>    start=np.finfo(_type).min,
>    stop=np.finfo(_type).max,
>    num=N,
>    dtype=_type,
> )
> =>    array([            nan,             inf,             inf,             
> inf,
>                       inf,             inf,             inf, 1.79769313e+308])
> 
> _type=np.float64
> np.linspace(
>    start=0,
>    stop=np.finfo(_type).max,
>    num=N,
>    dtype=_type,
> )
> =>    array([0.00000000e+000, 2.56813305e+307, 5.13626610e+307, 
> 7.70439915e+307,
>           1.02725322e+308, 1.28406652e+308, 1.54087983e+308, 1.79769313e+308])
> 
> _type=np.float64
> np.linspace(
>    start=-1e291,
>    stop=np.finfo(_type).max,
>    num=N,
>    dtype=_type,
> )
> =>    array([-1.00000000e+291,  2.56813305e+307,  5.13626610e+307,
>            7.70439915e+307,  1.02725322e+308,  1.28406652e+308,
>            1.54087983e+308,  1.79769313e+308])
> 
> _type=np.float64
> np.linspace(
>    start=-1e292,
>    stop=np.finfo(_type).max,
>    num=N,
>    dtype=_type,
> )
> =>    array([            nan,             inf,             inf,             
> inf,
>                       inf,             inf,             inf, 1.79769313e+308])
> 
> 
> _type=np.float16
> np.logspace(
>    start=np.finfo(_type).minexp,
>    stop=np.finfo(_type).maxexp,
>    num=N,
>    dtype=_type,
>    base=2,
> )
> =>    array([6.104e-05, 1.190e-03, 2.322e-02, 4.529e-01, 8.836e+00, 1.722e+02,
>           3.360e+03,       inf], dtype=float16)
> 
> _type=np.float16
> np.logspace(
>    start=np.finfo(_type).minexp,
>    stop=np.finfo(_type).maxexp,
>    num=N,
>    dtype=_type,
>    base=2,
>    endpoint=False,
> )
> =>    array([6.104e-05, 8.211e-04, 1.105e-02, 1.487e-01, 2.000e+00, 2.691e+01,
>           3.620e+02, 4.872e+03], dtype=float16)
> 
> _type=np.float64
> np.logspace(
>    start=np.finfo(_type).minexp,
>    stop=np.finfo(_type).maxexp,
>    num=N,
>    dtype=_type,
>    base=2,
>    endpoint=False,
> )
> =>    array([2.22507386e-308, 2.16653556e-231, 2.10953732e-154, 
> 2.05403862e-077,
>           2.00000000e+000, 1.94738306e+077, 1.89615038e+154, 1.84626556e+231])
> ```
> _______________________________________________
> NumPy-Discussion mailing list -- numpy-discussion@python.org
> To unsubscribe send an email to numpy-discussion-le...@python.org
> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
> Member address: einstein.edi...@gmail.com

_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com

Reply via email to