Commit Graph

38 Commits

Author SHA1 Message Date
Abduqodiri Qurbonzoda ae47130c8e Implement UArray.contains(element) workaround for JS 2019-02-25 21:58:53 +03:00
Abduqodiri Qurbonzoda c1b523ddef Fix UArray.containsAll(Collection<Any?>) 2019-02-25 21:58:53 +03:00
Abduqodiri Qurbonzoda 1b6b44c805 Implement conversion between floating point numbers and unsigned integers
KT-27108
2019-02-25 21:58:03 +03:00
Mikhael Bogdanov dfee1787e5 Regenerate builtins 2019-01-02 14:47:48 +01:00
Ilya Gorbunov f2a51f96a5 Improve documentation of experimental annotations 2018-09-26 18:15:52 +03:00
Ilya Gorbunov 1d7ee22bdc Simplify comparisons for small unsigned types that can fit in Int
UByte and UShort can be extended to Int exactly and then compared as ints
2018-09-18 22:25:36 +03:00
Ilya Gorbunov af29dced98 Make overridden compareTo in unsigned types inline only 2018-09-18 22:25:36 +03:00
Ilya Gorbunov 9e0708e85a Make most of unsigned operations inline only 2018-09-18 22:25:36 +03:00
Ilya Gorbunov d793221a7b Extract unsigned type related extensions to separate classes
- Rename class with unsigned number to string conversions to UStringsKt
- Extract Random unsigned extensions to URandomKt
2018-09-18 22:25:36 +03:00
Ilya Gorbunov 82d35cfa26 Change signed to unsigned widening conversions to sign-extending
e.g. `Byte.toUInt()` now returns `UInt.MAX_VALUE` for Byte value of -1 instead of 0xFFu.

#KT-26594 Fixed
2018-09-06 21:25:42 +03:00
Ilya Gorbunov f5df53b7a7 Detect UInt/ULong parsing overflow after digit addition instead of before
#KT-26161
2018-08-30 14:58:39 +03:00
Ilya Gorbunov d99f97ad96 Support '+' in front of parsed unsigned string values
#KT-26161
2018-08-30 14:58:37 +03:00
Ilya Gorbunov 2530a8e98c Provide unsigned string to number conversion in arbitrary base
#KT-26161
2018-08-30 14:58:35 +03:00
Ilya Gorbunov c1d1a7108f Provide unsigned number to string conversion in arbitrary base
#KT-26161
2018-08-30 14:58:33 +03:00
Ilya Gorbunov 47162590eb Add a credit for Guava implementation of unsigned division and remainder 2018-08-30 14:58:30 +03:00
Ilya Gorbunov 6360cc3cb5 Unsigned arrays: expose storage field as internal PublishedApi
To be able to write basic extensions that access storage array.
2018-08-30 14:58:24 +03:00
Ilya Gorbunov 76ff4c9b2f Remove custom hashCode and equals from unsigned types
The generated ones are ok now (on JVM)
2018-08-30 14:58:16 +03:00
Ilya Gorbunov a0b0994651 Make unsigned array constructor-like functions inline-only 2018-08-30 14:56:53 +03:00
Ilya Gorbunov f9479d12f9 Add missing unsigned array constructors (from size)
#KT-25961 Fixed
2018-08-30 14:56:51 +03:00
Ilya Gorbunov e18bebf12a Fix plain wrong unsigned rem implementation 2018-08-30 14:56:10 +03:00
Ilya Gorbunov 7dc6c3d7ce Prohibit MIN_VALUE step for unsigned progressions 2018-08-30 14:56:04 +03:00
Ilya Gorbunov 1792a77a47 Generate hashCode and equals for unsigned types 2018-08-30 14:52:51 +03:00
Ilya Gorbunov e2310343d4 Opt-in to use unsigned types in various internal utils 2018-08-30 14:52:49 +03:00
Ilya Gorbunov 0c50014e7a Introduce SIZE_BYTES and SIZE_BITS constants for all integral types
#KT-8247 Fixed
2018-08-30 14:51:10 +03:00
Ilya Gorbunov b5fabf3f72 Make unsigned types experimental (with warning if not opted-in) 2018-07-04 19:12:11 +03:00
Ilya Gorbunov 3349976279 Make MIN_VALUE and MAX_VALUE of unsigned types actual constants 2018-07-03 03:52:18 +03:00
Ilya Gorbunov 7a208c3e01 Simplify unsigned array constructor functions 2018-07-03 03:52:18 +03:00
Ilya Gorbunov 615f57f2fc Compile unsigned types sourceset with 1.3 and annotate them with SinceKotlin("1.3") 2018-07-03 03:52:18 +03:00
Ilya Gorbunov 793d34b913 Suppress errors about non-public primary constructor and forbidden varargs 2018-05-22 22:27:00 +03:00
Ilya Gorbunov 0eee258fce Generate toString implementation for unsigned types 2018-05-22 22:26:56 +03:00
Ilya Gorbunov e988ea5a1c Implement unsigned arithmetic operations including ulong division and remainder 2018-05-22 22:26:52 +03:00
Ilya Gorbunov e01895fb0a Implement unsigned/signed conversions 2018-05-22 22:26:47 +03:00
Ilya Gorbunov 89e4fdfa9c Implement unsigned comparisons 2018-05-22 22:26:43 +03:00
Ilya Gorbunov e4216099b3 Simplify differenceModulo for unsigned operands 2018-05-22 22:26:39 +03:00
Ilya Gorbunov f2c01a9d9b Generate ranges, progressions and progressioniterators for UInt and ULong 2018-05-22 22:26:36 +03:00
Ilya Gorbunov 5c6719b1e6 Generate arrays of unsigned types 2018-05-22 22:26:32 +03:00
Ilya Gorbunov 4fbc48f83f Generate specialized abstract iterators for unsigned types 2018-05-22 22:26:28 +03:00
Ilya Gorbunov 188d8ab8dd Generate unsigned integers declarations, mostly without implementations
Generate and/or/xor/inv for UByte/UShort using experimental signed counterparts
2018-05-22 22:26:24 +03:00