: [Bug-apl] Problem with modulo arithmetic on
Gaussian integers redux
Sorry,
please ignore that. I had not done an
Sorry, please ignore that. I had not done an svn update.
With the latest svn I get:
¯1J11 | ¯12J10
0
... so it's looking good!
On 15 June 2017 at 13:50, Jay Foad wrote:
> I get:
>
> ¯1J11 | ¯12J10
> computing (-12,10) modulo (-1,11)
> ⎕CT is: 1e-13
> the quotient B ÷ A is: (0.
I get:
¯1J11 | ¯12J10
computing (-12,10) modulo (-1,11)
⎕CT is: 1e-13
the quotient B ÷ A is: (0.,0.)
the quotient rounded down is: (1,0)
¯11J¯1
On 15 June 2017 at 13:47, Juergen Sauermann
wrote:
> Hi,
>
> I have changed the implementation of *ComplexCell::b
Hi,
I have changed the implementation of ComplexCell::bif_residue()
to use a more
intuitive implementation of integral_within(). (the old
one used tolerant_floor() with
the dubious half-plane definition from the ISO standard).
The new ver
Hi Jay,
thanks again for the explanation. As a matter of fact, older GNU
APL versions did use a
more common-sense definition of tolerant floor, but then Fred
reported problems with the
Gaussian integers and I thought that this may be caused by me not
Another example from Fred:
¯1J11 | ¯12J10 ⍝ should be zero
¯11J¯1
This seems to be a consequence of the ISO standard's curious definition of
tolerant-floor. I would naively expect the tolerant floor of
A←0.99989J0.99989 to be 1J1, but according to the
standard (and h
Hi Jay, Fred,
thanks a lot, Jay, for figuring this out.
Fred, I made the change proposed by Jay. Please let me know if the
problem persists. SVN 958.
/// Jürgen
On 06/14/2017 03:13 PM, Jay Foad wrote:
It got broken in
> Jürgen, Jay, Kacper,
The last time this error occurred on my platform, you could
not reproduce it on yours. However, Jay Foad and Kacper Gutowski were
able to reproduce the error. Hopefully one or both of them or someone
else on the Bug-apl list will be able to do so again.
Regards,
F
It got broken in r939. The problem is in Cell.icc:
//-
inline bool
Cell::integral_within(APL_Complex A, APL_Float B)
{
const APL_Complex C = -A;
return tolerant_floor(C, B) == tolerant_floor(A, B);
}
//-
Hi Fred,
not sure what to do about that. On my machine I am getting:
1J3 ∣ 8J4
0
and your TGI0.apl
program seems not to output anything.
Best Regqrds,
Jürgen Sauermann
On 06/14/2017 05:52 AM, Frederick P
10 matches
Mail list logo