From 7dff09b8cac803d6936887fdfa286a2a25073ac2 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sun, 14 Aug 2011 21:23:34 +0000 Subject: * interp/lisp-backend.boot ($freeVarName): New global constant. (loopVarInit): New. (expandIN): Use it. (expandON): Likewise. (expandSTEP): Likewise. (massageFreeVarInits): New. (expandLoop): Use it. * interp/fnewmeta.lisp (PARSE-QuantifiedVariable): Tidy. (PARSE-AnyId): Likewise. (PARSE-Variable): New. Allow scope-of-type specification for loop variable. (PARSE-Iterator): Use it. * interp/compiler.boot (massage_llop): Don't check $mayHaveFreeIteratorVariables. (compRepeatOrCollect): Don't bind it. (classifyIteratorVariable): New. (complainIfShadowing): Remove as no longer needed. (compStepIterator): Use it. Tidy. (compONIterator, compINIterator): New. Split out of compIterator. (compIterator): Refactor. * interp/functor.boot (optFunctorBody): Fix thinko. * interp/g-opt.boot (optCollectVector): A STEP iterator may have a storage class. * algebra/clip.spad.pamphlet: Fix loop variable scope. * algebra/ffpoly.spad.pamphlet: Likewise. * algebra/fparfrac.spad.pamphlet: Likewise. * algebra/gdpoly.spad.pamphlet: Likewise. * algebra/ghensel.spad.pamphlet: Likewise. * algebra/groebsol.spad.pamphlet: Likewise. * algebra/intfact.spad.pamphlet: Likewise. * algebra/matfuns.spad.pamphlet: Likewise. * algebra/moddfact.spad.pamphlet: Likewise. * algebra/numtheor.spad.pamphlet: Likewise. * algebra/permgrps.spad.pamphlet: Likewise. * algebra/pfbr.spad.pamphlet: Likewise. * algebra/pgcd.spad.pamphlet: Likewise. * algebra/pleqn.spad.pamphlet: Likewise. * algebra/pseudolin.spad.pamphlet: Likewise. * algebra/radeigen.spad.pamphlet: Likewise. * algebra/radix.spad.pamphlet: Likewise. * algebra/regset.spad.pamphlet: Likewise. * algebra/rep2.spad.pamphlet: Likewise. * algebra/sgcf.spad.pamphlet: Likewise. * algebra/smith.spad.pamphlet: Likewise. * algebra/sregset.spad.pamphlet: Likewise. * algebra/syssolp.spad.pamphlet: Likewise. * algebra/zerodim.spad.pamphlet: Likewise. * algebra/crfp.spad.pamphlet: Remove capsule-level declaration of local variables. * algebra/galfact.spad.pamphlet: Likewise. * algebra/mathml.spad.pamphlet: Likewise. * algebra/numode.spad.pamphlet: Likewise. * algebra/tex.spad.pamphlet: Likewise. * algebra/updecomp.spad.pamphlet: Likewise. --- src/algebra/radix.spad.pamphlet | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/algebra/radix.spad.pamphlet') diff --git a/src/algebra/radix.spad.pamphlet b/src/algebra/radix.spad.pamphlet index 79c4aa17..df8308ad 100644 --- a/src/algebra/radix.spad.pamphlet +++ b/src/algebra/radix.spad.pamphlet @@ -231,7 +231,7 @@ RadixExpansion(bb): Exports == Implementation where n := i -- 2. Find p = first i such that rits.i = rits.(i+n) ritsi := rits - ritsn := rits; for i in 1..n repeat ritsn := rest ritsn + ritsn := rits; for i: local in 1..n repeat ritsn := rest ritsn i := 0 while first(ritsi) ~= first(ritsn) repeat ritsi := rest ritsi @@ -239,11 +239,11 @@ RadixExpansion(bb): Exports == Implementation where i := i + 1 p := i -- 3. Find c = first i such that rits.p = rits.(p+i) - ritsn := rits; for i in 1..n repeat ritsn := rest ritsn + ritsn := rits; for i: local in 1..n repeat ritsn := rest ritsn rn := first ritsn cfound:= false c : I := 0 - for i in 1..p while not cfound repeat + for i: local in 1..p while not cfound repeat ritsn := rest ritsn if rn = first(ritsn) then c := i @@ -252,10 +252,10 @@ RadixExpansion(bb): Exports == Implementation where -- 4. Now produce the lists of ragits. ritspfx: List I := nil() ritscyc: List I := nil() - for i in 1..p repeat + for i: local in 1..p repeat ritspfx := concat(first(rits).quotient, ritspfx) rits := rest rits - for i in 1..c repeat + for i: local in 1..c repeat ritscyc := concat(first(rits).quotient, ritscyc) rits := rest rits [reverse! ritspfx, reverse! ritscyc] -- cgit v1.2.3