Artifact 204e18f12549c2d38907de404ecb5443e3e78ba1d5fcb31a740022a876f53bf0:
- Executable file
r37/packages/alg/farith.red
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 1163) [annotate] [blame] [check-ins using] [more...]
- Executable file
r38/packages/alg/farith.red
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 1163) [annotate] [blame] [check-ins using]
module farith; % Operators for fast arithmetic. % Authors: A. C. Norman and P. M. A. Moore, 1981. symbolic procedure iplus2(u,v); u+v; symbolic procedure itimes2(u,v); u*v; symbolic procedure isub1 a; a-1; symbolic procedure iadd1 a; a+1; remprop('iminus,'infix); symbolic procedure iminus a; -a; symbolic procedure idifference(a,b); a-b; symbolic procedure iquotient(a,b); a/b; symbolic procedure iremainder(a,b); remainder(a,b); symbolic procedure igreaterp(a,b); a>b; symbolic procedure ilessp(a,b); a<b; symbolic procedure iminusp a; a<0; symbolic smacro procedure iequal(u,v); eqn(u,v); newtok '((!#) hash); newtok '((!# !+) iplus2); newtok '((!# !-) idifference); newtok '((!# !*) itimes2); newtok '((!# !/) iquotient); newtok '((!# !>) igreaterp); newtok '((!# !<) ilessp); newtok '((!# !=) iequal); infix #+,#-,#*,#/,#>,#<,#=; precedence #+,+; precedence #-,-; precedence #*,*; precedence #/,/; precedence #>,>; precedence #<,<; precedence #=,=; deflist('((idifference iminus)),'unary); deflist('((iminus iminus)),'unary); deflist('((iminus iplus2)), 'alt); endmodule; end;