From ed8a5edcda80af764f9747eb4cf38d5fcc0a08ed Mon Sep 17 00:00:00 2001
From: DBotThePony <dbotthepony@yandex.ru>
Date: Sat, 8 Mar 2025 16:40:03 +0700
Subject: [PATCH] Un-final properties and methods of random generators

---
 gradle.properties                                      |  2 +-
 .../ru/dbotthepony/kommons/random/LCG64Random.kt       |  6 +++---
 .../kommons/random/Xoshiro256PlusPlusRandom.kt         | 10 +++++-----
 .../kommons/random/Xoshiro256StarStarRandom.kt         | 10 +++++-----
 4 files changed, 14 insertions(+), 14 deletions(-)

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)