A small improvement over this patch:
We should also add
(m : PositiveInteger) * (y : %) == (m*y)$Lisp
(m : NonNegativeInteger) * (y : %) == (m*y)$Lisp
so that we don't need to do "2::%" in symmetricRemainder:
symmetricRemainder(x, n) ==
r := x rem n
r = 0 => 0
if n < 0 then n := -n
r > 0 =>
2 * r > n => r - n
r
2 * r + n <= 0 => r + n
r
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.