Remove special case of generation for numeric and toPrimitiveArrays.
This commit is contained in:
@@ -10,154 +10,6 @@ import java.util.*
|
|||||||
|
|
||||||
import java.util.Collections // TODO: it's temporary while we have java.util.Collections in js
|
import java.util.Collections // TODO: it's temporary while we have java.util.Collections in js
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("averageOfInt")
|
|
||||||
public fun Iterable<Int>.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("averageOfInt")
|
|
||||||
public fun Sequence<Int>.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("averageOfInt")
|
|
||||||
public fun Array<out Int>.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
public fun IntArray.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("averageOfLong")
|
|
||||||
public fun Iterable<Long>.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("averageOfLong")
|
|
||||||
public fun Sequence<Long>.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("averageOfLong")
|
|
||||||
public fun Array<out Long>.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
public fun LongArray.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("averageOfByte")
|
|
||||||
public fun Iterable<Byte>.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("averageOfByte")
|
|
||||||
public fun Sequence<Byte>.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an average value of elements in the collection.
|
* Returns an average value of elements in the collection.
|
||||||
*/
|
*/
|
||||||
@@ -173,109 +25,6 @@ public fun Array<out Byte>.average(): Double {
|
|||||||
return if (count == 0) 0.0 else sum / count
|
return if (count == 0) 0.0 else sum / count
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
public fun ByteArray.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("averageOfShort")
|
|
||||||
public fun Iterable<Short>.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("averageOfShort")
|
|
||||||
public fun Sequence<Short>.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("averageOfShort")
|
|
||||||
public fun Array<out Short>.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
public fun ShortArray.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("averageOfDouble")
|
|
||||||
public fun Iterable<Double>.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an average value of elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("averageOfDouble")
|
|
||||||
public fun Sequence<Double>.average(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
var count: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
count += 1
|
|
||||||
}
|
|
||||||
return if (count == 0) 0.0 else sum / count
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an average value of elements in the collection.
|
* Returns an average value of elements in the collection.
|
||||||
*/
|
*/
|
||||||
@@ -291,6 +40,80 @@ public fun Array<out Double>.average(): Double {
|
|||||||
return if (count == 0) 0.0 else sum / count
|
return if (count == 0) 0.0 else sum / count
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("averageOfFloat")
|
||||||
|
public fun Array<out Float>.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("averageOfInt")
|
||||||
|
public fun Array<out Int>.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("averageOfLong")
|
||||||
|
public fun Array<out Long>.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("averageOfShort")
|
||||||
|
public fun Array<out Short>.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
public fun ByteArray.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an average value of elements in the collection.
|
* Returns an average value of elements in the collection.
|
||||||
*/
|
*/
|
||||||
@@ -305,6 +128,92 @@ public fun DoubleArray.average(): Double {
|
|||||||
return if (count == 0) 0.0 else sum / count
|
return if (count == 0) 0.0 else sum / count
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
public fun FloatArray.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
public fun IntArray.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
public fun LongArray.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
public fun ShortArray.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("averageOfByte")
|
||||||
|
public fun Iterable<Byte>.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("averageOfDouble")
|
||||||
|
public fun Iterable<Double>.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an average value of elements in the collection.
|
* Returns an average value of elements in the collection.
|
||||||
*/
|
*/
|
||||||
@@ -320,6 +229,81 @@ public fun Iterable<Float>.average(): Double {
|
|||||||
return if (count == 0) 0.0 else sum / count
|
return if (count == 0) 0.0 else sum / count
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("averageOfInt")
|
||||||
|
public fun Iterable<Int>.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("averageOfLong")
|
||||||
|
public fun Iterable<Long>.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("averageOfShort")
|
||||||
|
public fun Iterable<Short>.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("averageOfByte")
|
||||||
|
public fun Sequence<Byte>.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("averageOfDouble")
|
||||||
|
public fun Sequence<Double>.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an average value of elements in the collection.
|
* Returns an average value of elements in the collection.
|
||||||
*/
|
*/
|
||||||
@@ -338,8 +322,8 @@ public fun Sequence<Float>.average(): Double {
|
|||||||
/**
|
/**
|
||||||
* Returns an average value of elements in the collection.
|
* Returns an average value of elements in the collection.
|
||||||
*/
|
*/
|
||||||
platformName("averageOfFloat")
|
platformName("averageOfInt")
|
||||||
public fun Array<out Float>.average(): Double {
|
public fun Sequence<Int>.average(): Double {
|
||||||
val iterator = iterator()
|
val iterator = iterator()
|
||||||
var sum: Double = 0.0
|
var sum: Double = 0.0
|
||||||
var count: Int = 0
|
var count: Int = 0
|
||||||
@@ -353,7 +337,23 @@ public fun Array<out Float>.average(): Double {
|
|||||||
/**
|
/**
|
||||||
* Returns an average value of elements in the collection.
|
* Returns an average value of elements in the collection.
|
||||||
*/
|
*/
|
||||||
public fun FloatArray.average(): Double {
|
platformName("averageOfLong")
|
||||||
|
public fun Sequence<Long>.average(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
var count: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
count += 1
|
||||||
|
}
|
||||||
|
return if (count == 0) 0.0 else sum / count
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an average value of elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("averageOfShort")
|
||||||
|
public fun Sequence<Short>.average(): Double {
|
||||||
val iterator = iterator()
|
val iterator = iterator()
|
||||||
var sum: Double = 0.0
|
var sum: Double = 0.0
|
||||||
var count: Int = 0
|
var count: Int = 0
|
||||||
@@ -367,8 +367,8 @@ public fun FloatArray.average(): Double {
|
|||||||
/**
|
/**
|
||||||
* Returns the sum of all elements in the collection.
|
* Returns the sum of all elements in the collection.
|
||||||
*/
|
*/
|
||||||
platformName("sumOfInt")
|
platformName("sumOfByte")
|
||||||
public fun Iterable<Int>.sum(): Int {
|
public fun Array<out Byte>.sum(): Int {
|
||||||
val iterator = iterator()
|
val iterator = iterator()
|
||||||
var sum: Int = 0
|
var sum: Int = 0
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
@@ -380,10 +380,23 @@ public fun Iterable<Int>.sum(): Int {
|
|||||||
/**
|
/**
|
||||||
* Returns the sum of all elements in the collection.
|
* Returns the sum of all elements in the collection.
|
||||||
*/
|
*/
|
||||||
platformName("sumOfInt")
|
platformName("sumOfDouble")
|
||||||
public fun Sequence<Int>.sum(): Int {
|
public fun Array<out Double>.sum(): Double {
|
||||||
val iterator = iterator()
|
val iterator = iterator()
|
||||||
var sum: Int = 0
|
var sum: Double = 0.0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
}
|
||||||
|
return sum
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the sum of all elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("sumOfFloat")
|
||||||
|
public fun Array<out Float>.sum(): Float {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Float = 0.0f
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
sum += iterator.next()
|
sum += iterator.next()
|
||||||
}
|
}
|
||||||
@@ -403,44 +416,6 @@ public fun Array<out Int>.sum(): Int {
|
|||||||
return sum
|
return sum
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the sum of all elements in the collection.
|
|
||||||
*/
|
|
||||||
public fun IntArray.sum(): Int {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
}
|
|
||||||
return sum
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the sum of all elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("sumOfLong")
|
|
||||||
public fun Iterable<Long>.sum(): Long {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Long = 0L
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
}
|
|
||||||
return sum
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the sum of all elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("sumOfLong")
|
|
||||||
public fun Sequence<Long>.sum(): Long {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Long = 0L
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
}
|
|
||||||
return sum
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the sum of all elements in the collection.
|
* Returns the sum of all elements in the collection.
|
||||||
*/
|
*/
|
||||||
@@ -457,46 +432,8 @@ public fun Array<out Long>.sum(): Long {
|
|||||||
/**
|
/**
|
||||||
* Returns the sum of all elements in the collection.
|
* Returns the sum of all elements in the collection.
|
||||||
*/
|
*/
|
||||||
public fun LongArray.sum(): Long {
|
platformName("sumOfShort")
|
||||||
val iterator = iterator()
|
public fun Array<out Short>.sum(): Int {
|
||||||
var sum: Long = 0L
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
}
|
|
||||||
return sum
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the sum of all elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("sumOfByte")
|
|
||||||
public fun Iterable<Byte>.sum(): Int {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
}
|
|
||||||
return sum
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the sum of all elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("sumOfByte")
|
|
||||||
public fun Sequence<Byte>.sum(): Int {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
}
|
|
||||||
return sum
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the sum of all elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("sumOfByte")
|
|
||||||
public fun Array<out Byte>.sum(): Int {
|
|
||||||
val iterator = iterator()
|
val iterator = iterator()
|
||||||
var sum: Int = 0
|
var sum: Int = 0
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
@@ -520,8 +457,31 @@ public fun ByteArray.sum(): Int {
|
|||||||
/**
|
/**
|
||||||
* Returns the sum of all elements in the collection.
|
* Returns the sum of all elements in the collection.
|
||||||
*/
|
*/
|
||||||
platformName("sumOfShort")
|
public fun DoubleArray.sum(): Double {
|
||||||
public fun Iterable<Short>.sum(): Int {
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
}
|
||||||
|
return sum
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the sum of all elements in the collection.
|
||||||
|
*/
|
||||||
|
public fun FloatArray.sum(): Float {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Float = 0.0f
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
}
|
||||||
|
return sum
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the sum of all elements in the collection.
|
||||||
|
*/
|
||||||
|
public fun IntArray.sum(): Int {
|
||||||
val iterator = iterator()
|
val iterator = iterator()
|
||||||
var sum: Int = 0
|
var sum: Int = 0
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
@@ -533,23 +493,9 @@ public fun Iterable<Short>.sum(): Int {
|
|||||||
/**
|
/**
|
||||||
* Returns the sum of all elements in the collection.
|
* Returns the sum of all elements in the collection.
|
||||||
*/
|
*/
|
||||||
platformName("sumOfShort")
|
public fun LongArray.sum(): Long {
|
||||||
public fun Sequence<Short>.sum(): Int {
|
|
||||||
val iterator = iterator()
|
val iterator = iterator()
|
||||||
var sum: Int = 0
|
var sum: Long = 0L
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
}
|
|
||||||
return sum
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the sum of all elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("sumOfShort")
|
|
||||||
public fun Array<out Short>.sum(): Int {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Int = 0
|
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
sum += iterator.next()
|
sum += iterator.next()
|
||||||
}
|
}
|
||||||
@@ -568,6 +514,19 @@ public fun ShortArray.sum(): Int {
|
|||||||
return sum
|
return sum
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the sum of all elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("sumOfByte")
|
||||||
|
public fun Iterable<Byte>.sum(): Int {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
}
|
||||||
|
return sum
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the sum of all elements in the collection.
|
* Returns the sum of all elements in the collection.
|
||||||
*/
|
*/
|
||||||
@@ -581,44 +540,6 @@ public fun Iterable<Double>.sum(): Double {
|
|||||||
return sum
|
return sum
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the sum of all elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("sumOfDouble")
|
|
||||||
public fun Sequence<Double>.sum(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
}
|
|
||||||
return sum
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the sum of all elements in the collection.
|
|
||||||
*/
|
|
||||||
platformName("sumOfDouble")
|
|
||||||
public fun Array<out Double>.sum(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
}
|
|
||||||
return sum
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the sum of all elements in the collection.
|
|
||||||
*/
|
|
||||||
public fun DoubleArray.sum(): Double {
|
|
||||||
val iterator = iterator()
|
|
||||||
var sum: Double = 0.0
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
sum += iterator.next()
|
|
||||||
}
|
|
||||||
return sum
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the sum of all elements in the collection.
|
* Returns the sum of all elements in the collection.
|
||||||
*/
|
*/
|
||||||
@@ -632,6 +553,71 @@ public fun Iterable<Float>.sum(): Float {
|
|||||||
return sum
|
return sum
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the sum of all elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("sumOfInt")
|
||||||
|
public fun Iterable<Int>.sum(): Int {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
}
|
||||||
|
return sum
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the sum of all elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("sumOfLong")
|
||||||
|
public fun Iterable<Long>.sum(): Long {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Long = 0L
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
}
|
||||||
|
return sum
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the sum of all elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("sumOfShort")
|
||||||
|
public fun Iterable<Short>.sum(): Int {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
}
|
||||||
|
return sum
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the sum of all elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("sumOfByte")
|
||||||
|
public fun Sequence<Byte>.sum(): Int {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Int = 0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
}
|
||||||
|
return sum
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the sum of all elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("sumOfDouble")
|
||||||
|
public fun Sequence<Double>.sum(): Double {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Double = 0.0
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
}
|
||||||
|
return sum
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the sum of all elements in the collection.
|
* Returns the sum of all elements in the collection.
|
||||||
*/
|
*/
|
||||||
@@ -648,10 +634,10 @@ public fun Sequence<Float>.sum(): Float {
|
|||||||
/**
|
/**
|
||||||
* Returns the sum of all elements in the collection.
|
* Returns the sum of all elements in the collection.
|
||||||
*/
|
*/
|
||||||
platformName("sumOfFloat")
|
platformName("sumOfInt")
|
||||||
public fun Array<out Float>.sum(): Float {
|
public fun Sequence<Int>.sum(): Int {
|
||||||
val iterator = iterator()
|
val iterator = iterator()
|
||||||
var sum: Float = 0.0f
|
var sum: Int = 0
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
sum += iterator.next()
|
sum += iterator.next()
|
||||||
}
|
}
|
||||||
@@ -661,9 +647,23 @@ public fun Array<out Float>.sum(): Float {
|
|||||||
/**
|
/**
|
||||||
* Returns the sum of all elements in the collection.
|
* Returns the sum of all elements in the collection.
|
||||||
*/
|
*/
|
||||||
public fun FloatArray.sum(): Float {
|
platformName("sumOfLong")
|
||||||
|
public fun Sequence<Long>.sum(): Long {
|
||||||
val iterator = iterator()
|
val iterator = iterator()
|
||||||
var sum: Float = 0.0f
|
var sum: Long = 0L
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
sum += iterator.next()
|
||||||
|
}
|
||||||
|
return sum
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the sum of all elements in the collection.
|
||||||
|
*/
|
||||||
|
platformName("sumOfShort")
|
||||||
|
public fun Sequence<Short>.sum(): Int {
|
||||||
|
val iterator = iterator()
|
||||||
|
var sum: Int = 0
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
sum += iterator.next()
|
sum += iterator.next()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,26 +20,9 @@ fun generateCollectionsAPI(outDir: File) {
|
|||||||
sequences().writeTo(File(outDir, "_Sequences.kt")) { build() }
|
sequences().writeTo(File(outDir, "_Sequences.kt")) { build() }
|
||||||
specialJVM().writeTo(File(outDir, "_SpecialJVM.kt")) { build() }
|
specialJVM().writeTo(File(outDir, "_SpecialJVM.kt")) { build() }
|
||||||
ranges().writeTo(File(outDir, "_Ranges.kt")) { build() }
|
ranges().writeTo(File(outDir, "_Ranges.kt")) { build() }
|
||||||
|
toPrimitiveArrays().writeTo(File(outDir, "_ArraysToPrimitiveArrays.kt")) { build() }
|
||||||
toPrimitiveArrays().writeTo(File(outDir, "_ArraysToPrimitiveArrays.kt")) {
|
numeric().writeTo(File(outDir, "_Numeric.kt")) { build() }
|
||||||
val builder = StringBuilder()
|
|
||||||
for (family in buildFamilies)
|
|
||||||
build(builder, family, buildPrimitives.single())
|
|
||||||
|
|
||||||
builder.toString()
|
|
||||||
}
|
|
||||||
|
|
||||||
numeric().writeTo(File(outDir, "_Numeric.kt")) {
|
|
||||||
val builder = StringBuilder()
|
|
||||||
for (numeric in numericPrimitives)
|
|
||||||
for (family in buildFamilies)
|
|
||||||
build(builder, family, numeric)
|
|
||||||
|
|
||||||
builder.toString()
|
|
||||||
}
|
|
||||||
|
|
||||||
comparables().writeTo(File(outDir, "_Comparables.kt")) { build() }
|
comparables().writeTo(File(outDir, "_Comparables.kt")) { build() }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun generateCollectionsJsAPI(outDir: File) {
|
fun generateCollectionsJsAPI(outDir: File) {
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ fun toPrimitiveArrays(): List<GenericFunction> =
|
|||||||
val arrayType = primitive.name + "Array"
|
val arrayType = primitive.name + "Array"
|
||||||
f("to$arrayType()") {
|
f("to$arrayType()") {
|
||||||
only(ArraysOfObjects, Collections)
|
only(ArraysOfObjects, Collections)
|
||||||
only(primitive)
|
buildFamilies.forEach { family -> onlyPrimitives(family, primitive) }
|
||||||
doc(ArraysOfObjects) { "Returns an array of ${primitive.name} containing all of the elements of this generic array." }
|
doc(ArraysOfObjects) { "Returns an array of ${primitive.name} containing all of the elements of this generic array." }
|
||||||
doc(Collections) { "Returns an array of ${primitive.name} containing all of the elements of this collection." }
|
doc(Collections) { "Returns an array of ${primitive.name} containing all of the elements of this collection." }
|
||||||
returns(arrayType)
|
returns(arrayType)
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ fun numeric(): List<GenericFunction> {
|
|||||||
|
|
||||||
templates add f("sum()") {
|
templates add f("sum()") {
|
||||||
exclude(Strings)
|
exclude(Strings)
|
||||||
|
buildFamilies.forEach { family -> onlyPrimitives(family, numericPrimitives) }
|
||||||
doc { "Returns the sum of all elements in the collection." }
|
doc { "Returns the sum of all elements in the collection." }
|
||||||
returns("SUM")
|
returns("SUM")
|
||||||
platformName("sumOf<T>")
|
platformName("sumOf<T>")
|
||||||
@@ -24,6 +25,7 @@ fun numeric(): List<GenericFunction> {
|
|||||||
|
|
||||||
templates add f("average()") {
|
templates add f("average()") {
|
||||||
exclude(Strings)
|
exclude(Strings)
|
||||||
|
buildFamilies.forEach { family -> onlyPrimitives(family, numericPrimitives) }
|
||||||
doc { "Returns an average value of elements in the collection."}
|
doc { "Returns an average value of elements in the collection."}
|
||||||
returns("Double")
|
returns("Double")
|
||||||
platformName("averageOf<T>")
|
platformName("averageOf<T>")
|
||||||
|
|||||||
Reference in New Issue
Block a user