Mercurial > hg > Members > tatsuki > functionaljava-master > core
view src/main/java/fj/Rng.java @ 0:fe80c1edf1be
add getLoop
author | tatsuki |
---|---|
date | Fri, 20 Mar 2015 21:04:03 +0900 |
parents | |
children |
line wrap: on
line source
package fj; /** * Created by MarkPerry on 7/07/2014. */ public abstract class Rng { public abstract P2<Rng, Integer> nextInt(); public abstract P2<Rng, Long> nextLong(); // [low, high] inclusive public P2<Rng, Integer> range(int low, int high) { return nextNatural().map2(x -> (x % (high - low + 1)) + low); } public P2<Rng, Integer> nextNatural() { return nextInt().map2(x -> x < 0 ? -(x + 1) : x); } }