001
002 package lrs.lazyLRSEvaluators;
003
004 import lrs.*;
005 //import lrs.visitor.*;
006 import logic.*;
007
008 public class LazySieveEval extends ALazyEval
009 {
010 /** @SBGen Variable (,helper,,64) */
011 LazyFilterEval lazyFilterEval;
012 int value = 2;
013
014
015 public LazySieveEval()
016 {
017 LRStruct src = (new LazyIncEval (value, 1)).makeLRS (); // src is all integers from 2.
018 lazyFilterEval = new LazyFilterEval (new ModPredStrategy(value), src);
019 }
020
021 public LRStruct nextLRS()
022 {
023 value = (Integer)lazyFilterEval.nextLRS().getFirst();
024 lazyFilterEval = new LazyFilterEval (new ModPredStrategy(value), lazyFilterEval.makeLRS ());
025 return makeLRS ();
026 }
027
028 public LRStruct makeLRS()
029 {
030 return makeLazyLRS(value);
031 }
032 }
033