From: Eddie R. <er...@bm...> - 2008-08-18 19:41:08
|
On Mon, 2008-08-18 at 19:49 +0200, Albert Graef wrote: > Eddie Rucker wrote: > > IMHO, the following rules should be added for pow: > > > > pow n::int (x%y) | > > pow n::bigint (x%y) | > > pow n::double (x%y) = pow n (x/y); > > Yes, you're right, I've added these now. After the last svn update I'm getting: > using math; > pow 3 (4%3); warning: rule never reduced: pow n::int (x%y) = pow n (x/y); warning: rule never reduced: pow n::bigint (x%y) = pow n (x/y); warning: rule never reduced: pow n::double (x%y) = pow n (x/y); 4.32674871092222 > When I looked in math.pure you have the following rules: pow (x%y) n::int | pow (x%y) n::bigint = pow x n % pow y n if n>0; = pow y (-n) % pow x (-n) if n<0; = 1L%1L otherwise; pow (x%y) n::double = pow (x/y) n; pow (x%y) (n%m) = pow (x/y) (n/m); pow x::int (n%m) | pow x::bigint (n%m) | pow x::double (n%m) = pow x (n/m); pow n::int (x%y) | pow n::bigint (x%y) | pow n::double (x%y) = pow n (x/y); You might want to cut the last three out? e.r. |