Received: (at 75105) by debbugs.gnu.org; 17 Feb 2025 18:26:39 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 17 13:26:39 2025 Received: from localhost ([127.0.0.1]:48955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tk5pG-0000nM-Om for submit <at> debbugs.gnu.org; Mon, 17 Feb 2025 13:26:39 -0500 Received: from mail-10631.protonmail.ch ([79.135.106.31]:17543) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>) id 1tk5pD-0000mc-NB for 75105 <at> debbugs.gnu.org; Mon, 17 Feb 2025 13:26:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1739816788; x=1740075988; bh=6DkSz+8BntsXfvojF0XLEKyzHV54A38Mc+KkSV6dkNA=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=fghzMTBaK1RMutue/NjiAJKEpCz68A8khBsb2ABRVXZcYLQaJEq6X645pOZ8gR/Lb dePXTGFkaIHpSuP//TLodrupJM6Ujp975DXPFR6Z4bFUp4AxxQMjvy6YvhTLoUxOar WlVJGTetZBb7h28oSQXbH0u4X5L7uydUxjkjN4omLzt+Eu6fhoK7otgR5D9dZgbbb2 OfLAhT6w6QO7j89IbJ5qesrTuVlanMriwIDDjCU1A4pszf1zVe2nol50VEmCFT+BSg lSKPizLWCGWERogtxNH6+96UsEoRyr5RoG8xyFhbG+vM3CZCWfttLPtzly+kzPB2Cu OKGEpCO/sqyyA== Date: Mon, 17 Feb 2025 18:26:23 +0000 To: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN> From: Pip Cet <pipcet@HIDDEN> Subject: Re: bug#75105: (cl-random -1.0e+INF) Message-ID: <87h64s8m3d.fsf@HIDDEN> In-Reply-To: <CC4DD2DE-475E-4552-B0FD-187F213C53D2@HIDDEN> References: <87seqb73aa.fsf@HIDDEN> <87ikpahfxl.fsf@HIDDEN> <CC4DD2DE-475E-4552-B0FD-187F213C53D2@HIDDEN> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: 894797de20b05e7719047d7ab3e4c98bd269ee26 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75105 Cc: bug-gnu-emacs@HIDDEN, 75105 <at> debbugs.gnu.org, monnier@HIDDEN, mattiasengdegard@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Mattias Engdeg=C3=A5rd <mattias.engdegard@HIDDEN> writes: > 16 feb. 2025 kl. 01.50 skrev Pip Cet <pipcet@HIDDEN>: > >> (cl-random 0.0) returns 0.0, but one could argue it should throw > > It definitely should throw, but perhaps it's not worth the > incompatibility? Not sure, because existing code that passes 0.0 is > likely buggy anyway. Or we could say that it's just an ad-hoc > extension, by vague analogy of (car nil) =3D nil. On mathematical grounds, in my humble but correct opinion, the pseudo-algorithm should be: 1. find a random real number in the closed interval [0, a] 2. round it towards zero. IOW, that 'a' is never the result is a consequence of the rounding step, not of using a half-open interval in step 1. However, Common Lisp disagrees, and the cl- prefix kind of hints we should heed its opinions. And using (* x (cl-random 1.0)) if that's what you want seems easy enough (and, either way, you get bitten by the low precision, with only 8 million possible outcomes). Will modify the patch accordingly. Pip
bug-gnu-emacs@HIDDEN
:bug#75105
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 17 Feb 2025 18:26:48 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 17 13:26:48 2025 Received: from localhost ([127.0.0.1]:48960 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tk5pP-0000nz-DS for submit <at> debbugs.gnu.org; Mon, 17 Feb 2025 13:26:48 -0500 Received: from lists.gnu.org ([2001:470:142::17]:37344) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>) id 1tk5pN-0000n1-9P for submit <at> debbugs.gnu.org; Mon, 17 Feb 2025 13:26:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <pipcet@HIDDEN>) id 1tk5pC-0001RP-Lu for bug-gnu-emacs@HIDDEN; Mon, 17 Feb 2025 13:26:34 -0500 Received: from mail-10630.protonmail.ch ([79.135.106.30]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <pipcet@HIDDEN>) id 1tk5p9-00083h-Jr for bug-gnu-emacs@HIDDEN; Mon, 17 Feb 2025 13:26:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1739816788; x=1740075988; bh=6DkSz+8BntsXfvojF0XLEKyzHV54A38Mc+KkSV6dkNA=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=fghzMTBaK1RMutue/NjiAJKEpCz68A8khBsb2ABRVXZcYLQaJEq6X645pOZ8gR/Lb dePXTGFkaIHpSuP//TLodrupJM6Ujp975DXPFR6Z4bFUp4AxxQMjvy6YvhTLoUxOar WlVJGTetZBb7h28oSQXbH0u4X5L7uydUxjkjN4omLzt+Eu6fhoK7otgR5D9dZgbbb2 OfLAhT6w6QO7j89IbJ5qesrTuVlanMriwIDDjCU1A4pszf1zVe2nol50VEmCFT+BSg lSKPizLWCGWERogtxNH6+96UsEoRyr5RoG8xyFhbG+vM3CZCWfttLPtzly+kzPB2Cu OKGEpCO/sqyyA== Date: Mon, 17 Feb 2025 18:26:23 +0000 To: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN> From: Pip Cet <pipcet@HIDDEN> Subject: Re: bug#75105: (cl-random -1.0e+INF) Message-ID: <87h64s8m3d.fsf@HIDDEN> In-Reply-To: <CC4DD2DE-475E-4552-B0FD-187F213C53D2@HIDDEN> References: <87seqb73aa.fsf@HIDDEN> <87ikpahfxl.fsf@HIDDEN> <CC4DD2DE-475E-4552-B0FD-187F213C53D2@HIDDEN> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: 894797de20b05e7719047d7ab3e4c98bd269ee26 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=79.135.106.30; envelope-from=pipcet@HIDDEN; helo=mail-10630.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@HIDDEN, 75105 <at> debbugs.gnu.org, monnier@HIDDEN, mattiasengdegard@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) Mattias Engdeg=C3=A5rd <mattias.engdegard@HIDDEN> writes: > 16 feb. 2025 kl. 01.50 skrev Pip Cet <pipcet@HIDDEN>: > >> (cl-random 0.0) returns 0.0, but one could argue it should throw > > It definitely should throw, but perhaps it's not worth the > incompatibility? Not sure, because existing code that passes 0.0 is > likely buggy anyway. Or we could say that it's just an ad-hoc > extension, by vague analogy of (car nil) =3D nil. On mathematical grounds, in my humble but correct opinion, the pseudo-algorithm should be: 1. find a random real number in the closed interval [0, a] 2. round it towards zero. IOW, that 'a' is never the result is a consequence of the rounding step, not of using a half-open interval in step 1. However, Common Lisp disagrees, and the cl- prefix kind of hints we should heed its opinions. And using (* x (cl-random 1.0)) if that's what you want seems easy enough (and, either way, you get bitten by the low precision, with only 8 million possible outcomes). Will modify the patch accordingly. Pip
bug-gnu-emacs@HIDDEN
:bug#75105
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 17 Feb 2025 18:10:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 17 13:10:24 2025 Received: from localhost ([127.0.0.1]:48756 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tk5ZO-0004oe-Ii for submit <at> debbugs.gnu.org; Mon, 17 Feb 2025 13:10:24 -0500 Received: from lists.gnu.org ([2001:470:142::17]:58468) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <mattias.engdegard@HIDDEN>) id 1tk5ZC-0004kC-JX for submit <at> debbugs.gnu.org; Mon, 17 Feb 2025 13:10:03 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <mattias.engdegard@HIDDEN>) id 1tk5Z6-0004iM-Jx for bug-gnu-emacs@HIDDEN; Mon, 17 Feb 2025 13:09:56 -0500 Received: from mail-lj1-x230.google.com ([2a00:1450:4864:20::230]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <mattias.engdegard@HIDDEN>) id 1tk5Z5-0005m4-0C for bug-gnu-emacs@HIDDEN; Mon, 17 Feb 2025 13:09:56 -0500 Received: by mail-lj1-x230.google.com with SMTP id 38308e7fff4ca-307c13298eeso47890081fa.0 for <bug-gnu-emacs@HIDDEN>; Mon, 17 Feb 2025 10:09:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739815793; x=1740420593; darn=gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=wP10mouz9anaxRnlABDn/aqMvEjqVdPyX0HDrPJr7lo=; b=VRUFneDYSrI0HWby+hhlLL9GTzNOvbFUki5LWAoZiuMOuTlTz5ZgEO6NitIj4ylPTi Qzzh357o/5E955/RV34LU4pcT9x6R/OyvVv9FhkxK3IemEbs3qnCyVeV1ASl2aI60DgD cDqJwCKD588tgHih9XCdF0sKBVym7OD+EfVSkm4TDpOYm0pTBDyaPA04+JuCBZs8QTIe Sf684fyGMjOGYBnrLvdwXixikZ68UpFX3ytWscVENuMYAalm4G4HrgsqExfTzu46OZjM sb1XDMEOUOVl84Ch/xKjiIxUFZrcNtvw/UoT5TOS+G2GYRS3cLhimParvF/reYU+Cim3 W6RQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739815793; x=1740420593; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=wP10mouz9anaxRnlABDn/aqMvEjqVdPyX0HDrPJr7lo=; b=DmP4jRk+yW80ok+mvFmaGFtHANsSQAw4ycrdsJ/SVPYVyTrkRYCdZjxcJ+HW/WFsL3 1JK4bYWC/aEQ98v50M2jbLpp4/2ytXlIHICFSUCjvf/XWgHavcBDTP7pKVNHAKByftF9 BMDe6AgHYlYGF/bQ2Bf+uF8osUsXmrPgVqTwUbjVt2puzkxyQRemeAwfTCpBdXWDN9+S QklbIIq8FYY9vv5Uogj1ql+Non1p7SGUNmoGhdGLvkwWk096WyLzOVuGWtgV4FFeYoF7 uxeQHlge+UX7rrhB1o1J6XYpieJGrgPDW9w6CfP1GMbLVVsYjt5fcO/+0SG7KmujhVcK f93g== X-Gm-Message-State: AOJu0YyFHkjiFl8VhAWHL/xDbFng36DETSUvT9xcEbCAlLxxy6QUJoQS LlNjN1I1EJrhIcOi6OnTizi1uZ8uIxZ/a1dVn4Pn19y1Rwxg3kDO X-Gm-Gg: ASbGncsHGaacId2Jo4BTrZNIWM6qkEtWsLJdnx5rBohIfjBFvtUXq3I0CMT/X/w1xtZ NcXfQXCfK6sPAQfhGFrhMdPJ94PbqZBHxEKtLnHGTkulKPvAS0Pn61FdJBv5AKLPVNBx79ldLvz skCm9AYUP2goB4TdBWOUWw0y+WN27019B0oVMIiExjCsY7S3qCjaPpjyvqbH+RuioteC2ywqSjZ WedCUGo33Z8sNixSib9YTHZh8EScA/PXDvmDXvEqOcEE65L9icd4+FHqSZXQrr5zxtkZkfL+3ly 0kFYTPrOQHD1tZCPGKHopE03QhRnMEOHGJpy85vrq5E8qhz3M+XjHXcrFcDIK+yA7eyP0oA94K0 zP+cNcw== X-Google-Smtp-Source: AGHT+IHs9xUoHivXg3azu3VKUgAJWbhkzrG8ia0SDulP3wUdtA4YH6zpIqF5Q0yNTJ5rEzb1eatrQA== X-Received: by 2002:a2e:9616:0:b0:302:2cb3:bb1d with SMTP id 38308e7fff4ca-309288de1d3mr25925591fa.12.1739815792437; Mon, 17 Feb 2025 10:09:52 -0800 (PST) Received: from smtpclient.apple (c188-150-186-155.bredband.tele2.se. [188.150.186.155]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-3091011ed8bsm17140091fa.56.2025.02.17.10.09.51 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Feb 2025 10:09:52 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Subject: Re: bug#75105: (cl-random -1.0e+INF) From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN> In-Reply-To: <87ikpahfxl.fsf@HIDDEN> Date: Mon, 17 Feb 2025 19:09:51 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <CC4DD2DE-475E-4552-B0FD-187F213C53D2@HIDDEN> References: <87seqb73aa.fsf@HIDDEN> <87ikpahfxl.fsf@HIDDEN> To: Pip Cet <pipcet@HIDDEN> X-Mailer: Apple Mail (2.3654.120.0.1.15) Received-SPF: pass client-ip=2a00:1450:4864:20::230; envelope-from=mattias.engdegard@HIDDEN; helo=mail-lj1-x230.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@HIDDEN, 75105 <at> debbugs.gnu.org, monnier@HIDDEN, mattiasengdegard@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) 16 feb. 2025 kl. 01.50 skrev Pip Cet <pipcet@HIDDEN>: > (cl-random 0.0) returns 0.0, but one could argue it should throw It definitely should throw, but perhaps it's not worth the = incompatibility? Not sure, because existing code that passes 0.0 is = likely buggy anyway. Or we could say that it's just an ad-hoc extension, by vague analogy of = (car nil) =3D nil.
bug-gnu-emacs@HIDDEN
:bug#75105
; Package emacs
.
Full text available.Received: (at 75105) by debbugs.gnu.org; 17 Feb 2025 18:10:02 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 17 13:10:02 2025 Received: from localhost ([127.0.0.1]:48748 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tk5ZB-0004kh-Se for submit <at> debbugs.gnu.org; Mon, 17 Feb 2025 13:10:02 -0500 Received: from mail-lj1-x229.google.com ([2a00:1450:4864:20::229]:43152) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <mattias.engdegard@HIDDEN>) id 1tk5Z9-0004k3-Ea for 75105 <at> debbugs.gnu.org; Mon, 17 Feb 2025 13:10:00 -0500 Received: by mail-lj1-x229.google.com with SMTP id 38308e7fff4ca-30920855d5bso33592861fa.0 for <75105 <at> debbugs.gnu.org>; Mon, 17 Feb 2025 10:09:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739815793; x=1740420593; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=wP10mouz9anaxRnlABDn/aqMvEjqVdPyX0HDrPJr7lo=; b=bJ/KmK4N5ApMRMZOeEDEt75zI7vhPNc7Kyzez1pAHUjOYTuyAXjyFiM34f+yHepHfT lnjvXzd2kZ3JWSyaOW6KQhxqwAoJmv026fnOI+DC/GqSXmT+0QYLeWBjP8sioJbSYorV iTCjv1HOrIq0yJSn5KSNvZs+0cDcJHkYLmNwE3+OyvLOlcaseYagVVAuZMo3grrVE7Da bXMEDi6r2GHJ8lLC86/fFpct4UP69OCETXFEtXeF6MCcWxDy24qyDHsc/cuJeVIU150A 8pMFJvl/KH3GgzhASgO+bj9DqqGmksfZUs678/BgUMlGDwzXRJBlBIQrSHrZQGvmSWI5 fZbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739815793; x=1740420593; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=wP10mouz9anaxRnlABDn/aqMvEjqVdPyX0HDrPJr7lo=; b=xQ9XXDhfFLhNCone8f6JJr2zqOppXpKnOmZOssTINR/dhc9Upygenay1LWBc5E5PJG DKFKSQs99xuV4qMKScGmZvVTccdUkhdXJRepLUVGHQgz4YP8k8Wj9yz1Es1VwN6Sz19a x5mDX4meMwNiuojNhNOo81hiJWZ7UgQpvodIe1v8cf6WSHq7ho9fIbIbJzfqW77XHFH8 9+9hpawXTdDzTb1cWdlNjScMH9sRClhduPifrFP+KbwppDrwUgvEx7KFFLxPTR9Dj8qz 6xNoIxbwV4/QtetMIIWoFQM2K9BsYg/61Du2QG21S4J6NFZs6U7UOL8olP7lDBbqeieb DNvg== X-Forwarded-Encrypted: i=1; AJvYcCW8OObsxgZF88h8jcaRutuvSQ5efZYo0OatnTgg+RAyOnS0WmdNVirjULzSA40e2j7DqkKzmw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxVIRSMvptYzmIFNmCC//fE+n8svRo5yvR7TagkxaneVaNi2eSr j+Lh/r2/+QmRk5tByw3CUS8KE+cqBdu/VwOwFrwpK8UbQhSeELT4 X-Gm-Gg: ASbGnctE0moMGuLql1jUFxewILGKt+3C3r406r+zppndJpU0nDKxJKB68I8aO2KBPC2 FL/shqhtMF/GtyxoIJVI/A20SOSYQ1OW1ocEIv2LdH7zJGPGgqH6T7INcodaheYH9FDasZBuyXH P4lJd9/4di3gDMABb4I2hSwaBS2ZT3MwO0EDTh4eYvKeLTIRTSHaYc235J34GTevaNymanXLjy0 ZHmTooSdNRjUmey4ADuYOBG4etcCJBn7TNc8wqZmxQdz+w/XH4Lemmp/+dwuqJOtDSssoWqn5Qy ellXe5HknyxmynyAdMywo7VOFx/2t2IllWWZ+Pks28WcuFpk2XB5MTO2YpyfkeYs4nyYsvnnQGb qOvvuVQ== X-Google-Smtp-Source: AGHT+IHs9xUoHivXg3azu3VKUgAJWbhkzrG8ia0SDulP3wUdtA4YH6zpIqF5Q0yNTJ5rEzb1eatrQA== X-Received: by 2002:a2e:9616:0:b0:302:2cb3:bb1d with SMTP id 38308e7fff4ca-309288de1d3mr25925591fa.12.1739815792437; Mon, 17 Feb 2025 10:09:52 -0800 (PST) Received: from smtpclient.apple (c188-150-186-155.bredband.tele2.se. [188.150.186.155]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-3091011ed8bsm17140091fa.56.2025.02.17.10.09.51 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Feb 2025 10:09:52 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Subject: Re: bug#75105: (cl-random -1.0e+INF) From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN> In-Reply-To: <87ikpahfxl.fsf@HIDDEN> Date: Mon, 17 Feb 2025 19:09:51 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <CC4DD2DE-475E-4552-B0FD-187F213C53D2@HIDDEN> References: <87seqb73aa.fsf@HIDDEN> <87ikpahfxl.fsf@HIDDEN> To: Pip Cet <pipcet@HIDDEN> X-Mailer: Apple Mail (2.3654.120.0.1.15) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75105 Cc: bug-gnu-emacs@HIDDEN, 75105 <at> debbugs.gnu.org, monnier@HIDDEN, mattiasengdegard@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) 16 feb. 2025 kl. 01.50 skrev Pip Cet <pipcet@HIDDEN>: > (cl-random 0.0) returns 0.0, but one could argue it should throw It definitely should throw, but perhaps it's not worth the = incompatibility? Not sure, because existing code that passes 0.0 is = likely buggy anyway. Or we could say that it's just an ad-hoc extension, by vague analogy of = (car nil) =3D nil.
bug-gnu-emacs@HIDDEN
:bug#75105
; Package emacs
.
Full text available.Received: (at 75105) by debbugs.gnu.org; 16 Feb 2025 00:50:22 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 15 19:50:22 2025 Received: from localhost ([127.0.0.1]:59031 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tjSrW-0004yl-48 for submit <at> debbugs.gnu.org; Sat, 15 Feb 2025 19:50:22 -0500 Received: from mail-10629.protonmail.ch ([79.135.106.29]:57931) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>) id 1tjSrO-0004wy-C9 for 75105 <at> debbugs.gnu.org; Sat, 15 Feb 2025 19:50:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1739667007; x=1739926207; bh=6Kxq8NXjDcf/xvJMoPZeHoGyUw8IJCZxbfBUaLiR5AU=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=xH8M8ZL0zll4ib7PF4ah91FVbHfOmlT7pDGYMoEzVRMBe/qaypM8UvgiUJhP+b+Sz LbR8IUb6w32C7SV/kQgteNtd/9/L1l2VYseitAywL5PRx9IseAMH1xSpgGF5j1lbp9 2Dj/Z/S2/oLH7h74jykaAoTGb2lTzRB+R0oCtiO0Jq+3sDJ+oZe8w3jmb/0GNbw/Pl R4bk2khw1zkIsKTbDc+aBbOr/mkp2JNpxLa4fm9Yd4dDpTaxTULUmW+nBdiCMHUgu5 rrOaSOunYlN/c1uo9PDXryXbr3uc3030yObzNa5eJpxabWex2dQFOvp3w7aPZWZhm8 /Jk727A1NbqbA== Date: Sun, 16 Feb 2025 00:50:04 +0000 To: bug-gnu-emacs@HIDDEN, 75105 <at> debbugs.gnu.org, mattiasengdegard@HIDDEN, monnier@HIDDEN From: Pip Cet <pipcet@HIDDEN> Subject: Re: bug#75105: (cl-random -1.0e+INF) Message-ID: <87ikpahfxl.fsf@HIDDEN> In-Reply-To: <87seqb73aa.fsf@HIDDEN> References: <87seqb73aa.fsf@HIDDEN> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: de5ca5c2f784ec5486becb1cca964e20ce915fc2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75105 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) "Pip Cet via \"Bug reports for GNU Emacs, the Swiss army knife of text edit= ors\"" <bug-gnu-emacs@HIDDEN> writes: > The current behavior of (cl-random -1.0e+INF) is to return NaN with a > probability of 1.1920928955078125e-07, and -1.0e+INF in the remaining > cases. Okay, so maybe I was wrong and that should be fixed. This patch will make cl-random behave consistently, though one could argue about some cases: (cl-random 0) involves a division by zero, as it should (cl-random 1.0e+INF) returns 1.0e+INF, as it should (cl-random 0.0) returns 0.0, but one could argue it should throw (cl-random -0.0) should do the same as (cl-random -0.0) since negative zero is a myth. Updating the docstring would be nice, too. From 22e59a481a7a1c2cbff349af0f6faa2f428981a8 Mon Sep 17 00:00:00 2001 From: Pip Cet <pipcet@HIDDEN> Subject: [PATCH] Make cl-random behave consistently for unusual arguments (bug#75105) The old behavior was for (cl-random -1.0e+INF) to return NaN in about one of eight million calls, and -1.0e+INF otherwise. Other unusual arguments were handled inconsistently as well. * lisp/emacs-lisp/cl-extra.el (cl-random): Handle nonnegative arguments consistently, error for negative arguments. * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-random): New test. --- lisp/emacs-lisp/cl-extra.el | 20 +++++++++++++------- test/lisp/emacs-lisp/cl-extra-tests.el | 10 ++++++++++ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index 09470457d93..8c218ff9d7e 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -494,13 +494,19 @@ cl-random (let* ((i (cl-callf (lambda (x) (% (1+ x) 55)) (cl--random-state-i sta= te))) =09 (j (cl-callf (lambda (x) (% (1+ x) 55)) (cl--random-state-j state))) =09 (n (aset vec i (logand 8388607 (- (aref vec i) (aref vec j)))))) - (if (integerp lim) -=09 (if (<=3D lim 512) (% n lim) -=09 (if (> lim 8388607) (setq n (+ (ash n 9) (cl-random 512 state)))) -=09 (let ((mask 1023)) -=09 (while (< mask (1- lim)) (setq mask (1+ (+ mask mask)))) -=09 (if (< (setq n (logand n mask)) lim) n (cl-random lim state)))) -=09(* (/ n '8388608e0) lim))))) + (cond + ((natnump lim) +=09(if (<=3D lim 512) (% n lim) +=09 (if (> lim 8388607) (setq n (+ (ash n 9) (cl-random 512 state)))) +=09 (let ((mask 1023)) +=09 (while (< mask (1- lim)) (setq mask (1+ (+ mask mask)))) +=09 (if (< (setq n (logand n mask)) lim) n (cl-random lim state))))) + ((< 0 lim 1.0e+INF) + (* (/ n '8388608e0) lim)) + ((< lim -0.0) + (error "negative limit supplied to cl-random")) + (t + lim))))) =20 ;;;###autoload (defun cl-make-random-state (&optional state) diff --git a/test/lisp/emacs-lisp/cl-extra-tests.el b/test/lisp/emacs-lisp/= cl-extra-tests.el index 75533b36f29..d87c0bfec5d 100644 --- a/test/lisp/emacs-lisp/cl-extra-tests.el +++ b/test/lisp/emacs-lisp/cl-extra-tests.el @@ -348,4 +348,14 @@ cl-extra-test-tailp (should (cl-tailp l l)) (should (not (cl-tailp '(4 5) l))))) =20 +(ert-deftest cl-extra-test-random () + (should-error (cl-random -1)) + (should-error (cl-random -0.5)) + (should-error (cl-random -1.0e+INF)) + (should-error (cl-random 0)) + (should (eql (cl-random 1) 0))) + (should (eql (cl-random 0.0) 0.0)) + (should (=3D (cl-random -0.0) 0.0)) + (should (=3D (cl-random 1.0e+INF) 1.0e+INF)) + ;;; cl-extra-tests.el ends here --=20 2.48.1
bug-gnu-emacs@HIDDEN
:bug#75105
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 16 Feb 2025 00:50:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 15 19:50:47 2025 Received: from localhost ([127.0.0.1]:59035 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tjSrv-0004zX-6f for submit <at> debbugs.gnu.org; Sat, 15 Feb 2025 19:50:47 -0500 Received: from lists.gnu.org ([2001:470:142::17]:56686) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>) id 1tjSrs-0004z2-Cq for submit <at> debbugs.gnu.org; Sat, 15 Feb 2025 19:50:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <pipcet@HIDDEN>) id 1tjSrR-0000va-Ap for bug-gnu-emacs@HIDDEN; Sat, 15 Feb 2025 19:50:20 -0500 Received: from mail-10629.protonmail.ch ([79.135.106.29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <pipcet@HIDDEN>) id 1tjSrM-0004MM-4A for bug-gnu-emacs@HIDDEN; Sat, 15 Feb 2025 19:50:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1739667007; x=1739926207; bh=6Kxq8NXjDcf/xvJMoPZeHoGyUw8IJCZxbfBUaLiR5AU=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=xH8M8ZL0zll4ib7PF4ah91FVbHfOmlT7pDGYMoEzVRMBe/qaypM8UvgiUJhP+b+Sz LbR8IUb6w32C7SV/kQgteNtd/9/L1l2VYseitAywL5PRx9IseAMH1xSpgGF5j1lbp9 2Dj/Z/S2/oLH7h74jykaAoTGb2lTzRB+R0oCtiO0Jq+3sDJ+oZe8w3jmb/0GNbw/Pl R4bk2khw1zkIsKTbDc+aBbOr/mkp2JNpxLa4fm9Yd4dDpTaxTULUmW+nBdiCMHUgu5 rrOaSOunYlN/c1uo9PDXryXbr3uc3030yObzNa5eJpxabWex2dQFOvp3w7aPZWZhm8 /Jk727A1NbqbA== Date: Sun, 16 Feb 2025 00:50:04 +0000 To: bug-gnu-emacs@HIDDEN, 75105 <at> debbugs.gnu.org, mattiasengdegard@HIDDEN, monnier@HIDDEN From: Pip Cet <pipcet@HIDDEN> Subject: Re: bug#75105: (cl-random -1.0e+INF) Message-ID: <87ikpahfxl.fsf@HIDDEN> In-Reply-To: <87seqb73aa.fsf@HIDDEN> References: <87seqb73aa.fsf@HIDDEN> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: de5ca5c2f784ec5486becb1cca964e20ce915fc2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=79.135.106.29; envelope-from=pipcet@HIDDEN; helo=mail-10629.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) "Pip Cet via \"Bug reports for GNU Emacs, the Swiss army knife of text edit= ors\"" <bug-gnu-emacs@HIDDEN> writes: > The current behavior of (cl-random -1.0e+INF) is to return NaN with a > probability of 1.1920928955078125e-07, and -1.0e+INF in the remaining > cases. Okay, so maybe I was wrong and that should be fixed. This patch will make cl-random behave consistently, though one could argue about some cases: (cl-random 0) involves a division by zero, as it should (cl-random 1.0e+INF) returns 1.0e+INF, as it should (cl-random 0.0) returns 0.0, but one could argue it should throw (cl-random -0.0) should do the same as (cl-random -0.0) since negative zero is a myth. Updating the docstring would be nice, too. From 22e59a481a7a1c2cbff349af0f6faa2f428981a8 Mon Sep 17 00:00:00 2001 From: Pip Cet <pipcet@HIDDEN> Subject: [PATCH] Make cl-random behave consistently for unusual arguments (bug#75105) The old behavior was for (cl-random -1.0e+INF) to return NaN in about one of eight million calls, and -1.0e+INF otherwise. Other unusual arguments were handled inconsistently as well. * lisp/emacs-lisp/cl-extra.el (cl-random): Handle nonnegative arguments consistently, error for negative arguments. * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-random): New test. --- lisp/emacs-lisp/cl-extra.el | 20 +++++++++++++------- test/lisp/emacs-lisp/cl-extra-tests.el | 10 ++++++++++ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index 09470457d93..8c218ff9d7e 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -494,13 +494,19 @@ cl-random (let* ((i (cl-callf (lambda (x) (% (1+ x) 55)) (cl--random-state-i sta= te))) =09 (j (cl-callf (lambda (x) (% (1+ x) 55)) (cl--random-state-j state))) =09 (n (aset vec i (logand 8388607 (- (aref vec i) (aref vec j)))))) - (if (integerp lim) -=09 (if (<=3D lim 512) (% n lim) -=09 (if (> lim 8388607) (setq n (+ (ash n 9) (cl-random 512 state)))) -=09 (let ((mask 1023)) -=09 (while (< mask (1- lim)) (setq mask (1+ (+ mask mask)))) -=09 (if (< (setq n (logand n mask)) lim) n (cl-random lim state)))) -=09(* (/ n '8388608e0) lim))))) + (cond + ((natnump lim) +=09(if (<=3D lim 512) (% n lim) +=09 (if (> lim 8388607) (setq n (+ (ash n 9) (cl-random 512 state)))) +=09 (let ((mask 1023)) +=09 (while (< mask (1- lim)) (setq mask (1+ (+ mask mask)))) +=09 (if (< (setq n (logand n mask)) lim) n (cl-random lim state))))) + ((< 0 lim 1.0e+INF) + (* (/ n '8388608e0) lim)) + ((< lim -0.0) + (error "negative limit supplied to cl-random")) + (t + lim))))) =20 ;;;###autoload (defun cl-make-random-state (&optional state) diff --git a/test/lisp/emacs-lisp/cl-extra-tests.el b/test/lisp/emacs-lisp/= cl-extra-tests.el index 75533b36f29..d87c0bfec5d 100644 --- a/test/lisp/emacs-lisp/cl-extra-tests.el +++ b/test/lisp/emacs-lisp/cl-extra-tests.el @@ -348,4 +348,14 @@ cl-extra-test-tailp (should (cl-tailp l l)) (should (not (cl-tailp '(4 5) l))))) =20 +(ert-deftest cl-extra-test-random () + (should-error (cl-random -1)) + (should-error (cl-random -0.5)) + (should-error (cl-random -1.0e+INF)) + (should-error (cl-random 0)) + (should (eql (cl-random 1) 0))) + (should (eql (cl-random 0.0) 0.0)) + (should (=3D (cl-random -0.0) 0.0)) + (should (=3D (cl-random 1.0e+INF) 1.0e+INF)) + ;;; cl-extra-tests.el ends here --=20 2.48.1
bug-gnu-emacs@HIDDEN
:bug#75105
; Package emacs
.
Full text available.Stefan Kangas <stefankangas@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at submit) by debbugs.gnu.org; 25 Dec 2024 23:27:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 25 18:27:24 2024 Received: from localhost ([127.0.0.1]:39353 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tQami-0007Zs-2V for submit <at> debbugs.gnu.org; Wed, 25 Dec 2024 18:27:24 -0500 Received: from lists.gnu.org ([209.51.188.17]:34934) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>) id 1tQamg-0007Zk-7r for submit <at> debbugs.gnu.org; Wed, 25 Dec 2024 18:27:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <pipcet@HIDDEN>) id 1tQamf-0006gA-MY for bug-gnu-emacs@HIDDEN; Wed, 25 Dec 2024 18:27:22 -0500 Received: from mail-40133.protonmail.ch ([185.70.40.133]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <pipcet@HIDDEN>) id 1tQame-0002JT-2k for bug-gnu-emacs@HIDDEN; Wed, 25 Dec 2024 18:27:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1735169236; x=1735428436; bh=RO98GxvQonDRL3UTmwq1t6Owo49fSGVRYN/hX+46xWY=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector: List-Unsubscribe:List-Unsubscribe-Post; b=CN2gTq5yo5f9jaTillpN1ZmLzqV2IKKyU9omIOtS7jaYbw5KE1pSPq9nEpSI9rZzw Y/IWnB6ouq1qDnbBmijSA85r4UoFmoVW6yzmslSWqGbUh5UQuZiVCeRXJAL2YrRe8w eFMo6eRQ4+n1P9mxhohsf1R8Giwff5OotG+Yank0f8M0uQrAd9+WtyjANYZkzMxnvD Gf895alD6cSBjkUfVHRr3A/CwaORGBKo3MUO6VIi+0W2pu5bOq/IVxlo7kVETO5FHm kYFFKCQdzsRw3x9bU7kvnOkKMX7doT4AQ2Ke05Y353dFL3lDA5lFl0js1u9CHpAF9g 3m80vXNteT+tQ== Date: Wed, 25 Dec 2024 23:27:09 +0000 To: bug-gnu-emacs@HIDDEN, =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= <mattiasengdegard@HIDDEN>, Stefan Monnier <monnier@HIDDEN> From: Pip Cet <pipcet@HIDDEN> Subject: (cl-random -1.0e+INF) Message-ID: <87seqb73aa.fsf@HIDDEN> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: bd07054c7c81eab97a4d3ebde771849147a8b2de MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.40.133; envelope-from=pipcet@HIDDEN; helo=mail-40133.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) The current behavior of (cl-random -1.0e+INF) is to return NaN with a probability of 1.1920928955078125e-07, and -1.0e+INF in the remaining cases. There are at least two reasonable things cl-random can return for a negative argument. cl-random implements both, returning a float with negative sign or a nonnegative integer. There are at least two reasonable things cl-random can do in response to a zero argument. cl-random implements three of them: (cl-random 0.0) is 0.0 (cl-random -0.0) is -0.0 (cl-random 0) throws an error While "(while (not (isnan (cl-random -1.0e+INF))))" is an interesting benchmark, its behavior may be somewhat surprising. As this behavior has been in place since at least 1993 (when the function was called random*), users may rely on it, and only the docstring should be changed.
Pip Cet <pipcet@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#75105
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.