|
From: | Juergen Sauermann |
Subject: | Re: [Bug-apl] Problem with modulo arithmetic on Gaussian integers |
Date: | Wed, 26 Apr 2017 17:45:52 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 |
Hi Peter et al, I believe the proper way to fix this is to find the root cause of it, not to find a compiler under which the problem does not occur. I am currently following Jays advice, but the work on it is still ongoing. // Jürgen On 04/26/2017 05:28 PM, Peter Teeson
wrote:
Works OK on my Early 2009 Mac Pro running macOS 10.10.5 Yosemite and APL #svn927 You have different HW but same OS & toolchain? So how about trying a different toolchain to see if it is the compiler etc? Or what about trying to disassemble the coded at the point of execution? Could it be something like missing an overflow? Just my 0.02¢ PeterOn Apr 26, 2017, at 1:44 AM, Frederick Pitts <address@hidden> wrote: To all, I have 3 machines running 64-bit Fedora 25 Workstation with g++ (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1) and either gnu-apl svn version 889 or 933. Two of the machines are about 8 years old and one less than a year old. On all three platforms, gnu-apl gives: 3J1 | 23J1 25J25 3J1 0 Juergen and Xtian (on svn 933) report their setups give the right answer: 0 0 Am I the only one seeing this problem? BTW, I have about 1500 more examples of the modulo operator failing out of 6765201 tests with distinct argument values. Regards, Fred On Tue, 2017-04-25 at 23:01 -0400, Christian Robert wrote:Same result as Juergen, Xtian. address@hidden:/home/xtian] $ apl ______ _ __ __ __ ___ ____ __ / ____// | / // / / / / | / __ \ / / / / __ / |/ // / / / / /| | / /_/ // / / /_/ // /| // /_/ / / ___ | / ____// /___ \____//_/ |_/ \____/ /_/ |_|/_/ /_____/ Welcome to GNU APL version 1.7 / 933M Copyright (C) 2008-2016 Dr. Jürgen Sauermann Banner by FIGlet: www.figlet.org This program comes with ABSOLUTELY NO WARRANTY; for details run: apl --gpl. This program is free software, and you are welcome to redistribute it according to the GNU Public License (GPL) version 3 or later. SAVED 2017-03-30 22:33:13 (GMT-4) 23J1 25J25 ÷ 3J1 7J¯2 10J5 3J1 | 23J1 25J25 0 0 On 2017-04-25 21:50, Frederick Pitts wrote:Juergen, I did a 'make clean' followed by 'make' and 'make install'. I obtained the same result that caused me to report the problem. The version of gnu-apl I'm using is svn rev 933. From the banner in your email, I see you're testing with code from your personal svn. Is it possible the changes you recently made to (ComplexCell.hh and FloatCell.hh) are not yet in the svn from which I clone? Regards, Fred On Tue, 2017-04-25 at 22:05 +0200, Juergen Sauermann wrote:Hi Fred, actually it does on my machine: ______ _ __ __ __ ___ ____ __ / ____// | / // / / / / | / __ \ / / / / __ / |/ // / / / / /| | / /_/ // / / /_/ // /| // /_/ / / ___ | / ____// /___ \____//_/ |_/ \____/ /_/ |_|/_/ /_____/ Welcome to GNU APL version 1.7 / 12784:12785M Copyright (C) 2008-2016 Dr. Jürgen Sauermann Banner by FIGlet: www.figlet.org This program comes with ABSOLUTELY NO WARRANTY; for details run: apl --gpl. This program is free software, and you are welcome to redistribute it according to the GNU Public License (GPL) version 3 or later. 23J1 25J25 ÷ 3J1 7J¯2 10J5 3J1 | 23J1 25J25 0 0 However, if I remember correctly then some of the changes that I made lately were in header files (ComplexCell.hh and FloatCell.hh). If you did ./configure without options, then your build is probably is a 'fast' one, which may not have detected header file changes. Please try make clean at the top level and rebuild GNU APL to see if the problem persists. Best Regards, Jürgen Sauermann On 04/25/2017 09:30 PM, Frederick Pitts wrote:Jeurgen, A greatest common divisor of 23J1 and 25J25 is 3J1. Complex division by of 23J1 and 25J25 by 3J1 yields Gaussian integers 23J1 25J25 ÷ 3J1 7J¯2 10J5 but mod 3J1 of the same numbers does not consistently yield zeroes 3J1 | 23J1 25J25 3J1 0 I can provide numerous other examples of this problem if needed. Regards, Fred |
[Prev in Thread] | Current Thread | [Next in Thread] |