Remove special case of generation for numeric and toPrimitiveArrays.

This commit is contained in:
Ilya Gorbunov
2015-07-24 05:00:13 +03:00
parent dd71cbb96e
commit 2f1c8a3dfa
4 changed files with 403 additions and 418 deletions
+398 -398
View File
@@ -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>")