我在一些python代码中有一个long double,
In [51]: psr[0]['F0'].val
Out[51]: 205.53069608827314596
我想将其设置为不同的值,这也是一个很长的双倍:
In [52]: newparam
Out[52]: 205.53069608827315375
我可以在第一个数量上添加大数字,例如:
In [53]: psr[0]['F0'].val = psr[0]['F0'].val+1
In [55]: psr[0]['F0'].val
Out[55]: 206.53069608827314596
但我无法接受新参数的价值:
In [50]: psr[0]['F0'].val=newparam
In [51]: psr[0]['F0'].val
Out[51]: 205.53069608827314596
如果我想看看'nextafter'是什么:
In [61]: np.nextafter(psr[0]['F0'].val, 300)
Out[61]: 205.53069608827314597
所以我不明白为什么我不能得到它来接受newparam的价值..我有C代码可以做到这一点,所以我确信Python必须能够这样做。
答案 0 :(得分:2)
对我来说似乎没问题。 不要以为你完全理解nextafter()的目的,这里是doc:
nextafter(x1,x2 [,out])
在x1之后返回下一个可表示的浮点值 x2元素的方向。
用法: Increment a python floating point value by the smallest possible amount