考虑以下对myobj.update_attr_from(something_different)
numpy.nextafter
我希望第二个参数为正的所有情况都返回一个大于第一个参数的值;并且只要第二个参数小于零,结果就小于第一个参数。
我对展览行为的期望并不满足,特别是:
这是一个错误还是一个功能?
这些示例是使用Python 3.6.1上的Numpy 1.13.1生成的。
答案 0 :(得分:4)
你误解了第二个参数的含义。根据{{3}},函数确实(强调我的)
按元素方式将x1 之后的下一个浮点值返回x2 。
因此,nextafter(1, +1)
不会改变任何东西,因为你试图从1.0转向1.0。 nextafter(10, +1)
会减少输入,因为这是从10.0到1.0的过程。
如果你总想增加/减少,你可以走向+/-无穷大:
import numpy as np
nextafter( 0.1, -np.inf) # 0.099999999999999992
nextafter( 0.1, +np.inf) # 0.10000000000000002
nextafter( 1 , -np.inf) # 0.99999999999999989
nextafter( 1 , +np.inf) # 1.0000000000000002
nextafter(10 , -np.inf) # 9.9999999999999982
nextafter(10 , +np.inf) # 10.000000000000002