For your information, Dyalog APL returns this:
Dyalog APL/S-64 Version 15.0.29644 Unicode Edition Sat Jun 24 07:28:16 2017 clear ws 5J3 ∣ 14J5 1J4 ¯4J1 1J4 ¯4J1 ¯4J1
The same as what Fred was getting.
Hello Jürgen,
SVN 969 on my platform (Fedora 25, Intel(R) Core(TM) i7-6700 CPU)
5J3 | 14J5 1J4 ¯4J1
gives
1J4 ¯4J1 ¯4J1
not
¯1J4 ¯4J1 ¯4J1
Regards,
Fred
On Fri, 2017-06-23 at 17:38 +0200, Juergen Sauermann wrote:
Hi,
I have changed A∣B to literally follow the paper pointed
out by Jay.
The complex floor itself was already implemented like described in
the paper,
but A∣B was not.
Now (SVN 969) the complex A∣B is computed as
Z←B-A×⌊B÷A+A=0
without any attempts to improve the performance of the operation.
The result in the 5J3 modulus are now the same as in IBM
APL2 (and I suppose also in J)
5J3 ∣ 14J5
1J4 ¯4J1
¯4J1 ¯4J1 ¯4J1
I hope this finally fixed it. Thanks a lot to all that helped
fixing this bug.
/// Jürgen
On 06/23/2017 09:34 AM, Jay Foad wrote:
I urge you to read Eugene McDonnell's Complex
Floor, which also discusses Residue. I believe the design
he comes up with in this paper was adopted more or less verbatim
in APL. Also bear in mind that Floor and Residue in APL have to
work well on all complex numbers, not just the Gaussian
integers.
Jay.
|