get normals TBD
This commit is contained in:
parent
5abd63cde2
commit
706a44fd33
@ -1,5 +1,7 @@
|
|||||||
package space.kscience.kmath.tensors.core
|
package space.kscience.kmath.tensors.core
|
||||||
|
|
||||||
|
import space.kscience.kmath.stat.RandomGenerator
|
||||||
|
import space.kscience.kmath.stat.samplers.BoxMullerNormalizedGaussianSampler
|
||||||
import space.kscience.kmath.structures.*
|
import space.kscience.kmath.structures.*
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
import kotlin.math.*
|
import kotlin.math.*
|
||||||
@ -35,8 +37,10 @@ internal fun Buffer<Double>.array(): DoubleArray = when (this) {
|
|||||||
is DoubleBuffer -> array
|
is DoubleBuffer -> array
|
||||||
else -> throw RuntimeException("Failed to cast Buffer to DoubleArray")
|
else -> throw RuntimeException("Failed to cast Buffer to DoubleArray")
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
internal inline fun getRandomNormals(n: Int, seed: Long): DoubleArray {
|
internal inline fun getRandomNormals(n: Int,): DoubleArray {
|
||||||
val u = Random(seed)
|
val sampler = BoxMullerNormalizedGaussianSampler.of()
|
||||||
return (0 until n).map { sqrt(-2.0 * ln(u.nextDouble())) * cos(2.0 * PI * u.nextDouble()) }.toDoubleArray()
|
val chain = sampler.sample(RandomGenerator.default)
|
||||||
|
return (0 until n).map { chain.next() }.toDoubleArray()
|
||||||
}
|
}
|
||||||
|
*/
|
Loading…
Reference in New Issue
Block a user