Dear Derek, I downloaded and compiled the git version and I made the following tests from the pdl-code directory
mochan@em:~/Downloads/pdl-code$ ./pdl ... Loaded PDL v2.007 (supports bad values) #MY OLD PDL ... pdl> p longlong(10)%longlong(5) #WRONG result 53870592 pdl> q mochan@em:~/Downloads/pdl-code$ ./pdl -Mblib ... Loaded PDL v2.00711 (supports bad values) #NEW VERSION ... pdl> p longlong(10)%longlong(5) #CORRECT result! 0 pdl> p 600851475143%71 #CORRECT result 0 pdl> p longlong(600851475143)%longlong(71) #still WRONG result 609885356032 pdl> p (600851475143)%(71) #WRONG and DIFFERENT from above 600851475143 So it seems that the problem with longs is solved when using small numbers, but it remains when using large numbers. Furthermore, I found (accidentally) another situation which yields the wrong result: just putting the numbers between parenthesis yields an erroneous result which is different. In order to test if the problem is the loss of precission when reading the large number, as suggested by Chris (http://sourceforge.net/p/pdl/bugs/343/) I built it by parts: pdl> p 600851475143%71 0 pdl> p +(longlong(6008514)*100000+75143) 600851475143 pdl> p +(longlong(6008514)*100000+75143)%longlong(71) 609885356032 pdl> p +(longlong(6008514)*100000+75143)%71 609885356032 The problem with the parenthesis seemed to be unrelated to pdl's, so I tried it in the perl debugger: mochan@em:~/Downloads/pdl-code$ perl -d -e 'print Hi' ... main::(-e:1): print Hi DB<1> p 600851475143%71 0 DB<2> p (600851475143)%(71) 0 DB<3> q It seems the culprit is not my perl, as it yields the correct result with or without parenthesis. In summary, part of the problem was corrected with your commit, but it seems that other problems remain, and apparently they are not (only) related to the conversion from floating point. Thanks and regards, Luis -- o W. Luis Mochán, | tel:(52)(777)329-1734 /<(*) Instituto de Ciencias Físicas, UNAM | fax:(52)(777)317-5388 `>/ /\ Apdo. Postal 48-3, 62251 | (*)/\/ \ Cuernavaca, Morelos, México | [email protected] /\_/\__/ GPG: 791EB9EB, C949 3F81 6D9B 1191 9A16 C2DF 5F0A C52B 791E B9EB _______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
