Specialize plus operator for UArrays (KT-28397)

This commit is contained in:
Abduqodiri Qurbonzoda
2019-01-23 00:15:39 +03:00
committed by Ilya Gorbunov
parent 8977d0e26d
commit 6cd9858147
5 changed files with 292 additions and 117 deletions
@@ -99,7 +99,7 @@ class ArraysTest {
assertEquals(0.toShort(), arr[0])
assertEquals(1.toShort(), arr[1])
}
@Test fun intArray() {
val arr = IntArray(2)
@@ -107,7 +107,7 @@ class ArraysTest {
assertEquals(0, arr[0])
assertEquals(0, arr[1])
}
@Test fun intArrayInit() {
val arr = IntArray(2) { it.toInt() }
@@ -115,7 +115,7 @@ class ArraysTest {
assertEquals(0.toInt(), arr[0])
assertEquals(1.toInt(), arr[1])
}
@Test fun longArray() {
val arr = LongArray(2)
@@ -141,7 +141,7 @@ class ArraysTest {
assertEquals(expected, arr[0])
assertEquals(expected, arr[1])
}
@Test fun floatArrayInit() {
val arr = FloatArray(2) { it.toFloat() }
@@ -916,7 +916,7 @@ class ArraysTest {
byteArrayOf(1, 2, 3), byteArrayOf(4, 5, 6),
byteArrayOf(5, 6, 3), byteArrayOf(6, 3, 3), byteArrayOf(6, 6, 3)
)
doTest(
CharArray::copyInto, ::assertArrayNotSameButEquals, CharArray::contentToString,
charArrayOf('a', 'b', 'c'), charArrayOf('e', 'f', 'g'),
@@ -9,6 +9,9 @@ package test.collections
import test.collections.behaviors.collectionBehavior
import kotlin.test.*
fun assertArrayContentEquals(expected: UIntArray, actual: UIntArray, message: String = "") { assertTrue(expected contentEquals actual, message) }
class UnsignedArraysTest {
@Test
@@ -228,4 +231,11 @@ class UnsignedArraysTest {
}
}
@Test
fun plus() {
assertArrayContentEquals(uintArrayOf(1u, 2u, 3u), uintArrayOf(1u, 2u) + 3u)
assertArrayContentEquals(uintArrayOf(1u, 2u, 3u, 4u), uintArrayOf(1u, 2u) + listOf(3u, 4u))
assertArrayContentEquals(uintArrayOf(1u, 2u, 3u, 4u), uintArrayOf(1u, 2u) + uintArrayOf(3u, 4u))
}
}