Skip to content

Commit

Permalink
added extension to multiply numbers with durations
Browse files Browse the repository at this point in the history
  • Loading branch information
holgerbrandl committed May 31, 2023
1 parent c4ceaed commit c5c1ce8
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/main/kotlin/org/kalasim/misc/TimeUtil.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,11 @@ import kotlin.time.Duration.Companion.milliseconds
fun Iterable<Duration>.sum() : Duration = sumOf { it }
fun <T> Iterable<T>.sumOf(selector: (T) -> Duration) = map{ selector(it).inWholeMilliseconds }.sum().milliseconds


fun Iterable<Duration>.mean() : Duration = meanOf { it }
fun <T> Iterable<T>.meanOf(selector: (T) -> Duration) = map{ selector(it).inWholeMilliseconds}.mean().milliseconds

fun Iterable<Duration>.median() : Duration = meanOf { it }
fun <T> Iterable<T>.medianOf(selector: (T) -> Duration) = map{ selector(it).inWholeMilliseconds}.median().milliseconds

operator fun Number.times(duration: Duration) = duration.times(this.toDouble())

0 comments on commit c5c1ce8

Please sign in to comment.