Artifact 8611365d2877fc23f2f2c89258363410efd9917d377983d3a72e8d2846c01217:
- Executable file
r37/packages/int/int.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: 2260) [annotate] [blame] [check-ins using] [more...]
- Executable file
r38/packages/int/int.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: 2260) [annotate] [blame] [check-ins using]
module int; % Header for REDUCE integration package. % Authors: A. C. Norman and P. M. A. Moore. % Modified by: J. Davenport, J. P. Fitch, A. C. Hearn. % Note that at one point, INT had been flagged SIMP0FN. However, that % lead to problems when the arguments of INT contained pattern % variables. create!-package('(int contents csolve idepend df2q distrib divide driver symint intfac ibasics makevars jpatches reform simpsqrt hacksqrt sqrtf isolve tidysqrt trcase halfangl trialdiv vect dint), % simplog % cuberoot d3d4 factr kron lowdeg unifac uniform tdiff '(int trans)); fluid '(!*noextend !*pvar frlis!* gaussiani); global '(gensymcount initl!*); !*pvar:='!_a; gaussiani := !*kk2f '(sqrt -1); gensymcount := 0; initl!* := append('(!*noextend), initl!*); flag('(interr),'transfer); %For the compiler; flag ('(atan dilog ei erf expt log tan),'transcendental); comment Kludge to define derivative of an integral and integral of a derivative; frlis!* := union('(!=x !=y),frlis!*); put('df,'opmtch,'(((int !=y !=x) !=x) (nil . t) (evl!* !=y) nil) . get('df,'opmtch)); put('int,'opmtch,'(((df !=y !=x) !=x) (nil . t) (evl!* !=y) nil) . get('int,'opmtch)); put('evl!*,'opmtch,'(((!=x) (nil . t) !=x nil))); put('evl!*,'simpfn,'simpiden); % Various functions used throughout the integrator. symbolic procedure flatten u; if null u then nil else if atom u then list u else if atom car u then car u . flatten cdr u else nconc(flatten car u,flatten cdr u); symbolic procedure int!-gensym1 u; <<gensymcount:=gensymcount+1; compress append(explode '!!, append(explode u,explode gensymcount))>>; symbolic procedure mknill n; if n=0 then nil else nil . mknill(n-1); symbolic procedure printc u; prin2t u; % This could be an smacro. % Selector written as an smacro. smacro procedure argof u; % Argument of a unary function. cadr u; put('nthroot,'simpfn,'simpiden); % The binary n-th root operator nthroot(x,2)=sqrt(x) % no simplification is used here. % Hope is that pbuild introduces it, and simplog removes it. endmodule; end;