Update comments
This commit is contained in:
parent
1a50ecd6af
commit
b4c8676daa
@ -597,7 +597,7 @@ infix fun FluidStack.isNotSameAs(other: FluidStack): Boolean {
|
|||||||
|
|
||||||
data class DoublePair(val first: Double, val second: Double)
|
data class DoublePair(val first: Double, val second: Double)
|
||||||
|
|
||||||
// normal distribution via Box-Muller
|
// normal distribution via Marsaglia polar method
|
||||||
fun RandomGenerator.nextNormalDoubles(stddev: Double, mean: Double): DoublePair {
|
fun RandomGenerator.nextNormalDoubles(stddev: Double, mean: Double): DoublePair {
|
||||||
var rand1: Double
|
var rand1: Double
|
||||||
var rand2: Double
|
var rand2: Double
|
||||||
@ -607,7 +607,7 @@ fun RandomGenerator.nextNormalDoubles(stddev: Double, mean: Double): DoublePair
|
|||||||
rand1 = 2.0 * nextDouble() - 1.0
|
rand1 = 2.0 * nextDouble() - 1.0
|
||||||
rand2 = 2.0 * nextDouble() - 1.0
|
rand2 = 2.0 * nextDouble() - 1.0
|
||||||
distSqr = rand1 * rand1 + rand2 * rand2
|
distSqr = rand1 * rand1 + rand2 * rand2
|
||||||
} while (distSqr >= 1)
|
} while (distSqr >= 1.0 || distSqr == 0.0)
|
||||||
|
|
||||||
val mapping = sqrt(-2.0 * ln(distSqr) / distSqr)
|
val mapping = sqrt(-2.0 * ln(distSqr) / distSqr)
|
||||||
|
|
||||||
@ -617,8 +617,7 @@ fun RandomGenerator.nextNormalDoubles(stddev: Double, mean: Double): DoublePair
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// All Mojang's random sources use MarsagliaPolarGaussian for generating normal distributed doubles,
|
// All Mojang's random sources use MarsagliaPolarGaussian for generating normal distributed doubles
|
||||||
// which is Box-Muller transform already, so we can use that
|
|
||||||
fun RandomSource.nextNormalDoubles(stddev: Double, mean: Double): DoublePair {
|
fun RandomSource.nextNormalDoubles(stddev: Double, mean: Double): DoublePair {
|
||||||
return DoublePair(
|
return DoublePair(
|
||||||
nextGaussian() * stddev + mean,
|
nextGaussian() * stddev + mean,
|
||||||
|
Loading…
Reference in New Issue
Block a user