9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: tlaronde@polynum.com
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Rounding off by one
Date: Mon, 19 Apr 2010 20:15:33 +0200	[thread overview]
Message-ID: <20100419181533.GA2071@polynum.com> (raw)
In-Reply-To: <20100419161143.GA1377@shodan.homeunix.net>

On Mon, Apr 19, 2010 at 06:11:43PM +0200, Martin Neubauer wrote:
> * tlaronde@polynum.com (tlaronde@polynum.com) wrote:
> > While verifying that I have the same result under Plan9 than under some
> > Unix (NetBSD), it happens that METAFONT compiles 110 of the 125 fontes,
> > but hence fails on some (and it should not) with something that smells
> > like a round off by one error on negative integer division. There is no
> > problem with TeX, but TeX doesn't do the same things.
> This might not be related to your problem, but during the recent
> discussion of Plan 9's future /sys/src/cmd/cc/c99 was mentioned.
> Reference 25 (in section "Not done") at least seems to be a good
> candidate for a test case between Plan 9 and NetBSD compilers.

Thanks for the note. But I think I have found the problem: a division by
2 supposed to be "floor" and that slips as (x + y) / 2: is there
anything that guarantees that the result shall be floor, ceil or
nearest? I find nothing in C89.

If this is the case, (x + y) >> 1 will be the solution (suggested by
Donald E. Knuth in the METAFONTbook by the way), and that could be an
explanation of why it works with gcc, because it optimizes this.

I hope this is it, since I will finally be able to publish...

Cheers,
--
        Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
                      http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C



  reply	other threads:[~2010-04-19 18:15 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-19 15:43 tlaronde
2010-04-19 16:11 ` Martin Neubauer
2010-04-19 18:15   ` tlaronde [this message]
2010-04-19 18:26     ` tlaronde
2010-04-19 18:55 ` Federico G. Benavento
2010-04-19 19:03   ` erik quanstrom
2010-04-19 19:14     ` Federico G. Benavento
2010-04-19 19:28     ` tlaronde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100419181533.GA2071@polynum.com \
    --to=tlaronde@polynum.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).