[#79532] Immutable Strings vs Symbols — Daniel Ferreira <subtileos@...>

Hi,

15 messages 2017/02/15

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

From: romuloceccon@...
Date: 2017-02-23 19:39:36 UTC
List: ruby-core #79730
SXNzdWUgIzEzMjMyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgUm9tdWxvIENlY2Nvbi4KCgpJIGRpZG4n
dCByZWFsaXplIHRoZXJlIHdhcyBhIEdpdGh1YiByZXBvIGZvciBCaWdEZWNpbWFsIHdoZW4gb3Bl
bmluZyB0aGlzIGlzc3VlLiBNYXkgSSByZXBvc3QgaXQgdGhlcmUgYXMgYSBwdWxsIHJlcXVlc3Q/
CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkJ1ZyAjMTMyMzI6IENv
bXBhcmluZyBCaWdEZWNpbWFsIHRvIGZsb2F0IG9yIFJhdGlvbmFsIGZhaWxzIHNvbWV0aW1lcwpo
dHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTMyMzIjY2hhbmdlLTYzMTUxCgoqIEF1
dGhvcjogUm9tdWxvIENlY2NvbgoqIFN0YXR1czogQXNzaWduZWQKKiBQcmlvcml0eTogTm9ybWFs
CiogQXNzaWduZWU6IEtlbnRhIE11cmF0YQoqIFRhcmdldCB2ZXJzaW9uOiAKKiBydWJ5IC12OiBy
dWJ5IDIuMy4zcDIyMiAoMjAxNi0xMS0yMSByZXZpc2lvbiA1Njg1OSkgW3g4Nl82NC1saW51eF0K
KiBCYWNrcG9ydDogMi4yOiBVTktOT1dOLCAyLjM6IFVOS05PV04sIDIuNDogVU5LTk9XTgotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClVuZGVyIHZlcnkgc3BlY2lhbCBj
YXNlcyB0cnlpbmcgdG8gY29tcGFyZSBhIEJpZ0RlY2ltYWwgdG8gYSBmbG9hdCBvciBSYXRpb25h
bCB3aWxsIGdpdmUgYW4gdW5leHBlY3RlZCByZXN1bHQ6CgogICAgaXJiPiBCaWdEZWNpbWFsKCcx
JykgPCAxZS0xMAogICAgPT4gdHJ1ZQoKSSBjb3VsZG4ndCBmaW5kIGEgc2VxdWVuY2Ugb2Ygc3Rl
cHMgd2hpY2ggcmVwcm9kdWNlcyB0aGUgcHJvYmxlbSB3aXRoIDEwMCUgZ3VhcmFudGVlLCBidXQg
dGhlIGZvbGxvd2luZyBzZWVtIHRvIGdldCBjbG9zZToKCi0tIGluc3RhbGwgYSBmcmVzaCBjb3B5
IG9mIFJ1YnkgMi4zLjMgZnJvbSB0aGUgc3RhYmxlIHNvdXJjZXMKCiAgICAkIC4vY29uZmlndXJl
IC0tcHJlZml4PSRIT01FL3J1YnktMi4zLjMtdGVzdAogICAgJCBtYWtlIG1haW4gJiYgbWFrZSBp
bnN0YWxsLW5vZG9jCiAgICAkIGV4cG9ydCBQQVRIPSRIT01FL3J1YnktMi4zLjMtdGVzdC9iaW46
JFBBVEgKCi0tIGluc3RhbGwgYWN0aXZlIHN1cHBvcnQgaW4gJEhPTUUvLmdlbQoKICAgICQgbWtk
aXIgJEhPTUUvYnVnCiAgICAkIGNkICRIT01FL2J1ZwogICAgJCBnZW0gaW5zdGFsbCBidW5kbGVy
CiAgICAkIGVjaG8gLWUgInNvdXJjZSAnaHR0cHM6Ly9ydWJ5Z2Vtcy5vcmcnXG5nZW0gJ2FjdGl2
ZXN1cHBvcnQnIiA+IEdlbWZpbGUKICAgICQgYnVuZGxlIGluc3RhbGwgLS1wYXRoPSRIT01FLy5n
ZW0KCi0tIHJ1biB0aGUgc2NyaXB0OgoKICAgICQgd2hpbGUgcnVieSAtZSAicmVxdWlyZSAndGVt
cGZpbGUnOyByZXF1aXJlICdiaWdkZWNpbWFsJzsgZiA9IFRlbXBmaWxlLm5ldygnYnVnJyk7IHNy
YW5kKDEpOyAoMS4uMjAwMCkuZWFjaCB7IHxpfCBmLnJld2luZCAmJiBmLnB1dHMoJ3Rlc3QnKSBp
ZiBpICUgMTAwMCA9PSAxOyB4ID0gQmlnRGVjaW1hbCgnMScpOyBwdXRzKFtpLCB4XSkgfHwgZXhp
dCgxKSBpZiB4IDwgMWUtMTAudG9fciB9IiA7IGRvIHRydWUgOyBkb25lCgpUaGUgbGFzdCBzY3Jp
cHQgc2hvdWxkIG5vdCByZXR1cm4uIElmIGl0IGRvZXMgdGhlbiB0aGUgYnVnIGlzIHByZXNlbnQ6
CgogICAgJCB3aGlsZSBydWJ5IC1lIC4uLgogICAgOTYyCiAgICAwLjFFMQoKSSBjYW4gcmVwcm9k
dWNlIHRoZSBidWcgb24gVWJ1bnR1IDE2LjA0IHJ1bm5pbmcgd2l0aCBJbnRlbCBDb3JlIGkzLTQx
MzAgKGRlc2t0b3ApIGFuZCBvbiBVYnVudHUgMTIuMDQsIDE0LjA0IGFuZCAxNi4wNCBydW5uaW5n
IHdpdGggSW50ZWwgWGVvbiBFNS0yNjUxIHYyIChBV1MpLgoKSSBjb3VsZCB0cmFjayB0aGUgcHJv
YmxlbSBkb3duIHRvIHRoZSBtZXRob2QgVnBOZXdSYkNsYXNzIGluIGJpZ2RlY2ltYWwuYy4gSXQg
bG9va3MgbGlrZSB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IgaXMgYmVpbmcgY2FsbGVkIGF0IHRoZSB3
cm9uZyB0aW1lIGFuZCBjb3JydXB0aW5nIG1lbW9yeS4gQXBwbHlpbmcgdGhlIGZvbGxvd2luZyBw
YXRjaCBnaXZlcyBtZSB0aGUgb3V0cHV0IGJlbG93OgoKYGBgZGlmZgotLS0gZXh0L2JpZ2RlY2lt
YWwvYmlnZGVjaW1hbC5jLm9yaWcJMjAxNy0wMi0xOSAwMDozMDowNi44ODUxNzQwODkgLTAzMDAK
KysrIGV4dC9iaWdkZWNpbWFsL2JpZ2RlY2ltYWwuYwkyMDE3LTAyLTE5IDAwOjMzOjUzLjM3OTUw
MTAxMyAtMDMwMApAQCAtNjA0LDggKzYwNCwxNCBAQAogVlBfRVhQT1JUIFJlYWwgKgogVnBOZXdS
YkNsYXNzKHNpemVfdCBteCwgY29uc3QgY2hhciAqc3RyLCBWQUxVRSBrbGFzcykKIHsKLSAgICBW
QUxVRSBvYmogPSBUeXBlZERhdGFfV3JhcF9TdHJ1Y3Qoa2xhc3MsICZCaWdEZWNpbWFsX2RhdGFf
dHlwZSwgMCk7Ci0gICAgUmVhbCAqcHYgPSBWcEFsbG9jKG14LHN0cik7CisgICAgVkFMVUUgb2Jq
OworICAgIFJlYWwgKnB2OworICAgIGlmIChteCA9PSAzNikKKyAgICAgICAgcHJpbnRmKCItLVxu
VnBOZXdSYkNsYXNzOiAlc1xuIiwgc3RyKTsKKyAgICBvYmogPSBUeXBlZERhdGFfV3JhcF9TdHJ1
Y3Qoa2xhc3MsICZCaWdEZWNpbWFsX2RhdGFfdHlwZSwgMCk7CisgICAgaWYgKG14ID09IDM2KQor
ICAgICAgICBwcmludGYoIlZwTmV3UmJDbGFzczogJXNcbiIsIHN0cik7CisgICAgcHYgPSBWcEFs
bG9jKG14LHN0cik7CiAgICAgUlRZUEVEREFUQV9EQVRBKG9iaikgPSBwdjsKICAgICBwdi0+b2Jq
ID0gb2JqOwogICAgIHJldHVybiBwdjsKYGBgCgpPdXRwdXQ6CgogICAgJCB3aGlsZSBydWJ5IC1l
IC4uLgogICAgLi4uLgogICAgLS0KICAgIFZwTmV3UmJDbGFzczogNzczNzEyNTI0NTUzMzYyNjcx
ODExOTUyNjQKICAgIFZwTmV3UmJDbGFzczogNzczNzEyNTI0NTUzMzYyNjcxODExOTUyNjQKICAg
IC0tCiAgICBWcE5ld1JiQ2xhc3M6IDc3MzcxMjUyNDU1MzM2MjY3MTgxMTk1MjY0CiAgICBWcE5l
d1JiQ2xhc3M6IDc3MzcxMjUyNDU1MzM2MjY3MTgxMTk1MjY0CiAgICAtLQogICAgVnBOZXdSYkNs
YXNzOiA3NzM3MTI1MjQ1NTMzNjI2NzE4MTE5NTI2NAogICAgVnBOZXdSYkNsYXNzOiAQ77+9E++/
vVYKICAgIDk2MgogICAgMC4xRTEKCkhlcmUncyBhIHBvc3NpYmxlIGZpeC4gU29tZW9uZSBwbGVh
c2UgcmV2aWV3IGl0LCBiZWNhdXNlIEkgaGF2ZSBubyBleHBlcmllbmNlIHdpdGggQ1J1YnkgYW5k
IGRvbid0IGZlZWwgY29uZmlkZW50IGFib3V0IGl0cyBjb3JyZWN0bmVzczoKCmBgYGRpZmYKLS0t
IGV4dC9iaWdkZWNpbWFsL2JpZ2RlY2ltYWwuYy5vcmlnCTIwMTctMDItMTkgMDA6MzA6MDYuODg1
MTc0MDg5IC0wMzAwCisrKyBleHQvYmlnZGVjaW1hbC9iaWdkZWNpbWFsLmMJMjAxNy0wMi0xOSAw
MDozOTozMi44ODQ2ODAzMTMgLTAzMDAKQEAgLTIyNyw2ICsyMjcsNyBAQAogc3RhdGljIFJlYWwq
CiBHZXRWcFZhbHVlV2l0aFByZWMoVkFMVUUgdiwgbG9uZyBwcmVjLCBpbnQgbXVzdCkKIHsKKyAg
ICBFTlRFUigxKTsKICAgICBSZWFsICpwdjsKICAgICBWQUxVRSBudW0sIGJnOwogICAgIGNoYXIg
c3pEWzEyOF07CkBAIC0yOTIsNiArMjkzLDcgQEAKIAogICAgICAgY2FzZSBUX0JJR05VTToKICAg
ICAgICAgYmcgPSByYl9iaWcyc3RyKHYsIDEwKTsKKyAgICAgICAgUFVTSChiZyk7CiAgICAgICAg
IHJldHVybiBWcENyZWF0ZVJiT2JqZWN0KHN0cmxlbihSU1RSSU5HX1BUUihiZykpICsgVnBCYXNl
RmlnKCkgKyAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSU1RSSU5HX1BUUihi
ZykpOwogICAgICAgZGVmYXVsdDoKYGBgCgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v
cmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3Jn
P3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmlu
L21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==

In This Thread

Prev Next