[BACK]Return to slib.sm1 CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097

Diff for /OpenXM/src/k097/slib.sm1 between version 1.5 and 1.6

version 1.5, 2000/12/28 00:08:13 version 1.6, 2001/01/04 12:29:31
Line 182  FunctionValue } def
Line 182  FunctionValue } def
 /Reduction {  /Reduction {
  db.DebugStack setstack $In function : Reduction of class PrimitiveObject$  stdstack   db.DebugStack setstack $In function : Reduction of class PrimitiveObject$  stdstack
  /Arglist set /Argthis set /FunctionValue [ ] def   /Arglist set /Argthis set /FunctionValue [ ] def
  [/this /f /G  ] /ArgNames set ArgNames pushVariables [ %%function body   [/this /f /myset  ] /ArgNames set ArgNames pushVariables [ %%function body
  [Argthis] Arglist join ArgNames mapset   [Argthis] Arglist join ArgNames mapset
  f  G   reduction /FunctionValue set  /ExitPoint ]pop popVariables %%pop argValues  [ %%start of local variables
   /n /indexTable /set2 /i /j /tmp /t_syz /r /rng /vsize /tt ] pushVariables [ %%local variables
   null /vsize  set
   this [ %% function args
   this [ %% function args
   (1) ] {Poly} sendmsg2
   ] {GetRing} sendmsg2
   /r  set
   this [ %% function args
   f ] {GetRing} sendmsg2
   /rng  set
   this [ %% function args
   rng ] {Tag} sendmsg2
   (0)..  eq
    %% if-condition
     { %%ifbody
   this [ %% function args
   myset ] {GetRing} sendmsg2
   /rng  set
     }%%end if if body
     { %%if- else part
     } ifelse
   this [ %% function args
   rng ] {Tag} sendmsg2
   (0)..  eq not
    %% if-condition
     { %%ifbody
   this [ %% function args
   rng ] {SetRing} sendmsg2
     }%%end if if body
     { %%if- else part
     } ifelse
   this [ %% function args
   f ] {IsArray} sendmsg2
    %% if-condition
     { %%ifbody
   this [ %% function args
   f ] {Length} sendmsg2
   /vsize  set
     [f] fromVectors 0 get /f set    }%%end if if body
     { %%if- else part
     } ifelse
   this [ %% function args
   myset ] {Length} sendmsg2
   /n  set
   n (0)..  gt
    %% if-condition
     { %%ifbody
   this [ %% function args
   myset [(0)..  ]  Get
   ] {IsArray} sendmsg2
    %% if-condition
     { %%ifbody
   vsize this [ %% function args
   myset [(0)..  ]  Get
   ] {Length} sendmsg2
    eq not
    %% if-condition
     { %%ifbody
   this [ %% function args
   (Reduction: size mismatch.) ] {Error} sendmsg2
     }%%end if if body
     { %%if- else part
     } ifelse
     myset fromVectors /myset set    }%%end if if body
     { %%if- else part
     } ifelse
     }%%end if if body
     { %%if- else part
     } ifelse
   this [ %% function args
   n ] {NewArray} sendmsg2
   /indexTable  set
   [   ] /set2  set
   (0).. /j  set
   (0).. /i  set
   %%for init.
   %%for
   { i n  lt
    {  } {exit} ifelse
   [ {%%increment
   /i i (1).. {add} sendmsg2 def
   } %%end of increment{A}
   {%%start of B part{B}
   this [ %% function args
   myset [i  ]  Get
   ] {Tag} sendmsg2
   (0)..  eq
    %% if-condition
     { %%ifbody
   indexTable [i  ] (1)..  (0)..  2 1 roll {sub} sendmsg
    Put
     }%%end if if body
     { %%if- else part
   myset [i  ]  Get
   this [ %% function args
   (0) ] {Poly} sendmsg2
    eq
    %% if-condition
     { %%ifbody
   indexTable [i  ] (1)..  (0)..  2 1 roll {sub} sendmsg
    Put
     }%%end if if body
     { %%if- else part
   this [ %% function args
   set2 myset [i  ]  Get
   ] {Append} sendmsg2
   /set2  set
   indexTable [i  ] j  Put
   /j j (1).. {add} sendmsg2 def
     } ifelse
     } ifelse
   } %% end of B part. {B}
    2 1 roll] {exec} map pop
   } loop %%end of for
     f set2 (gradedPolySet) dc reduction /tmp set  this [ %% function args
   n ] {NewArray} sendmsg2
   /t_syz  set
   (0).. /i  set
   %%for init.
   %%for
   { i n  lt
    {  } {exit} ifelse
   [ {%%increment
   /i i (1).. {add} sendmsg2 def
   } %%end of increment{A}
   {%%start of B part{B}
   indexTable [i  ]  Get
   (1)..  (0)..  2 1 roll {sub} sendmsg
    eq not
    %% if-condition
     { %%ifbody
   t_syz [i  ] tmp [(2).. indexTable [i  ]  Get
    ]  Get
    Put
     }%%end if if body
     { %%if- else part
   t_syz [i  ] this [ %% function args
   (0) ] {Poly} sendmsg2
    Put
     } ifelse
   } %% end of B part. {B}
    2 1 roll] {exec} map pop
   } loop %%end of for
   this [ %% function args
   vsize ] {Tag} sendmsg2
   (0)..  eq not
    %% if-condition
     { %%ifbody
   tmp [(0)..  ]  Get
   /tt  set
     [vsize (integer) dc tt] toVectors /tt set  tmp [(0)..  ] tt  Put
     }%%end if if body
     { %%if- else part
     } ifelse
   this [ %% function args
   r ] {SetRing} sendmsg2
   [ tmp [(0)..  ]  Get
   tmp [(1)..  ]  Get
   t_syz   ]  /FunctionValue set  {/ExitPoint goto} exec %%return
   /ExitPoint ]pop popVariables %%pop the local variables
   /ExitPoint ]pop popVariables %%pop argValues
  db.DebugStack setstack pop stdstack   db.DebugStack setstack pop stdstack
 FunctionValue } def  FunctionValue } def
 %%end of function  %%end of function

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>