ruby-core

Mailing list archive

[ruby-core:80044] [Ruby trunk Bug#13232] Comparing BigDecimal to float or Rational fails sometimes

From: muraken@...
Date: 2017-03-12 04:38:13 UTC
List: ruby-core #80044
SXNzdWUgIzEzMjMyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgS2VudGEgTXVyYXRhLgoKCkknbSBzb3Jy
eSBmb3IgbXkgbGF0ZSByZXNwb25zZS4KSSdsbCBpbXBvcnQgeW91ciBwYXRjaCBieSB0b21vcnJv
dy4KClRoYW5rcyBhIGxvdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KQnVnICMxMzIzMjogQ29tcGFyaW5nIEJpZ0RlY2ltYWwgdG8gZmxvYXQgb3IgUmF0aW9uYWwg
ZmFpbHMgc29tZXRpbWVzCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xMzIzMiNj
aGFuZ2UtNjM0NzAKCiogQXV0aG9yOiBSb211bG8gQ2VjY29uCiogU3RhdHVzOiBBc3NpZ25lZAoq
IFByaW9yaXR5OiBOb3JtYWwKKiBBc3NpZ25lZTogS2VudGEgTXVyYXRhCiogVGFyZ2V0IHZlcnNp
b246IAoqIHJ1YnkgLXY6IHJ1YnkgMi4zLjNwMjIyICgyMDE2LTExLTIxIHJldmlzaW9uIDU2ODU5
KSBbeDg2XzY0LWxpbnV4XQoqIEJhY2twb3J0OiAyLjI6IFVOS05PV04sIDIuMzogVU5LTk9XTiwg
Mi40OiBVTktOT1dOCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVW5k
ZXIgdmVyeSBzcGVjaWFsIGNhc2VzIHRyeWluZyB0byBjb21wYXJlIGEgQmlnRGVjaW1hbCB0byBh
IGZsb2F0IG9yIFJhdGlvbmFsIHdpbGwgZ2l2ZSBhbiB1bmV4cGVjdGVkIHJlc3VsdDoKCiAgICBp
cmI+IEJpZ0RlY2ltYWwoJzEnKSA8IDFlLTEwCiAgICA9PiB0cnVlCgpJIGNvdWxkbid0IGZpbmQg
YSBzZXF1ZW5jZSBvZiBzdGVwcyB3aGljaCByZXByb2R1Y2VzIHRoZSBwcm9ibGVtIHdpdGggMTAw
JSBndWFyYW50ZWUsIGJ1dCB0aGUgZm9sbG93aW5nIHNlZW0gdG8gZ2V0IGNsb3NlOgoKLS0gaW5z
dGFsbCBhIGZyZXNoIGNvcHkgb2YgUnVieSAyLjMuMyBmcm9tIHRoZSBzdGFibGUgc291cmNlcwoK
ICAgICQgLi9jb25maWd1cmUgLS1wcmVmaXg9JEhPTUUvcnVieS0yLjMuMy10ZXN0CiAgICAkIG1h
a2UgbWFpbiAmJiBtYWtlIGluc3RhbGwtbm9kb2MKICAgICQgZXhwb3J0IFBBVEg9JEhPTUUvcnVi
eS0yLjMuMy10ZXN0L2JpbjokUEFUSAoKLS0gaW5zdGFsbCBhY3RpdmUgc3VwcG9ydCBpbiAkSE9N
RS8uZ2VtCgogICAgJCBta2RpciAkSE9NRS9idWcKICAgICQgY2QgJEhPTUUvYnVnCiAgICAkIGdl
bSBpbnN0YWxsIGJ1bmRsZXIKICAgICQgZWNobyAtZSAic291cmNlICdodHRwczovL3J1YnlnZW1z
Lm9yZydcbmdlbSAnYWN0aXZlc3VwcG9ydCciID4gR2VtZmlsZQogICAgJCBidW5kbGUgaW5zdGFs
bCAtLXBhdGg9JEhPTUUvLmdlbQoKLS0gcnVuIHRoZSBzY3JpcHQ6CgogICAgJCB3aGlsZSBydWJ5
IC1lICJyZXF1aXJlICd0ZW1wZmlsZSc7IHJlcXVpcmUgJ2JpZ2RlY2ltYWwnOyBmID0gVGVtcGZp
bGUubmV3KCdidWcnKTsgc3JhbmQoMSk7ICgxLi4yMDAwKS5lYWNoIHsgfGl8IGYucmV3aW5kICYm
IGYucHV0cygndGVzdCcpIGlmIGkgJSAxMDAwID09IDE7IHggPSBCaWdEZWNpbWFsKCcxJyk7IHB1
dHMoW2ksIHhdKSB8fCBleGl0KDEpIGlmIHggPCAxZS0xMC50b19yIH0iIDsgZG8gdHJ1ZSA7IGRv
bmUKClRoZSBsYXN0IHNjcmlwdCBzaG91bGQgbm90IHJldHVybi4gSWYgaXQgZG9lcyB0aGVuIHRo
ZSBidWcgaXMgcHJlc2VudDoKCiAgICAkIHdoaWxlIHJ1YnkgLWUgLi4uCiAgICA5NjIKICAgIDAu
MUUxCgpJIGNhbiByZXByb2R1Y2UgdGhlIGJ1ZyBvbiBVYnVudHUgMTYuMDQgcnVubmluZyB3aXRo
IEludGVsIENvcmUgaTMtNDEzMCAoZGVza3RvcCkgYW5kIG9uIFVidW50dSAxMi4wNCwgMTQuMDQg
YW5kIDE2LjA0IHJ1bm5pbmcgd2l0aCBJbnRlbCBYZW9uIEU1LTI2NTEgdjIgKEFXUykuCgpJIGNv
dWxkIHRyYWNrIHRoZSBwcm9ibGVtIGRvd24gdG8gdGhlIG1ldGhvZCBWcE5ld1JiQ2xhc3MgaW4g
YmlnZGVjaW1hbC5jLiBJdCBsb29rcyBsaWtlIHRoZSBnYXJiYWdlIGNvbGxlY3RvciBpcyBiZWlu
ZyBjYWxsZWQgYXQgdGhlIHdyb25nIHRpbWUgYW5kIGNvcnJ1cHRpbmcgbWVtb3J5LiBBcHBseWlu
ZyB0aGUgZm9sbG93aW5nIHBhdGNoIGdpdmVzIG1lIHRoZSBvdXRwdXQgYmVsb3c6CgpgYGBkaWZm
Ci0tLSBleHQvYmlnZGVjaW1hbC9iaWdkZWNpbWFsLmMub3JpZwkyMDE3LTAyLTE5IDAwOjMwOjA2
Ljg4NTE3NDA4OSAtMDMwMAorKysgZXh0L2JpZ2RlY2ltYWwvYmlnZGVjaW1hbC5jCTIwMTctMDIt
MTkgMDA6MzM6NTMuMzc5NTAxMDEzIC0wMzAwCkBAIC02MDQsOCArNjA0LDE0IEBACiBWUF9FWFBP
UlQgUmVhbCAqCiBWcE5ld1JiQ2xhc3Moc2l6ZV90IG14LCBjb25zdCBjaGFyICpzdHIsIFZBTFVF
IGtsYXNzKQogewotICAgIFZBTFVFIG9iaiA9IFR5cGVkRGF0YV9XcmFwX1N0cnVjdChrbGFzcywg
JkJpZ0RlY2ltYWxfZGF0YV90eXBlLCAwKTsKLSAgICBSZWFsICpwdiA9IFZwQWxsb2MobXgsc3Ry
KTsKKyAgICBWQUxVRSBvYmo7CisgICAgUmVhbCAqcHY7CisgICAgaWYgKG14ID09IDM2KQorICAg
ICAgICBwcmludGYoIi0tXG5WcE5ld1JiQ2xhc3M6ICVzXG4iLCBzdHIpOworICAgIG9iaiA9IFR5
cGVkRGF0YV9XcmFwX1N0cnVjdChrbGFzcywgJkJpZ0RlY2ltYWxfZGF0YV90eXBlLCAwKTsKKyAg
ICBpZiAobXggPT0gMzYpCisgICAgICAgIHByaW50ZigiVnBOZXdSYkNsYXNzOiAlc1xuIiwgc3Ry
KTsKKyAgICBwdiA9IFZwQWxsb2MobXgsc3RyKTsKICAgICBSVFlQRUREQVRBX0RBVEEob2JqKSA9
IHB2OwogICAgIHB2LT5vYmogPSBvYmo7CiAgICAgcmV0dXJuIHB2OwpgYGAKCk91dHB1dDoKCiAg
ICAkIHdoaWxlIHJ1YnkgLWUgLi4uCiAgICAuLi4uCiAgICAtLQogICAgVnBOZXdSYkNsYXNzOiA3
NzM3MTI1MjQ1NTMzNjI2NzE4MTE5NTI2NAogICAgVnBOZXdSYkNsYXNzOiA3NzM3MTI1MjQ1NTMz
NjI2NzE4MTE5NTI2NAogICAgLS0KICAgIFZwTmV3UmJDbGFzczogNzczNzEyNTI0NTUzMzYyNjcx
ODExOTUyNjQKICAgIFZwTmV3UmJDbGFzczogNzczNzEyNTI0NTUzMzYyNjcxODExOTUyNjQKICAg
IC0tCiAgICBWcE5ld1JiQ2xhc3M6IDc3MzcxMjUyNDU1MzM2MjY3MTgxMTk1MjY0CiAgICBWcE5l
d1JiQ2xhc3M6IBDvv70T77+9VgogICAgOTYyCiAgICAwLjFFMQoKSGVyZSdzIGEgcG9zc2libGUg
Zml4LiBTb21lb25lIHBsZWFzZSByZXZpZXcgaXQsIGJlY2F1c2UgSSBoYXZlIG5vIGV4cGVyaWVu
Y2Ugd2l0aCBDUnVieSBhbmQgZG9uJ3QgZmVlbCBjb25maWRlbnQgYWJvdXQgaXRzIGNvcnJlY3Ru
ZXNzOgoKYGBgZGlmZgotLS0gZXh0L2JpZ2RlY2ltYWwvYmlnZGVjaW1hbC5jLm9yaWcJMjAxNy0w
Mi0xOSAwMDozMDowNi44ODUxNzQwODkgLTAzMDAKKysrIGV4dC9iaWdkZWNpbWFsL2JpZ2RlY2lt
YWwuYwkyMDE3LTAyLTE5IDAwOjM5OjMyLjg4NDY4MDMxMyAtMDMwMApAQCAtMjI3LDYgKzIyNyw3
IEBACiBzdGF0aWMgUmVhbCoKIEdldFZwVmFsdWVXaXRoUHJlYyhWQUxVRSB2LCBsb25nIHByZWMs
IGludCBtdXN0KQogeworICAgIEVOVEVSKDEpOwogICAgIFJlYWwgKnB2OwogICAgIFZBTFVFIG51
bSwgYmc7CiAgICAgY2hhciBzekRbMTI4XTsKQEAgLTI5Miw2ICsyOTMsNyBAQAogCiAgICAgICBj
YXNlIFRfQklHTlVNOgogICAgICAgICBiZyA9IHJiX2JpZzJzdHIodiwgMTApOworICAgICAgICBQ
VVNIKGJnKTsKICAgICAgICAgcmV0dXJuIFZwQ3JlYXRlUmJPYmplY3Qoc3RybGVuKFJTVFJJTkdf
UFRSKGJnKSkgKyBWcEJhc2VGaWcoKSArIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFJTVFJJTkdfUFRSKGJnKSk7CiAgICAgICBkZWZhdWx0OgpgYGAKCgoKCi0tIApodHRwczov
L2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1
ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5
LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K

In This Thread

Prev Next