
package lrs.lazyLRSEvaluators;

import lrs.*;
//import lrs.visitor.*;
import logic.*;

public class LazySieveEval extends ALazyEval
{
    /** @SBGen Variable (,helper,,64)   */
    LazyFilterEval lazyFilterEval;
    int value = 2;
    
    
    public LazySieveEval()
    {
        LRStruct src = (new LazyIncEval (value, 1)).makeLRS (); // src is all integers from 2.
        lazyFilterEval = new LazyFilterEval (new ModPredStrategy(value), src);
    }
    
    public LRStruct nextLRS()
    {
        value = (Integer)lazyFilterEval.nextLRS().getFirst();
        lazyFilterEval = new LazyFilterEval (new ModPredStrategy(value), lazyFilterEval.makeLRS ());
        return makeLRS ();
    }
    
    public LRStruct makeLRS()
    {
        return makeLazyLRS(value);
    }
}

