Quirk: (10!)%5 != 10! mod 5 ( 0 != 1)
That is probably correct behavior though.
Quirk: 1^(-1) mod n yields "Can't do mods on floating or rational"
I would think 1/1 would be simplified to 1?
Quirk: multiple mods ALMOST work right
51 mod 49 mod 7
Division by zero!
= 2
a mod b mod c mod d mod e mod f ... = a mod gcd(b,c,d,e,f,...)
You give the right answer but the divide by zero is disturbing :)
Quirk: If you use the "mod n" notation, it might be a better idea to use
modulo arithemtic. Specifically 1/3 mod 5 = 2. And 1/2 mod 4 = Division
by zero divisor undefined.
Quirk (in nls): configure.in has more languages than the package does.. i
read somehting in the changelog about someone taking unused languages out?
They might have got back in? I don't do nls, maybe it is supposed to be
that way.
Bug: |-3| mod 5 isn't 2 ... maybe thats a quirk .. but heres a bug
-3 mod 5 = 8 ... (-3) mod 5 as well... (answer should be 2, or as
worst case -3).
Quirk: 1 mod 0.5 = (1mod0.5) (Can't do mod calculations of non-integers)
Yet (1mod0.5) is a parse error, suggest putting space around the "mod"
word in the print e_tree or whatever.
Quibble: I think 2.345e+77-34i is unreadable and that results should have
spaces around the +, but it parses either way. Purely a pet peeve.
Quibble: Sometimes you use TRUE and sometimes you use 1 as the last arg to
print_e_tree. To make code leaner and meaner, it is good to make it easily
readable first :)
Quibble: MACROS make code harder to understand, inline functions are
debuggable and are just as fast in any recent (post 95) gcc. If a
commercial compiler can't keep up with gcc, you don't need to support it.
To find one bug in genius-0.4.2 i know i had to debug the source code
after running it thru the pre processor so i could see which out of 10
lines of code actually caused a segfault. :) Its your code though, so
write it how you will. :)
Grin: Those internel functions written in gel are cool. (Cool as in oh god
don't keep them that way, but wow what a cool temp. hack).
Quibble: on line 1065 ish of mpwrap ... it would be nice to note
that that crazy if( q < 0 && f> 0) then f=-f stuff is a /* XXX HACK to
get around bug in gmp */ Just in case someone else maintains the code at a
later point.
Question: Why downgrade to bison-1.25 from bison-1.27? Was there a problem
with bison-1.27? (I use bison-1.27 too so I'm curious)
I'll ask around on how to define ln(A) for matricies.
--- eval.c.old Wed Sep 8 01:28:06 1999
+++ eval.c Wed Sep 8 01:28:29 1999
@@ -3681,11 +3681,11 @@
mpw_mod(n->val.value,n->val.value,mod);
if(error_num) { /*XXX: for now ignore errors in moding*/
error_num = 0;
}
if(mpw_sgn(n->val.value)<0)
- mpw_sub(n->val.value,mod,n->val.value);
+ mpw_add(n->val.value,mod,n->val.value);
} else if(n->type == MATRIX_NODE) {
int i,j;
int w,h;
if(!n->mat.matrix) return;
w = matrixw_width(n->mat.matrix);
That should be the patch for the only real bug.
Received on Tue Sep 07 1999 - 22:30:10 CDT
This archive was generated by hypermail 2.2.0 : Sun Apr 17 2011 - 21:00:02 CDT