From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.0 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_BL_SPAMCOP_NET, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS,UNPARSEABLE_RELAY shortcircuit=no autolearn=no autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 8CEB91F910 for ; Mon, 14 Nov 2022 08:22:16 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.b="U1GCvB3+"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id D758B1213F4; Mon, 14 Nov 2022 17:22:13 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id A437C1213E6 for ; Mon, 14 Nov 2022 17:22:11 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ruby-lang.org; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to:cc; s=s1; bh=U4xAgL2GvsZkl+/jadYro+s/NZ2BxU0eq61us5MIS3w=; b=U1GCvB3+aRCESfyDdUE1Gkhinq0Y+dhsTLfPDktAiR7iG1ZuOVnsSAQVal1T1FZFI/xh kDgGbyIsa7ZbXejSkpgaRdTp/5GX4Dubqu7lHtekes6RDg/xgE4Y1rg0bpinhSSUePgLhv xD3A85uYOrzotVAu/eunTrG9VWKfz/bxNBxez6JISJ5GoFkqKmtVSoNsjKCSVQ5mG0OS99 /14WS4aldQbY4njxeswnx7ceipta0+ThhWbSrdvssDTCwzfUbkUYwotl2VI2wwEsFWkvBP ndUtl5oVrhjCRqb0rbpGrDwtvDonuH9AsDqcW6uHHrRW7VcTQvAMoe5ZcFNexQWA== Received: by filterdrecv-c8b658c76-lz94v with SMTP id filterdrecv-c8b658c76-lz94v-1-6371FAAF-38 2022-11-14 08:22:07.921311359 +0000 UTC m=+304942.690306731 Received: from herokuapp.com (unknown) by geopod-ismtpd-5-2 (SG) with ESMTP id LcjKG0LOQvOxDASFpgPThA for ; Mon, 14 Nov 2022 08:22:07.863 +0000 (UTC) Date: Mon, 14 Nov 2022 08:22:07 +0000 (UTC) From: "e8c (Viktor Reznov)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 19129 X-Redmine-Issue-Author: e8c X-Redmine-Sender: e8c X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 87200 X-SG-EID: =?us-ascii?Q?6XVGD7x5biJSd6WsKo0IvyvX0hBXzmZx7hT2AEU1WQpbeHk9tgbTnR2MmIwC03?= =?us-ascii?Q?cGCBGy7pZVzdkVJdbaUbZIbnLQS9zONQ0hHKVPi?= =?us-ascii?Q?1dfOlx4U2DogQyMvslMReefbInx5eFIQYa=2FXqkq?= =?us-ascii?Q?qIfDdM0LuqxB3V+PexWnYWVmGkDh0mfpqrIgfwe?= =?us-ascii?Q?hUlWpNP0vQ=2Fp40I18pucGIOlFM5yf57eP1Ov6Tg?= =?us-ascii?Q?62W28NuP+djql85nF+3GIOoqK2KnGDid1cgKSPI?= =?us-ascii?Q?Qk5YGyz827v0P+ARVjIEw=3D=3D?= To: ruby-core@neon.ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 110746 Subject: [ruby-core:110746] [Ruby master Feature#19129] Radix_Sort for arrays of fixnums (implemented) X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Reply-To: Ruby developers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE5MTI5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgZThjIChWaWt0b3IgUmV6bm92KS4KCgpB bmQgZG91YmxlcyAobWVyZ2Vfc29ydCk6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbGFudHVkeWsvcnVi eS9jb21taXQvNWIzZDZjOTk0ZjEzMzY5ODIyODM1OGNhOTFkM2U4OTY1ZmJiNDVmZQpgYGAKJCAu Li9idWlsZC9taW5pcnVieSBkb3VibGUucmIgCgoJUnVuICMxOiAxLjMzNyBzCglSdW4gIzI6IDEu MzQwIHMKCVJ1biAjMzogMS4zNDAgcwoJUnVuICM0OiAxLjM0MCBzCglSdW4gIzU6IDEuMzQxIHMK CiQgLi9kb3VibGUucmIgCgoJUnVuICMxOiAzLjgzNiBzCglSdW4gIzI6IDMuODQzIHMKCVJ1biAj MzogMy44MjMgcwoJUnVuICM0OiAzLjgzNyBzCglSdW4gIzU6IDMuODQ0IHMKCmBgYApJIHByb21p c2Ugbm90IHRvIHVzZSB0aGlzIGlzc3VlIGFzIGEgcGVyc29uYWwgYmxvZy4KCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTkxMjk6IFJhZGl4X1NvcnQg Zm9yIGFycmF5cyBvZiBmaXhudW1zIChpbXBsZW1lbnRlZCkKaHR0cHM6Ly9idWdzLnJ1YnktbGFu Zy5vcmcvaXNzdWVzLzE5MTI5I2NoYW5nZS0xMDAwODMKCiogQXV0aG9yOiBlOGMgKFZpa3RvciBS ZXpub3YpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkNvZGUgaXMgYWxyZWFkeSB3cml0dGVuLCBhbGwgaW4g b25lIGxpc3RpbmcgKGdpdCBkaWZmLCB0ZXN0IGZpbGUsIGFuZCByZXN1bHRzIG9mIHRlc3RzKToK CmBgYAokIGNhdCAuLi9ydWJ5X3NvcnQvdGVzdC5yYiAKIyEvYmluL3J1YnkKCnNyYW5kIDAKciA9 IEFycmF5Lm5ldyAxZTcudG9faSBkbyByYW5kIC0yICoqIDQwLi4uMiAqKiA0MCBlbmQKCnB1dHMK CjUudGltZXMgZG8KCiAgICBhID0gci5jbG9uZQogICAgdCA9IFRpbWUubm93CiAgICBhLnNvcnQh CiAgICBwdXRzICJcdFJ1biAjI3tfMSArIDF9OiAlLjNmIHMiICUgW1RpbWUubm93IC0gdF0KICAg IAplbmQKCnB1dHM7IGV4aXQgdW5sZXNzICQqWzBdCgpwIChyLnNvcnQgeyBfMSA8PT4gXzIgfSkg PT0gKHIuc29ydCkKCnB1dHMKCiQgLi9taW5pcnVieSAuLi9ydWJ5X3NvcnQvdGVzdC5yYiAgIyBx c29ydAoKCVJ1biAjMTogMi4yMDkgcwoJUnVuICMyOiAyLjI1OSBzCglSdW4gIzM6IDIuMjI5IHMK CVJ1biAjNDogMi4xOTYgcwoJUnVuICM1OiAyLjIyNiBzCgokIC4vbWluaXJ1YnkgLi4vcnVieV9z b3J0L3Rlc3QucmIgICMgcnNvcnQKCglSdW4gIzE6IDAuMzI4IHMKCVJ1biAjMjogMC4zNTEgcwoJ UnVuICMzOiAwLjM1MiBzCglSdW4gIzQ6IDAuMzIzIHMKCVJ1biAjNTogMC4zNDIgcwoKZGlmZiAt LWdpdCBhL2FycmF5LmMgYi9hcnJheS5jCmluZGV4IGEzM2M0M2JkYmYuLmZlNTIyOTFjMjEgMTAw NjQ0Ci0tLSBhL2FycmF5LmMKKysrIGIvYXJyYXkuYwpAQCAtMzUyMSw2ICszNTIxLDgzIEBAIHNv cnRfMihjb25zdCB2b2lkICphcCwgY29uc3Qgdm9pZCAqYnAsIHZvaWQgKmR1bW15KQogICAgIHJl dHVybiBuOwogfQogCisjaWYgX19saW51eF9fICYmIF9fU0laRU9GX1BPSU5URVJfXyA9PSA4CisK K3N0YXRpYyBpbnQgcnNvcnQodm9pZCAqY29uc3QgX3AsIGNvbnN0IGxvbmcgbCkgeworCisgICAg Zm9yIChjb25zdCBWQUxVRSAqcCA9IF9wLCAqY29uc3QgUCA9IHAgKyA2NDsgcCA8IFA7KQorICAg ICAgICBpZiAoIUZJWE5VTV9QKCpwKyspKSByZXR1cm4gMTsKKworICAgIHVpbnQ2NF90IEZbOF1b MjU2XSA9IHt9LCAqYSA9IF9wLCAqYiA9IG1hbGxvYyg4ICogbCk7CisgICAgaWYgKGIgPT0gTlVM TCkgcmV0dXJuIDE7CisKKyAgICBmb3IgKHVpbnQ2NF90ICpwID0gYSArIDY0LCAqcDIgPSBiICsg NjQsICpjb25zdCBQID0gcCArIChsIC0gNjQpOyBwIDwgUDsgcDIrKykgeworICAgICAgICAqcDIg PSAqcCBeICgxVUwgPDwgNjMpOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDg7IGkrKykK KyAgICAgICAgICAgIEZbaV1bKCpwMiA+PiBpICogOCkgJiAyNTVdKys7CisgICAgICAgIGlmICgh RklYTlVNX1AoKnArKykpIHsKKyAgICAgICAgICAgIGZyZWUoYik7CisgICAgICAgICAgICByZXR1 cm4gMTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZvciAodWludDY0X3QgKnAgPSBhLCAqcDIg PSBiLCAqY29uc3QgUCA9IHAgKyA2NDsgcCA8IFA7IHAyKyspIHsKKyAgICAgICAgKnAyID0gKnAr KyBeICgxVUwgPDwgNjMpOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDg7IGkrKykKKyAg ICAgICAgICAgIEZbaV1bKCpwMiA+PiBpICogOCkgJiAyNTVdKys7CisgICAgfQorCisgICAgeyB1 aW50NjRfdCAqdCA9IGE7IGEgPSBiLCBiID0gdDsgfQorCisgICAgdWludDY0X3Qgc2tpcFs4XSA9 IHt9OyBpbnQgbGFzdCA9IDEwOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCA4OyBpKyspIHsK KyAgICAgICAgdWludDY0X3QgeCA9IDAsIHQsICpvID0gRltpXTsKKyAgICAgICAgZm9yIChpbnQg aiA9IDA7IGogPCAyNTY7IGorKykgeworICAgICAgICAgICAgaWYgKCh0ID0gb1tqXSkgPT0gKHVp bnQ2NF90KWwpIHsKKyAgICAgICAgICAgICAgICBza2lwW2ldID0gMTsKKyAgICAgICAgICAgICAg ICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHggPSAob1tqXSA9IHgpICsgdDsK KyAgICAgICAgfQorICAgIH0KKworICAgIGZvciAoaW50IGkgPSA3OyBpID49IDA7IC0taSkKKyAg ICAgICAgaWYgKHNraXBbaV0gPT0gMCkgeworICAgICAgICAgICAgbGFzdCA9IGk7CisgICAgICAg ICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgaWYgKGxhc3QgPT0gMTApIHsKKyAgICAgICAg ZnJlZShhKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgZm9yIChpbnQgaSA9IDA7 IGkgPCA4OyBpKyspIHsKKyAgICAgICAgaWYgKHNraXBbaV0pIGNvbnRpbnVlOworICAgICAgICB1 aW50NjRfdCAqbyA9IEZbaV07CisgICAgICAgIGlmIChpIDwgbGFzdCkKKyAgICAgICAgICAgIGZv ciAodWludDY0X3QgKnAgPSBhLCAqY29uc3QgUCA9IHAgKyBsOyBwIDwgUDsgcCsrKSB7CisgICAg ICAgICAgICAgICAgYltvWygqcCA+PiBpICogOCkgJiAyNTVdKytdID0gKnA7CisgICAgICAgICAg ICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZvciAodWludDY0X3QgKnAgPSBhLCAqY29u c3QgUCA9IHAgKyBsOyBwIDwgUDsgcCsrKSB7CisgICAgICAgICAgICAgICAgYltvWygqcCA+PiBp ICogOCkgJiAyNTVdKytdID0gKnAgXiAoMVVMIDw8IDYzKTsKKyAgICAgICAgICAgIH0KKyAgICAg ICAgbyA9IGEsIGEgPSBiLCBiID0gbzsKKyAgICB9CisKKyAgICBpZiAoYSAhPSBfcCkgeworICAg ICAgICBtZW1jcHkoX3AsIGEsIDggKiBsKTsKKyAgICAgICAgYiA9IGE7CisgICAgfQorCisgICAg ZnJlZShiKTsKKyAgICByZXR1cm4gMDsKK30KKworI2VuZGlmCisKIC8qCiAgKiAgY2FsbC1zZXE6 CiAgKiAgICBhcnJheS5zb3J0ISAtPiBzZWxmCkBAIC0zNTc3LDggKzM2NTQsMjAgQEAgcmJfYXJ5 X3NvcnRfYmFuZyhWQUxVRSBhcnkpCiAgICAgICAgIGRhdGEuY21wX29wdC5vcHRfbWV0aG9kcyA9 IDA7CiAgICAgICAgIGRhdGEuY21wX29wdC5vcHRfaW5pdGVkID0gMDsKICAgICAgICAgUkFSUkFZ X1BUUl9VU0UodG1wLCBwdHIsIHsKKworI2lmIF9fbGludXhfXyAmJiBfX1NJWkVPRl9QT0lOVEVS X18gPT0gOAorCisgICAgICAgICAgICBpZiAoKGxlbiA8IDEwMDAwIHx8IHJiX2Jsb2NrX2dpdmVu X3AoKSkgfHwgcnNvcnQocHRyLCBsZW4pKQorICAgICAgICAgICAgICAgIHJ1YnlfcXNvcnQocHRy LCBsZW4sIHNpemVvZihWQUxVRSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICByYl9ibG9j a19naXZlbl9wKCkgPyBzb3J0XzEgOiBzb3J0XzIsICZkYXRhKTsKKworI2Vsc2UKKwogICAgICAg ICAgICAgcnVieV9xc29ydChwdHIsIGxlbiwgc2l6ZW9mKFZBTFVFKSwKLSAgICAgICAgICAgICAg ICAgICAgICAgcmJfYmxvY2tfZ2l2ZW5fcCgpP3NvcnRfMTpzb3J0XzIsICZkYXRhKTsKKyAgICAg ICAgICAgICAgICAgICAgICAgcmJfYmxvY2tfZ2l2ZW5fcCgpID8gc29ydF8xIDogc29ydF8yLCAm ZGF0YSk7CisKKyNlbmRpZgorCiAgICAgICAgIH0pOyAvKiBXQjogbm8gbmV3IHJlZmVyZW5jZSAq LwogICAgICAgICByYl9hcnlfbW9kaWZ5KGFyeSk7CiAgICAgICAgIGlmIChBUllfRU1CRURfUCh0 bXApKSB7CmBgYAoKRnJvbTogaHR0cHM6Ly9naXRodWIuY29tL2FsYW50dWR5ay94UE5HL2Jsb2Iv OGRjYjg1Y2RlMjBhNDEwMzBmZDFkZTg0MDJhN2FhMDA0NzkzNmEyNS91bnRpbF9mb3JrL3J1Ynlf c29ydC50eHQKCk5vIHRpbWUgdG8gY3JlYXRlIGEgcHVsbCByZXF1ZXN0LgoKCgotLSAKaHR0cHM6 Ly9idWdzLnJ1YnktbGFuZy5vcmcvCg==