Tenez compte des appels suivants à numpy.nextafter
Comment comprendre les résultats de numpy.nextafter
>>> from numpy import nextafter
>>> nextafter(0.1, -1)
0.099999999999999992
>>> nextafter(0.1, +1)
0.10000000000000002
>>> nextafter(1 , -1)
0.99999999999999989
>>> nextafter(1 , +1)
1.0
>>> nextafter(10 , -1)
9.9999999999999982
>>> nextafter(10 , +1)
9.9999999999999982
Je me attends à tous les cas où le second argument est positif, pour retourner une valeur qui est supérieure à la premier argument; et le résultat est plus petit que le premier argument chaque fois que le second argument est inférieur à zéro.
Mes attentes ne sont pas satisfaites par le comportement adopté, en particulier:
- nextafter (1, +1) ne change pas la première entrée du tout, au lieu de l'aggraver. Ensuite (10, +1) diminue la première entrée plutôt que de l'augmenter.
Est-ce un bug ou une fonctionnalité?
Ces exemples ont été générés avec Numpy 1.13.1 sur Python 3.6.1