Ilya Gorbunov
a5b7c270ae
Change Duration.toString(unit, decimals) formatting
...
- switch to scientific notation when value is too big (greater than 1e14)
- allow at most 12 decimals, larger values are coerced to 12
- use scientific format with exactly two decimals in mantissa in JVM
2019-06-18 19:49:35 +03:00
Ilya Gorbunov
58b04c7974
Add remaining docs for Duration members, runnable samples for toString
2019-06-18 04:02:35 +03:00
Ilya Gorbunov
ffd9d8c71d
Remove unneeded buildString from Duration.toString
2019-06-18 04:02:35 +03:00
Ilya Gorbunov
c66740a7ed
Explicit public visibility, SinceKotlin and ExperimentalTime status
...
Use file level ExperimentalTime opt-in in tests.
2019-06-18 04:02:35 +03:00
Ilya Gorbunov
16111ab79f
Opt-in for Experimental/UseExperimental annotation usage in tests
2019-06-18 04:02:34 +03:00
Ilya Gorbunov
3b989cc815
Avoid using 'D' component in ISO duration string representation
...
Days in ISO have nominal duration, they are not always equal to 24H
2019-06-18 04:02:34 +03:00
Ilya Gorbunov
6dbc2eeb90
Provide more efficient ClockMark implementation
...
Do not use default 'plus' operator implementation, that creates a wrapping
AdjustedClockMark instance, create instance of the same type instead.
2019-06-18 04:02:34 +03:00
Ilya Gorbunov
8c730e180c
Make ClockMark an abstract class instead of an interface
2019-06-18 04:02:34 +03:00
Ilya Gorbunov
04ec90164e
Use ThreadLocals to cache DecimalFormat instances
2019-06-18 04:02:34 +03:00
Ilya Gorbunov
368452748b
Move convertDurationUnit into Duration companion
2019-06-18 04:02:33 +03:00
Ilya Gorbunov
ca10d13f34
Rename Duration storage property to 'value'
2019-06-18 04:02:33 +03:00
Ilya Gorbunov
365cbb94cd
Change Duration.absoluteValue to property
2019-06-18 04:02:33 +03:00
Ilya Gorbunov
3f7a0d0845
Rename DurationMeasured to TimedValue, withMeasureTime to measuredTimeValue
...
Add measureTime docs
2019-06-18 04:02:33 +03:00
Ilya Gorbunov
9deac2a591
Rename withComponents to toComponents and add two overloads of them
2019-06-18 04:02:33 +03:00
Ilya Gorbunov
796ad29637
Add shortcuts to convert duration to milliseconds and nanoseconds
2019-06-18 04:02:32 +03:00
Ilya Gorbunov
8004c34e44
Reduce Duration API surface, add top-level docs
...
- toDuration(unit) extension instead of constructors
- toDouble/Long/Int(unit) function instead of inUnits()
- remove static factory functions
- remove MIN_VALUE/MAX_VALUE constants
2019-06-18 04:02:32 +03:00
Ilya Gorbunov
682430766b
Add ClockMark and measureTime tests with test clock
2019-06-18 04:02:32 +03:00
Ilya Gorbunov
b5d16f1a9b
Simplify Clock/ClockMark design
...
- Do not require initialElapsed parameter
- Introduce instead ClockMark +- Duration operators
- Do not require ClockMark to expose its originating Clock back
- Turn elapsedFrom property into elapsed() function
- Rename abstract clock classes
- Fix unit of abstract clocks when constructing them
Add top-level docs for Clocks
2019-06-18 04:02:32 +03:00
Ilya Gorbunov
ca29cfb88d
Implement MonoClock in JS
...
It uses either process.hrtime() in node.js or performance.now() in browser,
falling back to Date.now() if the latter is not available
2019-06-18 04:02:31 +03:00
Ilya Gorbunov
b816f50d4d
Implement and test default string formatting in JVM and JS
...
Relax Duration.toString tests for JS and Native rounding specifics
2019-06-18 04:01:55 +03:00
Ilya Gorbunov
804d2b2d8c
Helper utilities to execute test code on particular platforms
2019-06-18 03:59:52 +03:00
Ilya Gorbunov
c1f7fd0281
Duration: test toString in particular units
2019-06-18 03:59:52 +03:00
Ilya Gorbunov
b9c56af9ba
Change Duration value storage unit to ns
2019-06-18 03:59:52 +03:00
Ilya Gorbunov
690049c082
Duration unit tests
2019-06-18 03:59:52 +03:00
Ilya Gorbunov
7977b6cdb8
Implement DurationUnit in JS, add doc summary and conversion test
2019-06-18 03:59:51 +03:00
Ilya Gorbunov
37c5f2c54f
Initial prototype of Duration and Clocks API
2019-06-18 03:59:51 +03:00
Roman Artemev
1f70284b18
[JS IR BE] Fix charSequenceLength function for JS IR
2019-06-17 18:10:53 +03:00
Ilya Gorbunov
a1979677d0
Docs: mark all experimental annotations as MustBeDocumented
...
So that they are shown in the docs of annotated experimental API
2019-06-15 16:37:45 +03:00
Kevin Peek
4c91ba90bb
Add links to Scope Functions docs (PR #2407 )
...
Add links to Scope Functions docs on kotlinlang.org to 'with', 'run', 'let', 'apply', and 'also' extension function docs
2019-06-13 20:49:38 +03:00
Alexander Udalov
fec9ee6408
Minor, add kdoc for typeOf
2019-06-07 00:29:35 +02:00
Abduqodiri Qurbonzoda
37dfbb3eba
Workaround unpaired surrogates replacement with ? (KT-31614)
2019-06-04 21:25:41 +03:00
Ilya Gorbunov
8badfca459
Fix titlecase lowering in decapitalize
...
Replace isUpperCase() with !isLowerCase check to lower both
upper- and titlecased first chars.
2019-05-29 03:54:46 +03:00
Ilya Gorbunov
a921bd04e0
capitalize/decapitalize: improve docs, add one test
2019-05-29 03:54:46 +03:00
Jake Wharton
af31794f60
Add Locale-accepting overloads for (de)capitalize in JDK stdlib
...
#KT-28933 fixed
2019-05-29 03:35:33 +03:00
Eduard Wolf
c885cadde4
KT-31639: Fix Iterables.drop integer overflow
2019-05-27 23:07:14 +03:00
Svyatoslav Kuzmich
142c9e2a8b
[JS RUNTIME] Workaround invalid IR in ArraySorting
2019-05-24 11:50:47 +03:00
Svyatoslav Kuzmich
a3677d6fc0
[JS IR RUNTIME] Fix types in kotlin.js.captureStack
2019-05-24 11:50:47 +03:00
Svyatoslav Kuzmich
ec34cdaae9
[JS STDLIB] Fix: Object.keys() returns list of strings
2019-05-24 11:50:46 +03:00
Roman Artemev
9c7d47789c
[JS IR BE] Implement type check for SuspendFunctionN
2019-05-22 15:18:13 +03:00
Svyatoslav Kuzmich
b8bbcb3f93
[JS IR BE] Copy type metadata for Boolean, Char and Long varargs
2019-05-21 19:19:31 +03:00
Benjamin Orsini
3e39f26379
Add map() documentation sample
...
* docs: add map() sample
* docs: add samples for Map and CharSequence
* docs: add another sample for Maps.map()
2019-05-20 19:20:09 +03:00
Roman Artemev
cd3fd60dd7
[JS BE] Extract backend specific code from shared stdlib sources
2019-05-16 19:27:41 +03:00
Svyatoslav Kuzmich
23a214710b
[JS IR BE] Add Unit return type to function signature
2019-05-15 14:09:02 +03:00
pyos
683f8417d3
Add a common JVM/JS lowering for Array(size, function)
...
and remove the hack from JVM_IR codegen that replaces this call with
hardcoded inline function bytecode.
(cherry picked from commit 4a29e3cfcf )
2019-05-09 11:54:18 +02:00
max-kammerer
e74e0ea013
Revert "Add a common JVM/JS lowering for Array(size, function)"
...
This reverts commit 4a29e3cfcf .
2019-05-09 11:49:34 +02:00
pyos
4a29e3cfcf
Add a common JVM/JS lowering for Array(size, function)
...
and remove the hack from JVM_IR codegen that replaces this call with
hardcoded inline function bytecode.
2019-05-09 08:03:18 +02:00
Ilya Gorbunov
2c26dc3af6
Add simplified overloads of String<->ByteArray/CharArray conversions
...
These overloads cover the most common cases of conversion of the entire
String or Byte/CharArray, avoiding extra index check and branching.
#KT-24810, KT-29265
2019-05-08 02:58:57 +03:00
Svyatoslav Kuzmich
e3bcabeae3
[JS IR] stdlib: Fix bugs in Long.toString(radix)
2019-05-07 21:49:12 +03:00
Svyatoslav Kuzmich
bc29a5b15c
[JS IR] stdlib: port methods that use bit representation of numbers
...
- Port part of 'misc.js' from current backend to 'bitUtils.kt' in IR backend
- Enable toBits, toRawBits, fromBits extension function on Double and Float
- Enable Double.withSign
- Refactor getNumberHashCode using new utils
2019-05-07 21:49:12 +03:00
Svyatoslav Kuzmich
362fbc8770
[JS IR] stdlib: Use comparator in CharArray.sort
...
CharArray is represented as a regular JS Array. Its default sort order is based
on string representation of elements.
2019-05-07 21:48:50 +03:00