[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Devel] Getting accurate advances
From: |
Rogier van Dalen |
Subject: |
Re: [Devel] Getting accurate advances |
Date: |
Tue, 25 Nov 2003 00:26:39 +0100 |
> > The undocumented behaviour for the MSIRP instruction is fixed, as
> > well as (documented!) behaviour for rounding zero and the DIV
> > instruction.
>
> Hmm, it is not clear to me why you replace
>
> args[0] = TT_MULDIV( args[0], 64L, args[1] );
>
> with
>
> args[0] = ( args[0] * 64L ) / args[1];
Because, as the MS spec states rather clearly,
"[The DIV instruction] truncates rather than rounds the value."
> Since FT_Int64 can be either a structure or a data type we have to
> provide some code in case TT_MULDIV really can't be used here to avoid
> overflow.
Then, I'm afraid, that code will have to be provided. (I don't quite feel up
to this myself.)
>
> I've now applied everything, together with my fixes for improved
> computation of linearHoriAdvance and linearVertAdvance. Please test.
>
> A big hurray to Rogier!
Thanks :-)
Rogier
- Re: [Devel] Getting accurate advances, (continued)
RE: [Devel] Getting accurate advances, Turner David, 2003/11/20
RE: [Devel] Getting accurate advances, Turner David, 2003/11/20
- Re: [Devel] Getting accurate advances, Werner LEMBERG, 2003/11/21
- Re: [Devel] Getting accurate advances, Rogier van Dalen, 2003/11/22
- Re: [Devel] Getting accurate advances, Werner LEMBERG, 2003/11/23
- Re: [Devel] Getting accurate advances, Rogier van Dalen, 2003/11/24
- Re: [Devel] Getting accurate advances, Werner LEMBERG, 2003/11/24
- Re: [Devel] Getting accurate advances,
Rogier van Dalen <=
- Re: [Devel] Getting accurate advances, Werner LEMBERG, 2003/11/25