lm-sistemi-software-distrib.../src/main/kotlin/drills/drill06/exercise4/sensor/Sampler.kt

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)
}
}