22 lines
468 B
Kotlin
22 lines
468 B
Kotlin
package drills.drill06.exercise4.sensor
|
|
|
|
import kotlin.random.Random
|
|
|
|
interface Sampler<T> {
|
|
fun getSample(): T
|
|
}
|
|
|
|
class SampleGenerator(seed: Int = 0) : Sampler<Double> {
|
|
private val samples = listOf(
|
|
6, 4, 3, 2, 4, 10, 18, 20, 22, 24, 20, 15, 10, 7
|
|
)
|
|
|
|
private val random = Random(seed)
|
|
|
|
private var i = 0
|
|
|
|
override fun getSample(): Double {
|
|
return samples[i++ % samples.size].toDouble() + random.nextDouble(-1.5, 1.5)
|
|
}
|
|
}
|