diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet index 69d0e57..5c826cf 100644 --- a/books/bookvol10.4.pamphlet +++ b/books/bookvol10.4.pamphlet @@ -146422,7 +146422,8 @@ TwoDimensionalPlotClipping(): Exports == Implementation where error "clipDraw: fraction should be between 0 and 1" empty? pointLists => [nil(),segment(0,0),segment(0,0)] -- put all points together , sort them according to norm - sortedList := sort(norm(#1) < norm(#2),select(not Pnan? #1,concat pointLists)) + sortedList := sort((x:Pt,y:Pt):Boolean +-> norm(x) < norm(y), + select((z:Pt):Boolean +-> not Pnan? z,concat pointLists)) empty? sortedList => [nil(),segment(0,0),segment(0,0)] n := # sortedList num := numer fraction @@ -146537,7 +146538,7 @@ TwoDimensionalPlotClipping(): Exports == Implementation where error "clipDraw: plot has more than one branch" empty?(pointList := first pointLists) => [nil(),xVals,segment(0,0)] - sortedList := sort(yCoord(#1) < yCoord(#2),pointList) + sortedList := sort((x,y)+->yCoord(x) < yCoord(y),pointList) n := # sortedList; num := numer fraction; den := denom fraction clipNum := (n * num) quo den -- throw out points with large and small y-coordinates @@ -146552,7 +146553,8 @@ TwoDimensionalPlotClipping(): Exports == Implementation where yMin := yMin - (numm :: SF) * yDiff / (denn :: SF) yMax := yMax + (numm :: SF) * yDiff / (denn :: SF) lists := discardAndSplit(pointList,_ - (yCoord(#1) < yMax) and (yCoord(#1) > yMin),xMin,xMax,yMin,yMax) + x +-> (yCoord(x) < yMax) and (yCoord(x) > yMin), + xMin,xMax,yMin,yMax) yMin := yCoord(sortedList.clipNum) yMax := yCoord(sortedList.(n - 1 - clipNum)) if Fnan? yMin then yMin : SF := 0 @@ -146590,10 +146592,10 @@ TwoDimensionalPlotClipping(): Exports == Implementation where clipWithRanges(pointLists,xMin,xMax,yMin,yMax) == lists : L L Pt := nil() for pointList in pointLists repeat - lists := concat(lists,discardAndSplit(pointList,_ - (xCoord(#1) <= xMax) and (xCoord(#1) >= xMin) and _ - (yCoord(#1) <= yMax) and (yCoord(#1) >= yMin), _ - xMin,xMax,yMin,yMax)) + lists := concat(lists,discardAndSplit(pointList, + (x:Pt):Boolean +-> (xCoord(x) <= xMax) and (xCoord(x) >= xMin) and + (yCoord(x) <= yMax) and (yCoord(x) >= yMin), + xMin,xMax,yMin,yMax)) (pt := findPt lists) case "failed" => [nil(),segment(0,0),segment(0,0)] firstPt := pt :: Pt diff --git a/changelog b/changelog index 2ad8225..3908072 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20090624 tpd src/axiom-website/patches.html 20090624.04.tpd.patch +20090624 tpd books/bookvol10.4 CLIP +-> conversion 20090624 tpd src/axiom-website/patches.html 20090624.03.tpd.patch 20090624 tpd books/bookvol10.4 TRIGMNIP +-> conversion 20090624 tpd src/axiom-website/patches.html 20090624.02.tpd.patch diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 6543579..169f744 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -1657,5 +1657,7 @@ bookvol10.4 RDETRS +-> conversion
bookvol10.4 SOLVETRA +-> conversion
20090624.03.tpd.patch bookvol10.4 TRIGMNIP +-> conversion
+20090624.04.tpd.patch +bookvol10.4 CLIP +-> conversion