何桁目まであっているか確認する関数verifiedと、何桁目まであっているか数字で返すverified_digits
In [1]:
import pint as pn
In [2]:
a = pn.interval(1)
In [3]:
a
Out[3]:
In [4]:
a.sup = pn.roundfloat.succ(a.sup)
In [5]:
a
Out[5]:
少しずらす
In [6]:
a.verified()
Out[6]:
このaの下限と上限は小数点以下15桁目まであっているので、そこまで返す。
In [7]:
a.sup = pn.roundfloat.succ(a.sup)
In [9]:
a.sup = pn.roundfloat.succ(a.sup)
In [10]:
a
Out[10]:
もう少しずらす。あっている桁の一つ下を5以上に調整した
In [11]:
a.verified()
Out[11]:
それでも、四捨五入などはせずに切り捨てる。
In [12]:
a.verified_digits()
Out[12]:
整数部分を含めて、何桁目まであっているか数字で返す
In [13]:
b = pn.interval('1.1')
In [14]:
b
Out[14]:
In [15]:
b.width()
Out[15]:
なお、このような幅が小さいものの、小数部分の一致が少ないものに対しては
In [16]:
b.verified()
Out[16]:
In [17]:
b.verified_digits()
Out[17]:
このように精度が低いように見えてしまう。
仕様とするか、警告するかは検討中