[fix] make FunctionCache thread safe

This commit is contained in:
2024-05-31 13:18:23 +03:00
parent 3357e02e0a
commit daa8b78b8c

View File

@@ -10,7 +10,9 @@ class FunctionCache(private val xPrecision: Double, val function: (Double) -> Do
val ceil: MutableMap.MutableEntry<Double, Double>? = values.ceilingEntry(x)
return if (floor == null || ceil == null || ceil.key - floor.key <= xPrecision) {
val newValue = function(x)
values[x] = newValue
synchronized(this) {
values[x] = newValue
}
newValue
} else {
val x0 = floor.key