From owner-freebsd-hackers@FreeBSD.ORG Fri Aug 29 08:56:13 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 680929D5 for ; Fri, 29 Aug 2014 08:56:13 +0000 (UTC) Received: from mail-pa0-x229.google.com (mail-pa0-x229.google.com [IPv6:2607:f8b0:400e:c03::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3A3B71B39 for ; Fri, 29 Aug 2014 08:56:13 +0000 (UTC) Received: by mail-pa0-f41.google.com with SMTP id lj1so6089861pab.28 for ; Fri, 29 Aug 2014 01:56:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=9589ska9TSPiUdbjAklb26/Frooidq2oorRsE59Sd00=; b=flwCXdS+Y3lRudqFqqD5q2nUdYyk5KIIFIK1XwCSLxi9wTxLoGS6LiT7eU4r1dmoTY djrkDb4FCZhGeNfAEnahZZN3fM149/l2fhflYaW9OF02FpQ6fb5cMgIVWJajLCmmePC/ q2iZbCUAlcDKONu4xBqUG+8w49kYAzV7TJdaXy4IYGO59UEOgQOZM3tY9gN+uj/QDAfA AxzloiiJauaL5/g3AXtaYTi6QqR3/6UR1pjpWSNr4YS6nFBGHJ4z4ZGR3guVjMq5TVmc FoKTXBmO9ds/j+WPcxhoQnRrEybiRIUjC0DueF1hIQtLNJl7+3KtYyFI+RcJ8iKm21yy bh+A== X-Received: by 10.70.34.235 with SMTP id c11mr13760819pdj.76.1409302572579; Fri, 29 Aug 2014 01:56:12 -0700 (PDT) Received: from [10.240.140.110] ([123.58.191.67]) by mx.google.com with ESMTPSA id bx6sm21559530pab.48.2014.08.29.01.56.10 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 29 Aug 2014 01:56:12 -0700 (PDT) Content-Type: text/plain; charset="utf8"; Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: On changing rand(3) to random(3) in awk(1) X-Pgp-Agent: GPGMail (null) From: Chenguang Li In-Reply-To: <54003C42.1070309@gmail.com> Date: Fri, 29 Aug 2014 16:55:57 +0800 Content-Transfer-Encoding: 8bit Message-Id: <97E2800A-1AC1-4595-872B-E4576D4B5FFB@gmail.com> References: <53FEFBB8.5040305@gmail.com> <20140828131526.GA2385@straylight.m.ringlet.net> <5C40F611-22EB-49E4-8925-37922E771C0F@gmail.com> <53FF574E.1090108@gmail.com> <78248D53-D8B6-4135-B900-74E0047F92F1@gmail.com> <54003C42.1070309@gmail.com> To: Vitaly Magerya X-Mailer: Apple Mail (2.1878.6) Cc: freebsd-hackers@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Aug 2014 08:56:13 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Vitaly Magerya wrote: > On 2014-08-29 10:12, Chenguang Li wrote: >> ... ... >> >> Yes, I've noticed there's a fairness problem, 0 comes out more often. Since >> the original code is buggy too, do we need to be compatible with it? >> > I see no reason why we would. > > Interestingly enough, GNU awk has this bug as well (and I am entirely > too lazy to report it). Yes, I came across that line a few days ago. OSX's awk also has this bug, judging from their code[1]: u = (Awkfloat) (random() % RAND_MAX) / RAND_MAX; >> Thanks for pointing that out, I've modified the gist as your suggestion. > > Looks good to me. You might want to open a bug report with that patch, > as it's not clear if any committer is reading this thread. I guess Peter (roam@) is one of the committers? [1] http://www.opensource.apple.com/source/awk/awk-18/src/run.c Chenguang Li -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJUAEAjAAoJELG4cS+11lRhJWcP/jo5UwRDrOrqJhatH8iZC4P0 XqaOZh35tAgNdzWKS9GtTirUVWcCNcIqN6VfqYLjTFBnXa1bKk2KntwzW2oCd86J Cl/JaMMaiIqoMGhG1D4i2rue73cl+XWhX8EiRN3BhcLLWkVdYGDzwKkTFzE4t35Y FxCfNhIr/05Ek6rsAsGiEgGIuOpztUL7QpYTrhaP/SmBD8ffdL56MdgxCryR9Z5c 321Rt14CAhlzYAlwjNL0KLetQDIufuCrUmlnsip0PeYXzzx0F/L4Uox9eBj0vPTW bg6IYTOKpYhtj2vgKqkK8iWMxOSpCqBIMd2WgfofVxKgWBRMb3FY1yHzrpiu4cb4 osAEfCLp9NCMArFQZB563yuM2PhhSSGw561JJhUNNtKv7kCMYeXFOdEGesggcOhK 8XS1qQHzymAzNlysNoBDD56KhNgMwLxLSxPZEWCqF/rLUwumQC+g5/OO/DXsD2pa 1ZnwEMIz1f6uLqdpTpB3plRfmKlikFrDc9F/yCZbOSXBO/w8iZeQucEjoe57HaXE jAbkCJfAoJtA8E+YwgZhaWJOwDOI2IUMrILfyE6T5VqHeTDeu/U+449ykiv+cU/4 uNJFc0sqI/+Ww/ZVjkruOiH056+IUM4jmaAMxQZ3XMG5pEQccLe/rqCyLcvzYTr3 9c7HvK6f0iUsgKCHcwgn =Pxqp -----END PGP SIGNATURE-----