Package-level declarations

Types

Link copied to clipboard
interface Feature<F : Feature<F>>
Link copied to clipboard
interface Featured<F : Any>

An entity that contains a set of features defined by their types

Link copied to clipboard
typealias FeatureKey<T> = KClass<out T>
Link copied to clipboard
value class FeatureSet<F : Feature<F>> : Featured<F>

A container for a set of features

Link copied to clipboard
fun interface Loggable

Functions

Link copied to clipboard
inline fun <T, R> Iterable<T>.cumulative(initial: R, crossinline operation: (R, T) -> R): Iterable<R>
inline fun <T, R> List<T>.cumulative(initial: R, crossinline operation: (R, T) -> R): List<R>
inline fun <T, R> Sequence<T>.cumulative(initial: R, crossinline operation: (R, T) -> R): Sequence<R>

inline fun <T, R> Iterator<T>.cumulative(initial: R, crossinline operation: (R, T) -> R): Iterator<R>

Generic cumulative operation on iterator.

Link copied to clipboard
@JvmName(name = "cumulativeSumOfDouble")
fun Iterable<Double>.cumulativeSum(): Iterable<Double>
@JvmName(name = "cumulativeSumOfInt")
fun Iterable<Int>.cumulativeSum(): Iterable<Int>
@JvmName(name = "cumulativeSumOfLong")
fun Iterable<Long>.cumulativeSum(): Iterable<Long>
@JvmName(name = "cumulativeSumOfDouble")
fun List<Double>.cumulativeSum(): List<Double>
@JvmName(name = "cumulativeSumOfInt")
fun List<Int>.cumulativeSum(): List<Int>
@JvmName(name = "cumulativeSumOfLong")
fun List<Long>.cumulativeSum(): List<Long>
@JvmName(name = "cumulativeSumOfDouble")
fun Sequence<Double>.cumulativeSum(): Sequence<Double>
@JvmName(name = "cumulativeSumOfInt")
fun Sequence<Int>.cumulativeSum(): Sequence<Int>
@JvmName(name = "cumulativeSumOfLong")
fun Sequence<Long>.cumulativeSum(): Sequence<Long>
fun <T> List<T>.cumulativeSum(group: Ring<T>): List<T>
fun <T> Buffer<T>.cumulativeSum(ring: Ring<T>): Buffer<T>

Cumulative sum with custom space

Link copied to clipboard
@UnstableKMathAPI
fun <V : Comparable<V>> Buffer<V>.indicesSorted(): IntArray

Return a new array filled with buffer indices. Indices order is defined by sorting associated buffer value. This feature allows sorting buffer values without reordering its content.

Link copied to clipboard
@UnstableKMathAPI
fun <V, C : Comparable<C>> Buffer<V>.indicesSortedBy(selector: (V) -> C): IntArray
Link copied to clipboard
@UnstableKMathAPI
fun <V, C : Comparable<C>> Buffer<V>.indicesSortedByDescending(selector: (V) -> C): IntArray
Link copied to clipboard
@UnstableKMathAPI
fun <V : Comparable<V>> Buffer<V>.indicesSortedDescending(): IntArray
Link copied to clipboard
@UnstableKMathAPI
fun <V> Buffer<V>.indicesSortedWith(comparator: Comparator<V>): IntArray
Link copied to clipboard
fun Loggable.log(block: () -> String)
Link copied to clipboard

Checks that the Buffer is sorted (ascending) and throws IllegalArgumentException if it is not.

Link copied to clipboard

Create a zero-copy virtual buffer that contains the same elements but in ascending order

Link copied to clipboard
fun <V, C : Comparable<C>> Buffer<V>.sortedBy(selector: (V) -> C): Buffer<V>
Link copied to clipboard
fun <V, C : Comparable<C>> Buffer<V>.sortedByDescending(selector: (V) -> C): Buffer<V>
Link copied to clipboard

Create a zero-copy virtual buffer that contains the same elements but in descending order

Link copied to clipboard
expect fun Long.toIntExact(): Int
actual fun Long.toIntExact(): Int
actual fun Long.toIntExact(): Int
actual fun Long.toIntExact(): Int
actual fun Long.toIntExact(): Int
Link copied to clipboard

inline fun <T, R> List<T>.zipWithNextCircular(transform: (a: T, b: T) -> R): List<R>

The same as zipWithNext, but includes link between last and first element