diff --git a/core/src/main/java/com/tdunning/math/stats/AVLTreeDigest.java b/core/src/main/java/com/tdunning/math/stats/AVLTreeDigest.java index c874d8b..e6cd3a7 100644 --- a/core/src/main/java/com/tdunning/math/stats/AVLTreeDigest.java +++ b/core/src/main/java/com/tdunning/math/stats/AVLTreeDigest.java @@ -27,7 +27,7 @@ import static com.tdunning.math.stats.IntAVLTree.NIL; public class AVLTreeDigest extends AbstractTDigest { - final Random gen = new Random(); + Random gen = new Random(); private final double compression; private AVLGroupTree summary; @@ -47,6 +47,17 @@ public AVLTreeDigest(double compression) { summary = new AVLGroupTree(false); } + /** + * Sets the random object for random number generation purposes. + * In cases where a reproducible tree should be created, this function may be used to make the + * randomness in this AVLTree become more deterministic. + * + * @param rand Random object to use for RNG purposes + */ + public void setRandom(Random rand) { + gen = rand; + } + @Override public TDigest recordAllData() { if (summary.size() != 0) {