
commonMain.arrow.core.Comparison.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of arrow-core Show documentation
Show all versions of arrow-core Show documentation
Functional companion to Kotlin's Standard Library
package arrow.core
public fun > sort(a: A, b: A): Pair =
if (a <= b) Pair(a, b) else Pair(b, a)
public fun > sort(a: A, b: A, c: A): Triple =
when {
a <= b && b <= c -> Triple(a, b, c)
a <= b -> if (c <= a) Triple(c, a, b) else Triple(a, c, b)
b <= a && a <= c -> Triple(b, a, c)
else -> if (c <= b) Triple(c, b, a) else Triple(b, c, a)
}
public fun > sort(a: A, vararg aas: A): List =
(listOf(a) + aas).sorted()
public fun sort(a: A, b: A, comparator: Comparator): Pair =
if (comparator.compare(a, b) <= 0) Pair(a, b) else Pair(b, a)
public fun sort(a: A, b: A, c: A, comparator: Comparator): Triple =
when {
comparator.compare(a, b) <= 0 && comparator.compare(b, c) <= 0 -> Triple(a, b, c)
comparator.compare(a, b) <= 0 -> if (comparator.compare(c, a) <= 0) Triple(c, a, b) else Triple(a, c, b)
comparator.compare(b, a) <= 0 && comparator.compare(a, c) <= 0 -> Triple(b, a, c)
else -> if (comparator.compare(c, b) <= 0) Triple(c, b, a) else Triple(b, c, a)
}
public fun sort(a: A, vararg aas: A, comparator: Comparator): List =
(listOf(a) + aas).sortedWith(comparator)
public fun sort(a: Byte, b: Byte): Pair =
if (a <= b) Pair(a, b) else Pair(b, a)
public fun sort(a: Byte, b: Byte, c: Byte): Triple =
when {
a <= b && b <= c -> Triple(a, b, c)
a <= b -> if (c <= a) Triple(c, a, b) else Triple(a, c, b)
b <= a && a <= c -> Triple(b, a, c)
else -> if (c <= b) Triple(c, b, a) else Triple(b, c, a)
}
public fun sort(a: Byte, vararg aas: Byte): List =
(arrayOf(a) + aas.toTypedArray()).sorted()
public fun sort(a: Short, b: Short): Pair =
if (a <= b) Pair(a, b) else Pair(b, a)
public fun sort(a: Short, b: Short, c: Short): Triple =
when {
a <= b && b <= c -> Triple(a, b, c)
a <= b -> if (c <= a) Triple(c, a, b) else Triple(a, c, b)
b <= a && a <= c -> Triple(b, a, c)
else -> if (c <= b) Triple(c, b, a) else Triple(b, c, a)
}
public fun sort(a: Short, vararg aas: Short): List =
(arrayOf(a) + aas.toTypedArray()).sorted()
public fun sort(a: Int, b: Int): Pair =
if (a <= b) Pair(a, b) else Pair(b, a)
public fun sort(a: Int, b: Int, c: Int): Triple =
when {
a <= b && b <= c -> Triple(a, b, c)
a <= b -> if (c <= a) Triple(c, a, b) else Triple(a, c, b)
b <= a && a <= c -> Triple(b, a, c)
else -> if (c <= b) Triple(c, b, a) else Triple(b, c, a)
}
public fun sort(a: Int, vararg aas: Int): List =
(arrayOf(a) + aas.toTypedArray()).sorted()
public fun sort(a: Long, b: Long): Pair =
if (a <= b) Pair(a, b) else Pair(b, a)
public fun sort(a: Long, b: Long, c: Long): Triple =
when {
a <= b && b <= c -> Triple(a, b, c)
a <= b -> if (c <= a) Triple(c, a, b) else Triple(a, c, b)
b <= a && a <= c -> Triple(b, a, c)
else -> if (c <= b) Triple(c, b, a) else Triple(b, c, a)
}
public fun sort(a: Long, vararg aas: Long): List =
(arrayOf(a) + aas.toTypedArray()).sorted()
© 2015 - 2025 Weber Informatics LLC | Privacy Policy