All Downloads are FREE. Search and download functionalities are using the official Maven repository.

smallcheck.generators.LongGen Maven / Gradle / Ivy

The newest version!
package smallcheck.generators;

import com.google.common.collect.Streams;

import java.util.Iterator;
import java.util.stream.Stream;

/**
 * Generates integers.
 * First 0,1,2,3,...,depth
 * Then -1,-2,...,-depth
 */
public class LongGen extends SeriesGen {
    @Override
    public Stream generate(int depth) {
        return Streams.stream(new Iterator() {
            long p = -1;
            long n = 0;

            @Override
            public boolean hasNext() {
                return p <= depth && n > -depth;
            }

            @Override
            public Long next() {
                if (p < depth) {
                    p++;
                    return p;
                } else {
                    n--;
                    return n;
                }
            }
        });
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy