From 928372beccbaf1b2fce1205034eab9b5fc2651fd Mon Sep 17 00:00:00 2001 From: Cedric Hansen Date: Tue, 4 Jan 2022 12:25:24 -0500 Subject: [PATCH] Adding setter method for AVLTreeDigest gen object --- .../java/com/tdunning/math/stats/AVLTreeDigest.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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) {