diff --git a/gradle.properties b/gradle.properties index 226d1db..2157224 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ kotlin.code.style=official specifyKotlinAsDependency=false projectGroup=ru.dbotthepony.kommons -projectVersion=3.2.0 +projectVersion=3.2.1 guavaDepVersion=33.0.0 gsonDepVersion=2.8.9 diff --git a/src/main/kotlin/ru/dbotthepony/kommons/random/LCG64Random.kt b/src/main/kotlin/ru/dbotthepony/kommons/random/LCG64Random.kt index ba25422..0855efc 100644 --- a/src/main/kotlin/ru/dbotthepony/kommons/random/LCG64Random.kt +++ b/src/main/kotlin/ru/dbotthepony/kommons/random/LCG64Random.kt @@ -8,14 +8,14 @@ import java.util.random.RandomGenerator * Internal state is presented as 64-bit integer, and high-order bits of internal state are * used to generate numbers. */ -open class LCG64Random(private var seed: Long) : RandomGenerator { - final override fun nextLong(): Long { +open class LCG64Random(protected var seed: Long) : RandomGenerator { + override fun nextLong(): Long { val a = nextInt().toLong() val b = nextInt().toLong() and 0xFFFFFFFFL return a.shl(32) or b } - final override fun nextInt(): Int { + override fun nextInt(): Int { this.seed = MULTIPLIER * this.seed + INCREMENT return this.seed.ushr(32).toInt() } diff --git a/src/main/kotlin/ru/dbotthepony/kommons/random/Xoshiro256PlusPlusRandom.kt b/src/main/kotlin/ru/dbotthepony/kommons/random/Xoshiro256PlusPlusRandom.kt index 3706503..116f8a3 100644 --- a/src/main/kotlin/ru/dbotthepony/kommons/random/Xoshiro256PlusPlusRandom.kt +++ b/src/main/kotlin/ru/dbotthepony/kommons/random/Xoshiro256PlusPlusRandom.kt @@ -3,10 +3,10 @@ package ru.dbotthepony.kommons.random import java.util.random.RandomGenerator open class Xoshiro256PlusPlusRandom protected constructor( - private var s0: Long, - private var s1: Long, - private var s2: Long, - private var s3: Long, + protected var s0: Long, + protected var s1: Long, + protected var s2: Long, + protected var s3: Long, mark: Nothing? ) : RandomGenerator { init { @@ -32,7 +32,7 @@ open class Xoshiro256PlusPlusRandom protected constructor( s3 = rng.nextLong() } - final override fun nextLong(): Long { + override fun nextLong(): Long { val result = (s0 + s3).rotateLeft(23) + s1 val t = s1.shl(17) s2 = s2.xor(s0) diff --git a/src/main/kotlin/ru/dbotthepony/kommons/random/Xoshiro256StarStarRandom.kt b/src/main/kotlin/ru/dbotthepony/kommons/random/Xoshiro256StarStarRandom.kt index f06200d..fc1377c 100644 --- a/src/main/kotlin/ru/dbotthepony/kommons/random/Xoshiro256StarStarRandom.kt +++ b/src/main/kotlin/ru/dbotthepony/kommons/random/Xoshiro256StarStarRandom.kt @@ -3,10 +3,10 @@ package ru.dbotthepony.kommons.random import java.util.random.RandomGenerator open class Xoshiro256StarStarRandom protected constructor( - private var s0: Long, - private var s1: Long, - private var s2: Long, - private var s3: Long, + protected var s0: Long, + protected var s1: Long, + protected var s2: Long, + protected var s3: Long, mark: Nothing? ) : RandomGenerator { init { @@ -32,7 +32,7 @@ open class Xoshiro256StarStarRandom protected constructor( s3 = rng.nextLong() } - final override fun nextLong(): Long { + override fun nextLong(): Long { val result = (s1 * 5).rotateLeft(7) * 9 val t = s1.shl(17) s2 = s2.xor(s0)