From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steve Sprang Subject: Re: [PATCH] build: Fix potential type error when generating human-friendly byte count strings. Date: Wed, 9 Sep 2015 20:31:34 -0700 Message-ID: References: <87a8svuh8w.fsf@netris.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a1135329c635d1f051f5c3c00 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52258) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZZsaG-0000nh-7T for guix-devel@gnu.org; Wed, 09 Sep 2015 23:31:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZZsaE-0002R8-WB for guix-devel@gnu.org; Wed, 09 Sep 2015 23:31:36 -0400 Received: from mail-oi0-x22d.google.com ([2607:f8b0:4003:c06::22d]:34497) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZZsaE-0002QH-Pm for guix-devel@gnu.org; Wed, 09 Sep 2015 23:31:34 -0400 Received: by oiev17 with SMTP id v17so17490917oie.1 for ; Wed, 09 Sep 2015 20:31:34 -0700 (PDT) In-Reply-To: <87a8svuh8w.fsf@netris.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Mark H Weaver Cc: guix-devel@gnu.org --001a1135329c635d1f051f5c3c00 Content-Type: multipart/alternative; boundary=001a1135329c635d19051f5c3cfe --001a1135329c635d19051f5c3cfe Content-Type: text/plain; charset=UTF-8 Sure thing. Here you go. -Steve On Wed, Sep 9, 2015 at 7:42 PM, Mark H Weaver wrote: > Steve Sprang writes: > > > This is a follow up tweak to my previous "progress bar" patch. With a > > really slow throughput it's possible to get fractional sub-KiB byte > > counts, so I added some additional number massaging. > > Sounds good! Looks good to me except for a few minor nits on this > auxiliary procedure: > > > +(define (number->integer n) > > + "Given an arbitrary number N, round it and return the exact result." > > + (inexact->exact (round n))) > > How about calling it "nearest-exact-integer"? Also, it makes sense only > for real numbers, not arbitrary numbers, and the variable name N is > conventionally used to denote natural numbers, and X for real numbers. > > So, how about naming the argument 'x', and using something closer to the > following docstring: > > "Given a real number X, return the nearest exact integer, with ties > going to the nearest exact even integer." > > Otherwise, looks good to me. Can you send an updated patch? > > Mark > --001a1135329c635d19051f5c3cfe Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Sure thing. Here you go.

-Steve

On Wed, Sep 9, 2= 015 at 7:42 PM, Mark H Weaver <mhw@netris.org> wrote:
Steve Sprang <steve.sprang@gmail.com> writes:

> This is a follow up tweak to my previous "progress bar" patc= h. With a
> really slow throughput it's possible to get fractional sub-KiB byt= e
> counts, so I added some additional number massaging.

Sounds good!=C2=A0 Looks good to me except for a few minor nits on t= his
auxiliary procedure:

> +(define (number->integer n)
> +=C2=A0 "Given an arbitrary number N, round it and return the exa= ct result."
> +=C2=A0 (inexact->exact (round n)))

How about calling it "nearest-exact-integer"?=C2=A0 Also, it make= s sense only
for real numbers, not arbitrary numbers, and the variable name N is
conventionally used to denote natural numbers, and X for real numbers.

So, how about naming the argument 'x', and using something closer t= o the
following docstring:

=C2=A0 "Given a real number X, return the nearest exact integer, with = ties
going to the nearest exact even integer."

Otherwise, looks good to me.=C2=A0 Can you send an updated patch?

=C2=A0 =C2=A0 =C2=A0 Mark

