From fa6890e35ec827417f837c857215ee5d7b62f116 Mon Sep 17 00:00:00 2001 From: Technus Date: Wed, 4 Oct 2017 05:54:15 +0200 Subject: Fix static XSTR --- src/main/java/com/github/technus/tectech/XSTR.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/main/java/com') diff --git a/src/main/java/com/github/technus/tectech/XSTR.java b/src/main/java/com/github/technus/tectech/XSTR.java index 611d350ce7..e6e62e99a5 100644 --- a/src/main/java/com/github/technus/tectech/XSTR.java +++ b/src/main/java/com/github/technus/tectech/XSTR.java @@ -43,10 +43,12 @@ public class XSTR extends Random { private static final long SEEDER_INCREMENT = 0xbb67ae8584caa73bL; private static final double DOUBLE_UNIT = 0x1.0p-53; // 1.0 / (1L << 53) private static final float FLOAT_UNIT = 0x1.0p-24f; // 1.0f / (1 << 24) + private static final AtomicLong seedUniquifier = new AtomicLong(8682522807148012L); public final static XSTR XSTR_INSTANCE=new XSTR(){ @Override public synchronized void setSeed(long seed) { - throw new NoSuchMethodError("This is meant to be shared!, leave seed state alone!"); + if(!Thread.currentThread().getStackTrace()[2].getClassName().equals(Random.class.getName())) + throw new NoSuchMethodError("This is meant to be shared!, leave seed state alone!"); } }; @@ -64,9 +66,6 @@ public class XSTR extends Random { this(seedUniquifier() ^ System.nanoTime()); } - private static final AtomicLong seedUniquifier - = new AtomicLong(8682522807148012L); - private static long seedUniquifier() { // L'Ecuyer, "Tables of Linear Congruential Generators of // Different Sizes and Good Lattice Structure", 1999 -- cgit