Artifact 208cc2b2c7452aa9608275e59195619f46f2232ce3b084fb6ed63e3ec9c0b8fb:
- Executable file
r37/packages/scope/scope.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: 4900) [annotate] [blame] [check-ins using] [more...]
- Executable file
r38/packages/scope/scope.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: 4900) [annotate] [blame] [check-ins using]
module scope; % Header module for SCOPE package. % ------------------------------------------------------------------- ; % Copyright : J.A. van Hulzen, Twente University, Dept. of Computer ; % Science, P.O.Box 217, 7500 AE Enschede, the Netherlands.; % Authors : J.A. van Hulzen, B.J.A. Hulshof, W.N. Borst, M.C. ; % van Heerwaarden, J.B. van Veelen. ; % ------------------------------------------------------------------- ; create!-package('(scope codctl restore minlngth codmat codopt codad1 codad2 coddec codpri codgen codhrn codstr coddom), % ghorner '(contrib scope)); % Smacro definitions for access functions. % ------------------------------------------------------------------- ; % Access functions for the incidence matrix ; % ------------------------------------------------------------------- ; global '(codmat maxvar)$ define lenrow=8,lencol=4; % ------------------------------------------------------------------- ; % Length of the rows and the columns ; % ------------------------------------------------------------------- ; symbolic smacro procedure row x$ getv(codmat,maxvar+x)$ symbolic smacro procedure free x$ getv(row x,0)$ symbolic smacro procedure wght x$ getv(row x,1)$ symbolic smacro procedure awght x$ caar(wght x)$ symbolic smacro procedure mwght x$ cdar(wght x)$ symbolic smacro procedure hwght x$ cdr(wght x)$ symbolic smacro procedure opval x$ getv(row x,2)$ symbolic smacro procedure farvar x$ getv(row x,3)$ symbolic smacro procedure zstrt x$ getv(row x,4)$ symbolic smacro procedure chrow x$ getv(row x,5)$ symbolic smacro procedure expcof x$ getv(row x,6)$ symbolic smacro procedure hir x$ getv(row x,7)$ symbolic smacro procedure phir x$ car(hir x)$ symbolic smacro procedure nhir x$ cdr(hir x)$ % ------------------------------------------------------------------- ; % Assignments in the incidence matrix ; % ------------------------------------------------------------------- ; symbolic smacro procedure fillrow(x,v)$ putv(codmat,maxvar+x,v)$ symbolic smacro procedure setoccup x$ putv(row x,0,nil)$ symbolic smacro procedure setfree x$ putv(row x,0,t)$ symbolic smacro procedure setwght(x,v)$ putv(row x,1,v)$ symbolic smacro procedure setopval(x,v)$ putv(row x,2,v)$ symbolic smacro procedure setfarvar(x,v)$ putv(row x,3,v)$ symbolic smacro procedure setzstrt(x,v)$ putv(row x,4,v)$ symbolic smacro procedure setchrow(x,v)$ putv(row x,5,v)$ symbolic smacro procedure setexpcof(x,v)$ putv(row x,6,v)$ symbolic smacro procedure sethir(x,v)$ putv(row x,7,v)$ symbolic smacro procedure setphir(x,v)$ rplaca(hir x,v)$ symbolic smacro procedure setnhir(x,v)$ rplacd(hir x,v)$ % ------------------------------------------------------------------- ; % Access functions for Z elements ; % ------------------------------------------------------------------- ; symbolic smacro procedure xind z$ car z$ symbolic smacro procedure yind z$ car z$ symbolic smacro procedure val z$ cdr z$ symbolic smacro procedure ival z$ car val z$ symbolic smacro procedure bval z$ cdr val z$ % ------------------------------------------------------------------- ; % Assignment functions for Z elements ; % ------------------------------------------------------------------- ; symbolic smacro procedure setival(z,v)$ rplaca(val z,v)$ symbolic smacro procedure setbval(z,v)$ rplacd(val z,v)$ symbolic smacro procedure mkzel(n,iv); if idp(iv) or constp(iv) then n.(iv.nil) else n.iv$ % --------------------------------------------------------------- ; % Distinguish between atom and non atom for IVAL and BVAL. ; % --------------------------------------------------------------- ; % ------------------------------------------------------------------- ; % Access functions for ordening subexpressions ; % ------------------------------------------------------------------- ; symbolic smacro procedure ordr x$ getv(row x,8)$ symbolic smacro procedure setordr(x,l)$ putv(row x,8,l)$ % ------------------------------------------------------------------- ; % Access functions for Histogram ; % ------------------------------------------------------------------- ; global '(codhisto)$ codhisto:=nil; define histolen=200$ symbolic smacro procedure histo x$ getv(codhisto,x)$ symbolic smacro procedure sethisto(x,v)$ putv(codhisto,x,v)$ endmodule; end$