diff options
Diffstat (limited to 'src/algebra/stream.spad.pamphlet')
-rw-r--r-- | src/algebra/stream.spad.pamphlet | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/algebra/stream.spad.pamphlet b/src/algebra/stream.spad.pamphlet index a691aab2..aa23b60c 100644 --- a/src/algebra/stream.spad.pamphlet +++ b/src/algebra/stream.spad.pamphlet @@ -553,7 +553,6 @@ CyclicStreamTools(S,ST): Exports == Implementation where -- As explained below, in the capsule, the Rep for STREAM is actually -- a half lie. So, the system should not be allowed to trust it. )boot $optProclaim := false -import Type import Void import Boolean import Integer @@ -1062,12 +1061,12 @@ Stream(S): Exports == Implementation where i := 0; while not eq?(x,tl) repeat (x := rst x; i := i + 1) i = n => [false, 0, 0] -- Find period. Now x=tl, so step over and find it again. - x := rst x; per := 1 - while not eq?(x,tl) repeat (x := rst x; per := per + 1) + x := rst x; periode := 1 + while not eq?(x,tl) repeat (x := rst x; periode := periode + 1) -- Find non-periodic part. - x := hd; xp := rest(hd, per); npp := 0 + x := hd; xp := rest(hd, periode); npp := 0 while not eq?(x,xp) repeat (x := rst x; xp := rst xp; npp := npp+1) - [true, npp, per] + [true, npp, periode] delay(fs:()->%) == [NonNullStream, fs pretend %] |