--001a1135329c635d19051f5c3cfe-- --001a1135329c635d1f051f5c3c00 Content-Type: text/x-patch; charset=US-ASCII; name="type-fix2.patch" Content-Disposition: attachment; filename="type-fix2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iednqfcv0 RnJvbSA5MjJkOWFlOGI2ZjJjMTM2MzhiNDlmY2M4Yjc5ZjhkNDY0ZjAxMjQ0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGV2ZSBTcHJhbmcgPHNjc0BzdGV2ZXNwcmFuZy5jb20+CkRh dGU6IFdlZCwgOSBTZXAgMjAxNSAxMzo1OTo1MiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxk OiBGaXggcG90ZW50aWFsIHR5cGUgZXJyb3Igd2hlbiBnZW5lcmF0aW5nCiBodW1hbi1mcmllbmRs eSBieXRlIGNvdW50IHN0cmluZ3MuCgoqIGd1aXgvYnVpbGQvZG93bmxvYWQuc2NtIChuZWFyZXN0 LWV4YWN0LWludGVnZXIpOiBOZXcgZnVuY3Rpb24uCiAgKHNlY29uZHMtPnN0cmluZyk6IFVzZSBu ZXcgcm91bmRpbmcgZnVuY3Rpb24uCiAgKGJ5dGUtY291bnQtPnN0cmluZyk6ICBVc2UgbmV3IHJv dW5kaW5nIGZ1bmN0aW9uLgotLS0KIGd1aXgvYnVpbGQvZG93bmxvYWQuc2NtIHwgMTEgKysrKysr KystLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZ3VpeC9idWlsZC9kb3dubG9hZC5zY20gYi9ndWl4L2J1aWxkL2Rvd25sb2Fk LnNjbQppbmRleCA2ZTg1MTc0Li4zMWQ2MGZiIDEwMDY0NAotLS0gYS9ndWl4L2J1aWxkL2Rvd25s b2FkLnNjbQorKysgYi9ndWl4L2J1aWxkL2Rvd25sb2FkLnNjbQpAQCAtNDksNiArNDksMTEgQEAK ICAgOzsgU2l6ZSBvZiB0aGUgSFRUUCByZWNlaXZlIGJ1ZmZlci4KICAgNjU1MzYpCiAKKyhkZWZp bmUgKG5lYXJlc3QtZXhhY3QtaW50ZWdlciB4KQorICAiR2l2ZW4gYSByZWFsIG51bWJlciBYLCBy ZXR1cm4gdGhlIG5lYXJlc3QgZXhhY3QgaW50ZWdlciwgd2l0aCB0aWVzIGdvaW5nIHRvCit0aGUg bmVhcmVzdCBleGFjdCBldmVuIGludGVnZXIuIgorICAoaW5leGFjdC0+ZXhhY3QgKHJvdW5kIHgp KSkKKwogKGRlZmluZSAoZHVyYXRpb24tPnNlY29uZHMgZHVyYXRpb24pCiAgICJSZXR1cm4gdGhl IG51bWJlciBvZiBzZWNvbmRzIHJlcHJlc2VudGVkIGJ5IERVUkFUSU9OLCBhICd0aW1lLWR1cmF0 aW9uJwogb2JqZWN0LCBhcyBhbiBpbmV4YWN0IG51bWJlci4iCkBAIC02MCw3ICs2NSw3IEBAIG9i amVjdCwgYXMgYW4gaW5leGFjdCBudW1iZXIuIgogZm9ybWF0LiIKICAgKGlmIChub3QgKG51bWJl cj8gZHVyYXRpb24pKQogICAgICAgIjAwOjAwOjAwIgotICAgICAgKGxldCogKCh0b3RhbC1zZWNv bmRzIChpbmV4YWN0LT5leGFjdCAocm91bmQgZHVyYXRpb24pKSkKKyAgICAgIChsZXQqICgodG90 YWwtc2Vjb25kcyAobmVhcmVzdC1leGFjdC1pbnRlZ2VyIGR1cmF0aW9uKSkKICAgICAgICAgICAg ICAoZXh0cmEtc2Vjb25kcyAobW9kdWxvIHRvdGFsLXNlY29uZHMgMzYwMCkpCiAgICAgICAgICAg ICAgKGhvdXJzICAgICAgICAgKHF1b3RpZW50IHRvdGFsLXNlY29uZHMgMzYwMCkpCiAgICAgICAg ICAgICAgKG1pbnMgICAgICAgICAgKHF1b3RpZW50IGV4dHJhLXNlY29uZHMgNjApKQpAQCAtNzUs OCArODAsOCBAQCB3YXkuIgogICAgICAgICAoR2lCIChleHB0IDEwMjQuIDMpKQogICAgICAgICAo VGlCIChleHB0IDEwMjQuIDQpKSkKICAgICAoY29uZAotICAgICAoKDwgc2l6ZSBLaUIpIChmb3Jt YXQgI2YgIn5kQiIgKGluZXhhY3QtPmV4YWN0IHNpemUpKSkKLSAgICAgKCg8IHNpemUgTWlCKSAo Zm9ybWF0ICNmICJ+ZEtpQiIgKGluZXhhY3QtPmV4YWN0IChyb3VuZCAoLyBzaXplIEtpQikpKSkp CisgICAgICgoPCBzaXplIEtpQikgKGZvcm1hdCAjZiAifmRCIiAgICAgKG5lYXJlc3QtZXhhY3Qt aW50ZWdlciBzaXplKSkpCisgICAgICgoPCBzaXplIE1pQikgKGZvcm1hdCAjZiAifmRLaUIiICAg KG5lYXJlc3QtZXhhY3QtaW50ZWdlciAoLyBzaXplIEtpQikpKSkKICAgICAgKCg8IHNpemUgR2lC KSAoZm9ybWF0ICNmICJ+LDFmTWlCIiAoLyBzaXplIE1pQikpKQogICAgICAoKDwgc2l6ZSBUaUIp IChmb3JtYXQgI2YgIn4sMmZHaUIiICgvIHNpemUgR2lCKSkpCiAgICAgIChlbHNlICAgICAgICAg KGZvcm1hdCAjZiAifiwzZlRpQiIgKC8gc2l6ZSBUaUIpKSkpKSkKLS0gCjIuNS4wCgo= --001a1135329c635d1f051f5c3c00--