diff options
author | dos-reis <gdr@axiomatics.org> | 2008-05-11 19:14:29 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2008-05-11 19:14:29 +0000 |
commit | 20e1bed66399cce629d08a71ca0552ed24fef1d1 (patch) | |
tree | 000ab5b98e479d1c077fc4f6fd4a9f46c4a9451c /src/algebra/smith.spad.pamphlet | |
parent | 51422a0c6bc0128cd5635a01c402ef56ad4ed770 (diff) | |
download | open-axiom-20e1bed66399cce629d08a71ca0552ed24fef1d1.tar.gz |
Restrict loop variable scopes, take 2.
* interp/iterator.boot (compReduce1): Maintain proper scope for
loop variables.
(compRepeatOrCollect): Really maintain proper scope for loop variables.
* interp/compiler.boot (eltModemapFilter): Highlight faulty selector.
(seteltModemapFilter): Likewise.
* interp/c-util.boot (stackMessage): Don't build message if there
is no argument for substitution.
* algebra/aggcat.spad.pamphlet (#$UnaryRecursiveAggregate):
Declare free loop variable.
(cycleEntry$UnaryRecursiveAggregate): Likewise.
(cycleLength): Likewise.
(merge$OneDimensionalArrayAggregate): Likewise.
(delete$OneDimensionalArrayAggregate): Likewise.
(position$ListAggregate): Likewise.
* algebra/array1.spad.pamphlet (merge!$IndexedFlexibleArray): Likewise.
* algebra/combfunc.spad.pamphlet (K2fact$CombinatorialFunction):
Likewise.
* algebra/curve.spad.pamphlet
(nonSingularModel$FunctionFieldCategory): Likewise.
* algebra/dpolcat.spad.pamphlet
(differentiate$DifferentialPolynomialCategory): Likewise.
* algebra/efstruc.spad.pamphlet
(validExponential$ElementaryFunctionStructurePackage): Likewise.
(ker2explogs$InnerTrigonometricManipulations): Likewise.
(complexNormalize$TrigonometricManipulations): Likewise.
Diffstat (limited to 'src/algebra/smith.spad.pamphlet')
-rw-r--r-- | src/algebra/smith.spad.pamphlet | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/algebra/smith.spad.pamphlet b/src/algebra/smith.spad.pamphlet index dd3ff8ca..fb3c13f6 100644 --- a/src/algebra/smith.spad.pamphlet +++ b/src/algebra/smith.spad.pamphlet @@ -175,7 +175,7 @@ SmithNormalForm(R,Row,Col,M) : Exports == Implementation where mmh:=rowEchelon mm [subMatrix(mmh,1,m1,1,n1), subMatrix(mmh,1,m1,n1+1,n1+m1)] u:M:=zero(m1,m1) - j:=1 + j: Integer :=1 while t(1,j)=0 repeat j:=j+1 -- there are 0 columns t1:=copy t mm:=copy m @@ -187,6 +187,7 @@ SmithNormalForm(R,Row,Col,M) : Exports == Implementation where u(i,1) := (mm(i,1) exquo t11) :: R for j in 2..m1 repeat j0:=j + tjj : R while zero?(tjj:=t1(j,j0)) repeat j0:=j0+1 u(i,j) :=((mm(i,j0) - ("+"/[u(i,k) * t1(k,j0) for k in 1..(j-1)])) exquo tjj) :: R |