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.

Reply via email to