[ruby-core:117422] [Ruby master Feature#20404] `2pi`
From:
"zverok (Victor Shepelev) via ruby-core" <ruby-core@...>
Date:
2024-04-03 06:35:13 UTC
List:
ruby-core #117422
SXNzdWUgIzIwNDA0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgenZlcm9rIChWaWN0b3IgU2hlcGVsZXYp Lg0KDQoNCj4gVGhpcyBwcm9wb3NhbCBpcyBoYWxmIGpva2UsIGhhbGYgc2VyaW91cy4NCg0KVGhl cmUgYXJlIHNldmVyYWwgaW50ZXJlc3RpbmcgdGhpbmdzIHRvIHVucGFjayBoZXJlICh0aG91Z2gg SSBkb27igJl0IHNlZSBhbnkgYWN0aW9uYWJsZSBwcm9wb3NhbHMpLiBXaGVuIHdyaXRpbmcvcmVh ZGluZyBpbiBSdWJ5IHNvbWUgbWF0aCwgdGhlcmUgYXJlIHNldmVyYWwgZGlmZmVyZW50IGlya3kg dGhpbmdzOg0KMS4gYE1hdGg6OmAgcHJlZml4IChob25lc3RseSwgSSBuZXZlciBmZWx0IGl0IHRv dGFsbHkganVzdGlmaWVkLCBsaWtlIGBzaW5gIG9yIGBjb3NgIGlzIG9idmlvdXMgd2l0aG91dCBh bnkgcHJlZml4ZXMsIHdoeSBzaG91bGQgd2UgaGF2ZSBpdD8uLinigJRidXQgYXQgbGVhc3QgY2Fu IGJlIG1pdGlnYXRlZCBieSBgaW5jbHVkZSBNYXRoYA0KMi4gYFBJYCBpbiBhbGwtY2Fwcy4gSSB1 bmRlcnN0YW5kIGl0IGNvcnJlc3BvbmRzIHRvIHRoZSBjb25zdGFudCBydWxlcyBvZiBSdWJ5LCB5 ZXQgaW4gYSBjb21wbGljYXRlZCBmb3JtdWxhLCBpdCByZWFsbHkgY2F0Y2hlcyB5b3VyIGV5ZSBh cyDigJ1zb21ldGhpbmcgSeKAmWQgbGlrZSB0byByZWFkIGluIGEgbGVzcyBzY3JlYW1pbmcgbWFu bmVy4oCdIChpbiBzb21lIGNhc2VzLCBJIGV2ZW4gaW50cm9kdWNlZCBhIGxvY2FsIHZhcmlhYmxl IGDPgGAgdG8gd3JpdGUgc29tZSBjdW1iZXJzb21lIGZvcm11bGEpDQozLiBUaGUgbWF0aCBpbnR1 aXRpb24gb2YgYDI8dmFyaWFibGU+YCB0byBtZWFuIGAyICogPHZhcmlhYmxlPmAsIGFuZCBpbiBz b21lIGZvcm11bGFlLCBwZXJjZWl2ZWQgYXMgYW4gYXRvbWljIHBhcnQgb2YgaXQNCg0KKDMpIGlu IHNvbWUgbGFuZ3VhZ2VzIChjYW7igJl0IHJlbWVtYmVyIHdoaWNoIG9uZXMgZnJvbSB0aGUgdG9w IG9mIG15IGhlYWQsIGJ1dCBJIGRlZmluaXRlbHkgc2F3IGl0KSBpcyBhZGRyZXNzZWQgYnkgdHJl YXRpbmcgYDxudW1iZXI+PGlkZW50aWZpZXI+YCBhcyBgPG51bWJlcj4gKiA8aWRlbnRpZmllcj5g LiBJREssIG1heWJlIHRoaXMgaXMgdGhlIHdheT8uLiBDdXJyZW50bHksIGAyeGAgaXMgYSBzeW50 YXggZXJyb3IsIHNvIHRoZXJlIHNob3VsZCBiZSBubyBjb25mbGljdHMuDQoNCkFuZCBhbHNvLi4u IENhbiBpdCBiZSBwb3NzaWJsZSB0byBpbnRyb2R1Y2UgYE1hdGg6OnBpYCBhbmQgYE1hdGg6OmVg ICh3aGljaCwgYnkgdGhlIGxvZ2ljIG9mIG5hbWluZywgc2hvdWxkIGJlIG1ldGhvZHMsIHlldCBt YXliZSBjYW4gYmUgdHJlYXRlZCBieSBwYXJzZXIgb3Igb3B0aW1pemVyIGFzIGNvbnN0YW50cyk/ Li4NCg0KSnVzdCB0aG91Z2h0cy4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KRmVhdHVyZSAjMjA0MDQ6IGAycGlgDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9y Zy9pc3N1ZXMvMjA0MDQjY2hhbmdlLTEwNzc5Nw0KDQoqIEF1dGhvcjogbWFtZSAoWXVzdWtlIEVu ZG9oKQ0KKiBTdGF0dXM6IFJlamVjdGVkDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQpJIHByb3Bvc2UgYSBuZXcgRmxvYXQgbGl0ZXJhbDogYDJwaWAuDQoNCmBgYHJ1 YnkNCnAgMnBpICAjPT4gNi4yODMxODUzMDcxNzk1ODYgPT0gMiAqIE1hdGg6OlBJDQpgYGANCg0K SSBhbSBub3QgcHJvcG9zaW5nIGAxcGlgLCBgM3BpYCBvciBgNHBpYC4gSSBkbyBvbmx5IGAycGlg LiBCZWNhdXNlIGluIG1vc3QgY2FzZXMsIGFsbCB5b3UgbmVlZCBpcyBgMnBpYC4gQW55IG90aGVy IG11bHRpcGxlIG9mIHBpIGlzIHJhcmVseSBuZWVkZWQuDQoNCkkndmUgZ290IHRoZSBzdGF0aXN0 aWNzLiBHaXRIdWIgY29kZSBzZWFyY2ggcmV2ZWFsZWQgdGhhdCBtb3JlIHRoYW4gODAlIG9mIHRo ZSBvY2N1cnJlbmNlcyBvZiBgbiAqIE1hdGg6OlBJYCBhbmQgYE1hdGg6OlBJICogbmAgaGFkIG4g PSAyLiBbMV0NCg0KfCBuIHxgbiAqIE1hdGg6OlBJYHxgTWF0aDo6UEkgKiBuYHxzdW0gIHwgJSAg fA0KfC0tOnwtLS0tLS0tLS0tLS0tOnwtLS0tLS0tLS0tLS0tOnwtLS0tOnwtLS06fA0KfCAwIHwg ICAgICAgICAgICA0OHwgICAgICAgICAgICAgMXwgICA0OXwxLjQlfA0KfCAxIHwgICAgICAgICAg ICA1OHwgICAgICAgICAgICAgM3wgICA2MXwxLjclfA0KfCAyIHwgICAgICAgICAgMjMwMHwgICAg ICAgICAgIDUzNHwgMjgzNHw4MC40JXwNCnwgMyB8ICAgICAgICAgICAyMTh8ICAgICAgICAgICAg MTd8ICAyMzV8Ni43JXwNCnwgNCB8ICAgICAgICAgICAyMDB8ICAgICAgICAgICAgMjN8ICAyMjN8 Ni4zJXwNCnwgNSB8ICAgICAgICAgICAgMjR8ICAgICAgICAgICAgIDJ8ICAgMjZ8MC43JXwNCnwg NiB8ICAgICAgICAgICAgNDF8ICAgICAgICAgICAgIDN8ICAgNDR8MS4yJXwNCnwgNyB8ICAgICAg ICAgICAgMTR8ICAgICAgICAgICAgIDB8ICAgMTR8MC40JXwNCnwgOCB8ICAgICAgICAgICAgIDZ8 ICAgICAgICAgICAgIDJ8ICAgIDh8MC4yJXwNCnwgOSB8ICAgICAgICAgICAgIDh8ICAgICAgICAg ICAgIDB8ICAgIDh8MC4yJXwNCnwxMCB8ICAgICAgICAgICAgMTd8ICAgICAgICAgICAgIDB8ICAg MTd8MC41JXwNCnwxMSB8ICAgICAgICAgICAgIDJ8ICAgICAgICAgICAgIDB8ICAgIDJ8MC4xJXwN CnwxMiB8ICAgICAgICAgICAgIDJ8ICAgICAgICAgICAgIDB8ICAgIDJ8MC4xJXwNCg0KDQpIZXJl IGlzIHRoZSBQSWUgY2hhcnQNCg0KIVtdKGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2Fzc2V0cy8y MTU1Ny8xYzA3N2FmMy1mNzUzLTRlZTEtYmM3NS01YjM4YTNiZDY0ODcpDQoNCkkga25vdyB0aGF0 IGEgbmV3IGNvbnN0YW50IG5hbWUgIlRhdSIgaXMgcHJvcG9zZWQgKCM0ODk3LCAjMTc0OTYpLiBC dXQgbm90aWNlOiAiMnBpIiBhbmQgIlRhdSIgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgY2hhcmFj dGVycy4gVGhlbiwgaXQgaXMgb2J2aW91cyB0aGF0IGZhbWlsaWFyaXR5IGlzIGJldHRlci4gSW4g ZmFjdCwgYDIgKiBNYXRoOjpQSWAgaXMgNCB0aW1lcyBtb3JlIHRoYW4gYE1hdGg6OlBJICogMmAs IGluZGljYXRpbmcgdGhhdCBhbGwgcHJvZ3JhbW1lcnMgYXJlIGNvcHlpbmcgIjJwaSIgaW4gdGhl aXIgdGV4dGJvb2suDQoNClRoZSBpZGVhIG9mIDJwaSBjYW1lIHVwIHJlZ3VsYXJseSBpbiBjaGF0 cyBhbW9uZyBjb21taXR0ZXJzLiBUaGUgZGlzY3Vzc2lvbiBxdWlja2x5IHNoaWZ0ZWQgdG8gaXRz IGdlbmVyYWxpemF0aW9uOiBzaG91bGQgd2UgdHJlYXQgYDNlYCBhcyBgMyAqIE1hdGg6OkVgLCBv ciBldmVuIGA0MmZvb2AgYXMgYDQyICogZm9vYD8gSG93ZXZlciwgSSBub3RpY2VkIHN1Y2ggYSBn ZW5lcmFsaXphdGlvbiBpcyB1bm5lY2Vzc2FyeSBiZWNhdXNlIGFsbCB3ZSBuZWVkIGlzIDJwaS4g VW5uZWVkZWQgZ2VuZXJhbGl6YXRpb24gaXMgZXZpbC4NCg0KSGVyZSBpcyBhIHBhdGNoLg0KDQpg YGBkaWZmDQpkaWZmIC0tZ2l0IGEvcGFyc2UueSBiL3BhcnNlLnkNCmluZGV4IDU1NjE5MjczYjgu LjkzYjE2YTE2YWMgMTAwNjQ0DQotLS0gYS9wYXJzZS55DQorKysgYi9wYXJzZS55DQpAQCAtMTAy MDgsNiArMTAyMDgsMTMgQEAgcGFyc2VfbnVtZXJpYyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwg aW50IGMpDQogICAgICAgICAgICAgcmV0dXJuIHNldF9udW1iZXJfbGl0ZXJhbChwLCB0SU5URUdF Uiwgc3VmZml4LCAxMCwgMCk7DQogICAgICAgICB9DQogICAgIH0NCisgICAgZWxzZSBpZiAoYyA9 PSAnMicgJiYgcGVlayhwLCAncCcpICYmIHBlZWtfbihwLCAnaScsIDEpKSB7DQorICAgICAgICB0 b2thZGQocCwgYyk7DQorICAgICAgICB0b2thZGQocCwgbmV4dGMocCkpOw0KKyAgICAgICAgdG9r YWRkKHAsIG5leHRjKHApKTsNCisgICAgICAgIHRva2ZpeChwKTsNCisgICAgICAgIHJldHVybiBz ZXRfbnVtYmVyX2xpdGVyYWwocCwgdEZMT0FULCAwLCAwLCAwKTsNCisgICAgfQ0KDQogICAgIGZv ciAoOzspIHsNCiAgICAgICAgIHN3aXRjaCAoYykgew0KZGlmZiAtLWdpdCBhL3J1YnlfcGFyc2Vy LmMgYi9ydWJ5X3BhcnNlci5jDQppbmRleCA2ZDg1YTcyYzViLi4zYTZlMGI1NzA0IDEwMDY0NA0K LS0tIGEvcnVieV9wYXJzZXIuYw0KKysrIGIvcnVieV9wYXJzZXIuYw0KQEAgLTkzNiw2ICs5MzYs OSBAQCBWQUxVRQ0KIHJiX25vZGVfZmxvYXRfbGl0ZXJhbF92YWwoY29uc3QgTk9ERSAqbikNCiB7 DQogICAgIGNvbnN0IHJiX25vZGVfZmxvYXRfdCAqbm9kZSA9IFJOT0RFX0ZMT0FUKG4pOw0KKyAg ICBpZiAoc3RyY21wKG5vZGUtPnZhbCwgIjJwaSIpID09IDApIHsNCisgICAgICAgIHJldHVybiBE QkwyTlVNKDIgKiBNX1BJKTsNCisgICAgfQ0KICAgICBkb3VibGUgZCA9IHN0cnRvZChub2RlLT52 YWwsIDApOw0KICAgICBpZiAobm9kZS0+bWludXMpIHsNCiAgICAgICAgIGQgPSAtZDsNCg0KICAg ICAgIFAgSSAgDQpIYXBweSBhIHIgbCBmb29sDQpgYGANCg0KWzFdIEkgdXNlZCB0aGVzZSBxdWVy aWVzOiBbYC9bXi5dXGIyID9cKiA/TWF0aDo6UEkvIGxhbmd1YWdlOlJ1YnlgXShodHRwczovL2dp dGh1Yi5jb20vc2VhcmNoP3R5cGU9Y29kZSZxPSUyRiU1QiU1RS4lNUQlNUNiMislM0YlNUMqKyUz Rk1hdGglM0ElM0FQSSUyRitsYW5ndWFnZSUzQVJ1YnkpIGFuZCBbYC9NYXRoOjpQSSAqXCogKjJc YiAqW14uXC9dLyBsYW5ndWFnZTpSdWJ5YF0oaHR0cHM6Ly9naXRodWIuY29tL3NlYXJjaD90eXBl PWNvZGUmcT0lMkZNYXRoJTNBJTNBUEkrKiU1QyorKjIlNUNiKyolNUIlNUUuJTVDJTJGJTVEJTJG K2xhbmd1YWdlJTNBUnVieSkNCg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9y Zy8NCiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5 LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1 YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3Jn CiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvcG9z dG9yaXVzL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==