@fncts/test 0.0.21 → 0.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_cjs/api.cjs +2 -47
- package/_cjs/api.cjs.map +1 -1
- package/_cjs/control/AbstractRunnableSpec.cjs +0 -11
- package/_cjs/control/AbstractRunnableSpec.cjs.map +1 -1
- package/_cjs/control/Annotations/api.cjs +0 -12
- package/_cjs/control/Annotations/api.cjs.map +1 -1
- package/_cjs/control/Annotations/definition.cjs +0 -6
- package/_cjs/control/Annotations/definition.cjs.map +1 -1
- package/_cjs/control/Annotations/live.cjs +9 -30
- package/_cjs/control/Annotations/live.cjs.map +1 -1
- package/_cjs/control/Annotations.cjs +0 -6
- package/_cjs/control/Annotations.cjs.map +1 -1
- package/_cjs/control/Assertion/api.cjs +8 -70
- package/_cjs/control/Assertion/api.cjs.map +1 -1
- package/_cjs/control/Assertion/definition.cjs +0 -8
- package/_cjs/control/Assertion/definition.cjs.map +1 -1
- package/_cjs/control/Assertion.cjs +0 -4
- package/_cjs/control/Assertion.cjs.map +1 -1
- package/_cjs/control/AssertionIO/api.cjs +0 -12
- package/_cjs/control/AssertionIO/api.cjs.map +1 -1
- package/_cjs/control/AssertionIO/definition.cjs +0 -8
- package/_cjs/control/AssertionIO/definition.cjs.map +1 -1
- package/_cjs/control/AssertionIO.cjs +0 -4
- package/_cjs/control/AssertionIO.cjs.map +1 -1
- package/_cjs/control/DefaultRunnableSpec.cjs +0 -12
- package/_cjs/control/DefaultRunnableSpec.cjs.map +1 -1
- package/_cjs/control/DefaultTestReporter/definition.cjs.map +1 -1
- package/_cjs/control/DefaultTestReporter/render.cjs +5 -74
- package/_cjs/control/DefaultTestReporter/render.cjs.map +1 -1
- package/_cjs/control/DefaultTestReporter.cjs +0 -4
- package/_cjs/control/DefaultTestReporter.cjs.map +1 -1
- package/_cjs/control/FreeBooleanAlgebraIO/api.cjs +0 -20
- package/_cjs/control/FreeBooleanAlgebraIO/api.cjs.map +1 -1
- package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs.map +1 -1
- package/_cjs/control/FreeBooleanAlgebraIO.cjs +0 -4
- package/_cjs/control/FreeBooleanAlgebraIO.cjs.map +1 -1
- package/_cjs/control/Gen/api.cjs +496 -176
- package/_cjs/control/Gen/api.cjs.map +1 -1
- package/_cjs/control/Gen/definition.cjs +0 -3
- package/_cjs/control/Gen/definition.cjs.map +1 -1
- package/_cjs/control/Gen.cjs +0 -97
- package/_cjs/control/Gen.cjs.map +1 -1
- package/_cjs/control/Live/definition.cjs +0 -18
- package/_cjs/control/Live/definition.cjs.map +1 -1
- package/_cjs/control/Live.cjs +0 -2
- package/_cjs/control/Live.cjs.map +1 -1
- package/_cjs/control/RunnableSpec.cjs +1 -21
- package/_cjs/control/RunnableSpec.cjs.map +1 -1
- package/_cjs/control/Sample/api.cjs +1 -56
- package/_cjs/control/Sample/api.cjs.map +1 -1
- package/_cjs/control/Sample/definition.cjs +0 -3
- package/_cjs/control/Sample/definition.cjs.map +1 -1
- package/_cjs/control/Sample.cjs +0 -4
- package/_cjs/control/Sample.cjs.map +1 -1
- package/_cjs/control/Sized/api.cjs +0 -8
- package/_cjs/control/Sized/api.cjs.map +1 -1
- package/_cjs/control/Sized/definition.cjs +0 -6
- package/_cjs/control/Sized/definition.cjs.map +1 -1
- package/_cjs/control/Sized/live.cjs +0 -12
- package/_cjs/control/Sized/live.cjs.map +1 -1
- package/_cjs/control/Sized.cjs +0 -6
- package/_cjs/control/Sized.cjs.map +1 -1
- package/_cjs/control/Spec/api.cjs +1 -82
- package/_cjs/control/Spec/api.cjs.map +1 -1
- package/_cjs/control/Spec/definition.cjs +6 -45
- package/_cjs/control/Spec/definition.cjs.map +1 -1
- package/_cjs/control/Spec.cjs +0 -4
- package/_cjs/control/Spec.cjs.map +1 -1
- package/_cjs/control/SummaryBuilder.cjs +0 -21
- package/_cjs/control/SummaryBuilder.cjs.map +1 -1
- package/_cjs/control/Test.cjs +0 -10
- package/_cjs/control/Test.cjs.map +1 -1
- package/_cjs/control/TestAnnotationRenderer/api.cjs +4 -31
- package/_cjs/control/TestAnnotationRenderer/api.cjs.map +1 -1
- package/_cjs/control/TestAnnotationRenderer/definition.cjs +2 -18
- package/_cjs/control/TestAnnotationRenderer/definition.cjs.map +1 -1
- package/_cjs/control/TestAnnotationRenderer.cjs +0 -4
- package/_cjs/control/TestAnnotationRenderer.cjs.map +1 -1
- package/_cjs/control/TestAspect/api.cjs +3 -44
- package/_cjs/control/TestAspect/api.cjs.map +1 -1
- package/_cjs/control/TestAspect.cjs +0 -4
- package/_cjs/control/TestAspect.cjs.map +1 -1
- package/_cjs/control/TestClock/api.cjs +10 -29
- package/_cjs/control/TestClock/api.cjs.map +1 -1
- package/_cjs/control/TestClock/definition.cjs +57 -107
- package/_cjs/control/TestClock/definition.cjs.map +1 -1
- package/_cjs/control/TestClock.cjs +0 -4
- package/_cjs/control/TestClock.cjs.map +1 -1
- package/_cjs/control/TestConsole/api.cjs +0 -18
- package/_cjs/control/TestConsole/api.cjs.map +1 -1
- package/_cjs/control/TestConsole/definition.cjs +24 -45
- package/_cjs/control/TestConsole/definition.cjs.map +1 -1
- package/_cjs/control/TestConsole.cjs +0 -4
- package/_cjs/control/TestConsole.cjs.map +1 -1
- package/_cjs/control/TestEnvironment.cjs +0 -12
- package/_cjs/control/TestEnvironment.cjs.map +1 -1
- package/_cjs/control/TestExecutor.cjs +0 -14
- package/_cjs/control/TestExecutor.cjs.map +1 -1
- package/_cjs/control/TestLogger.cjs +0 -15
- package/_cjs/control/TestLogger.cjs.map +1 -1
- package/_cjs/control/TestRandom/api.cjs +0 -30
- package/_cjs/control/TestRandom/api.cjs.map +1 -1
- package/_cjs/control/TestRandom/definition.cjs +56 -134
- package/_cjs/control/TestRandom/definition.cjs.map +1 -1
- package/_cjs/control/TestRandom.cjs +0 -4
- package/_cjs/control/TestRandom.cjs.map +1 -1
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs +0 -25
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs.map +1 -1
- package/_cjs/control/TestRunner.cjs +2 -19
- package/_cjs/control/TestRunner.cjs.map +1 -1
- package/_cjs/data/AssertionData.cjs +0 -14
- package/_cjs/data/AssertionData.cjs.map +1 -1
- package/_cjs/data/AssertionResult.cjs +0 -8
- package/_cjs/data/AssertionResult.cjs.map +1 -1
- package/_cjs/data/AssertionValue/api.cjs +1 -16
- package/_cjs/data/AssertionValue/api.cjs.map +1 -1
- package/_cjs/data/AssertionValue/definition.cjs +0 -8
- package/_cjs/data/AssertionValue/definition.cjs.map +1 -1
- package/_cjs/data/AssertionValue.cjs +0 -4
- package/_cjs/data/AssertionValue.cjs.map +1 -1
- package/_cjs/data/ExecutedSpec/api.cjs +4 -26
- package/_cjs/data/ExecutedSpec/api.cjs.map +1 -1
- package/_cjs/data/ExecutedSpec/definition.cjs +3 -21
- package/_cjs/data/ExecutedSpec/definition.cjs.map +1 -1
- package/_cjs/data/ExecutedSpec.cjs +0 -4
- package/_cjs/data/ExecutedSpec.cjs.map +1 -1
- package/_cjs/data/ExecutionResult.cjs +0 -29
- package/_cjs/data/ExecutionResult.cjs.map +1 -1
- package/_cjs/data/FailureDetails.cjs +0 -3
- package/_cjs/data/FailureDetails.cjs.map +1 -1
- package/_cjs/data/FreeBooleanAlgebra/api.cjs +4 -53
- package/_cjs/data/FreeBooleanAlgebra/api.cjs.map +1 -1
- package/_cjs/data/FreeBooleanAlgebra/definition.cjs +4 -24
- package/_cjs/data/FreeBooleanAlgebra/definition.cjs.map +1 -1
- package/_cjs/data/FreeBooleanAlgebra.cjs +0 -4
- package/_cjs/data/FreeBooleanAlgebra.cjs.map +1 -1
- package/_cjs/data/GenFailureDetails.cjs +0 -3
- package/_cjs/data/GenFailureDetails.cjs.map +1 -1
- package/_cjs/data/LogLine/Fragment.cjs +0 -22
- package/_cjs/data/LogLine/Fragment.cjs.map +1 -1
- package/_cjs/data/LogLine/Line.cjs +0 -32
- package/_cjs/data/LogLine/Line.cjs.map +1 -1
- package/_cjs/data/LogLine/Message.cjs +0 -34
- package/_cjs/data/LogLine/Message.cjs.map +1 -1
- package/_cjs/data/LogLine/Style.cjs +10 -44
- package/_cjs/data/LogLine/Style.cjs.map +1 -1
- package/_cjs/data/LogLine/api.cjs +0 -15
- package/_cjs/data/LogLine/api.cjs.map +1 -1
- package/_cjs/data/LogLine.cjs +0 -4
- package/_cjs/data/LogLine.cjs.map +1 -1
- package/_cjs/data/Render/api.cjs +0 -4
- package/_cjs/data/Render/api.cjs.map +1 -1
- package/_cjs/data/Render/definition.cjs +2 -16
- package/_cjs/data/Render/definition.cjs.map +1 -1
- package/_cjs/data/Render.cjs +0 -4
- package/_cjs/data/Render.cjs.map +1 -1
- package/_cjs/data/RenderParam/api.cjs +3 -15
- package/_cjs/data/RenderParam/api.cjs.map +1 -1
- package/_cjs/data/RenderParam/definition.cjs +2 -12
- package/_cjs/data/RenderParam/definition.cjs.map +1 -1
- package/_cjs/data/RenderParam.cjs +0 -4
- package/_cjs/data/RenderParam.cjs.map +1 -1
- package/_cjs/data/Summary.cjs +0 -3
- package/_cjs/data/Summary.cjs.map +1 -1
- package/_cjs/data/TestAnnotation/api.cjs +1 -16
- package/_cjs/data/TestAnnotation/api.cjs.map +1 -1
- package/_cjs/data/TestAnnotation/definition.cjs +4 -19
- package/_cjs/data/TestAnnotation/definition.cjs.map +1 -1
- package/_cjs/data/TestAnnotation.cjs +0 -4
- package/_cjs/data/TestAnnotation.cjs.map +1 -1
- package/_cjs/data/TestAnnotationMap.cjs +2 -17
- package/_cjs/data/TestAnnotationMap.cjs.map +1 -1
- package/_cjs/data/TestArgs/definition.cjs +0 -3
- package/_cjs/data/TestArgs/definition.cjs.map +1 -1
- package/_cjs/data/TestArgs.cjs +0 -2
- package/_cjs/data/TestArgs.cjs.map +1 -1
- package/_cjs/data/TestConfig.cjs +0 -17
- package/_cjs/data/TestConfig.cjs.map +1 -1
- package/_cjs/data/TestFailure.cjs +2 -23
- package/_cjs/data/TestFailure.cjs.map +1 -1
- package/_cjs/data/TestSuccess.cjs +2 -16
- package/_cjs/data/TestSuccess.cjs.map +1 -1
- package/_cjs/data/TestTimeoutException.cjs +0 -3
- package/_cjs/data/TestTimeoutException.cjs.map +1 -1
- package/_cjs/demo.cjs +0 -10
- package/_cjs/demo.cjs.map +1 -1
- package/_cjs/util/math.cjs +14 -142
- package/_cjs/util/math.cjs.map +1 -1
- package/_mjs/api.mjs +2 -13
- package/_mjs/api.mjs.map +1 -1
- package/_mjs/control/AbstractRunnableSpec.mjs +0 -6
- package/_mjs/control/AbstractRunnableSpec.mjs.map +1 -1
- package/_mjs/control/Annotations/api.mjs +0 -4
- package/_mjs/control/Annotations/api.mjs.map +1 -1
- package/_mjs/control/Annotations/definition.mjs +0 -2
- package/_mjs/control/Annotations/definition.mjs.map +1 -1
- package/_mjs/control/Annotations/live.mjs +9 -13
- package/_mjs/control/Annotations/live.mjs.map +1 -1
- package/_mjs/control/Annotations.mjs.map +1 -1
- package/_mjs/control/Assertion/api.mjs +6 -21
- package/_mjs/control/Assertion/api.mjs.map +1 -1
- package/_mjs/control/Assertion/definition.mjs +0 -2
- package/_mjs/control/Assertion/definition.mjs.map +1 -1
- package/_mjs/control/Assertion.mjs.map +1 -1
- package/_mjs/control/AssertionIO/api.mjs +0 -3
- package/_mjs/control/AssertionIO/api.mjs.map +1 -1
- package/_mjs/control/AssertionIO/definition.mjs +0 -3
- package/_mjs/control/AssertionIO/definition.mjs.map +1 -1
- package/_mjs/control/AssertionIO.mjs.map +1 -1
- package/_mjs/control/DefaultRunnableSpec.mjs +0 -1
- package/_mjs/control/DefaultRunnableSpec.mjs.map +1 -1
- package/_mjs/control/DefaultTestReporter/definition.mjs.map +1 -1
- package/_mjs/control/DefaultTestReporter/render.mjs +5 -38
- package/_mjs/control/DefaultTestReporter/render.mjs.map +1 -1
- package/_mjs/control/DefaultTestReporter.mjs.map +1 -1
- package/_mjs/control/FreeBooleanAlgebraIO/api.mjs +0 -8
- package/_mjs/control/FreeBooleanAlgebraIO/api.mjs.map +1 -1
- package/_mjs/control/FreeBooleanAlgebraIO/definition.mjs.map +1 -1
- package/_mjs/control/FreeBooleanAlgebraIO.mjs.map +1 -1
- package/_mjs/control/Gen/api.mjs +430 -120
- package/_mjs/control/Gen/api.mjs.map +1 -1
- package/_mjs/control/Gen/definition.mjs +0 -1
- package/_mjs/control/Gen/definition.mjs.map +1 -1
- package/_mjs/control/Gen.mjs +1 -10
- package/_mjs/control/Gen.mjs.map +1 -1
- package/_mjs/control/Live/definition.mjs +0 -5
- package/_mjs/control/Live/definition.mjs.map +1 -1
- package/_mjs/control/Live.mjs.map +1 -1
- package/_mjs/control/RunnableSpec.mjs +1 -4
- package/_mjs/control/RunnableSpec.mjs.map +1 -1
- package/_mjs/control/Sample/api.mjs +1 -31
- package/_mjs/control/Sample/api.mjs.map +1 -1
- package/_mjs/control/Sample/definition.mjs +0 -1
- package/_mjs/control/Sample/definition.mjs.map +1 -1
- package/_mjs/control/Sample.mjs.map +1 -1
- package/_mjs/control/Sized/api.mjs +0 -2
- package/_mjs/control/Sized/api.mjs.map +1 -1
- package/_mjs/control/Sized/definition.mjs +0 -2
- package/_mjs/control/Sized/definition.mjs.map +1 -1
- package/_mjs/control/Sized/live.mjs +0 -3
- package/_mjs/control/Sized/live.mjs.map +1 -1
- package/_mjs/control/Sized.mjs.map +1 -1
- package/_mjs/control/Spec/api.mjs +1 -45
- package/_mjs/control/Spec/api.mjs.map +1 -1
- package/_mjs/control/Spec/definition.mjs +6 -31
- package/_mjs/control/Spec/definition.mjs.map +1 -1
- package/_mjs/control/Spec.mjs.map +1 -1
- package/_mjs/control/SummaryBuilder.mjs +0 -5
- package/_mjs/control/SummaryBuilder.mjs.map +1 -1
- package/_mjs/control/Test.mjs +0 -1
- package/_mjs/control/Test.mjs.map +1 -1
- package/_mjs/control/TestAnnotationRenderer/api.mjs +4 -20
- package/_mjs/control/TestAnnotationRenderer/api.mjs.map +1 -1
- package/_mjs/control/TestAnnotationRenderer/definition.mjs +2 -8
- package/_mjs/control/TestAnnotationRenderer/definition.mjs.map +1 -1
- package/_mjs/control/TestAnnotationRenderer.mjs.map +1 -1
- package/_mjs/control/TestAspect/api.mjs +3 -7
- package/_mjs/control/TestAspect/api.mjs.map +1 -1
- package/_mjs/control/TestAspect.mjs.map +1 -1
- package/_mjs/control/TestClock/api.mjs +10 -13
- package/_mjs/control/TestClock/api.mjs.map +1 -1
- package/_mjs/control/TestClock/definition.mjs +57 -72
- package/_mjs/control/TestClock/definition.mjs.map +1 -1
- package/_mjs/control/TestClock.mjs.map +1 -1
- package/_mjs/control/TestConsole/api.mjs +0 -3
- package/_mjs/control/TestConsole/api.mjs.map +1 -1
- package/_mjs/control/TestConsole/definition.mjs +24 -31
- package/_mjs/control/TestConsole/definition.mjs.map +1 -1
- package/_mjs/control/TestConsole.mjs.map +1 -1
- package/_mjs/control/TestEnvironment.mjs.map +1 -1
- package/_mjs/control/TestExecutor.mjs.map +1 -1
- package/_mjs/control/TestLogger.mjs +0 -5
- package/_mjs/control/TestLogger.mjs.map +1 -1
- package/_mjs/control/TestRandom/api.mjs +0 -10
- package/_mjs/control/TestRandom/api.mjs.map +1 -1
- package/_mjs/control/TestRandom/definition.mjs +56 -113
- package/_mjs/control/TestRandom/definition.mjs.map +1 -1
- package/_mjs/control/TestRandom.mjs.map +1 -1
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs +0 -10
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs.map +1 -1
- package/_mjs/control/TestRunner.mjs +2 -6
- package/_mjs/control/TestRunner.mjs.map +1 -1
- package/_mjs/data/AssertionData.mjs +0 -5
- package/_mjs/data/AssertionData.mjs.map +1 -1
- package/_mjs/data/AssertionResult.mjs +0 -2
- package/_mjs/data/AssertionResult.mjs.map +1 -1
- package/_mjs/data/AssertionValue/api.mjs +1 -6
- package/_mjs/data/AssertionValue/api.mjs.map +1 -1
- package/_mjs/data/AssertionValue/definition.mjs +0 -2
- package/_mjs/data/AssertionValue/definition.mjs.map +1 -1
- package/_mjs/data/AssertionValue.mjs.map +1 -1
- package/_mjs/data/ExecutedSpec/api.mjs +3 -13
- package/_mjs/data/ExecutedSpec/api.mjs.map +1 -1
- package/_mjs/data/ExecutedSpec/definition.mjs +5 -13
- package/_mjs/data/ExecutedSpec/definition.mjs.map +1 -1
- package/_mjs/data/ExecutedSpec.mjs.map +1 -1
- package/_mjs/data/ExecutionResult.mjs +0 -16
- package/_mjs/data/ExecutionResult.mjs.map +1 -1
- package/_mjs/data/FailureDetails.mjs +0 -1
- package/_mjs/data/FailureDetails.mjs.map +1 -1
- package/_mjs/data/FreeBooleanAlgebra/api.mjs +4 -37
- package/_mjs/data/FreeBooleanAlgebra/api.mjs.map +1 -1
- package/_mjs/data/FreeBooleanAlgebra/definition.mjs +8 -16
- package/_mjs/data/FreeBooleanAlgebra/definition.mjs.map +1 -1
- package/_mjs/data/FreeBooleanAlgebra.mjs.map +1 -1
- package/_mjs/data/GenFailureDetails.mjs +0 -1
- package/_mjs/data/GenFailureDetails.mjs.map +1 -1
- package/_mjs/data/LogLine/Fragment.mjs +0 -9
- package/_mjs/data/LogLine/Fragment.mjs.map +1 -1
- package/_mjs/data/LogLine/Line.mjs +0 -15
- package/_mjs/data/LogLine/Line.mjs.map +1 -1
- package/_mjs/data/LogLine/Message.mjs +0 -18
- package/_mjs/data/LogLine/Message.mjs.map +1 -1
- package/_mjs/data/LogLine/Style.mjs +10 -39
- package/_mjs/data/LogLine/Style.mjs.map +1 -1
- package/_mjs/data/LogLine/api.mjs.map +1 -1
- package/_mjs/data/LogLine.mjs.map +1 -1
- package/_mjs/data/Render/api.mjs +0 -2
- package/_mjs/data/Render/api.mjs.map +1 -1
- package/_mjs/data/Render/definition.mjs +2 -8
- package/_mjs/data/Render/definition.mjs.map +1 -1
- package/_mjs/data/Render.mjs.map +1 -1
- package/_mjs/data/RenderParam/api.mjs +3 -10
- package/_mjs/data/RenderParam/api.mjs.map +1 -1
- package/_mjs/data/RenderParam/definition.mjs +4 -8
- package/_mjs/data/RenderParam/definition.mjs.map +1 -1
- package/_mjs/data/RenderParam.mjs.map +1 -1
- package/_mjs/data/Summary.mjs +0 -1
- package/_mjs/data/Summary.mjs.map +1 -1
- package/_mjs/data/TestAnnotation/api.mjs +1 -7
- package/_mjs/data/TestAnnotation/api.mjs.map +1 -1
- package/_mjs/data/TestAnnotation/definition.mjs +4 -8
- package/_mjs/data/TestAnnotation/definition.mjs.map +1 -1
- package/_mjs/data/TestAnnotation.mjs.map +1 -1
- package/_mjs/data/TestAnnotationMap.mjs +2 -8
- package/_mjs/data/TestAnnotationMap.mjs.map +1 -1
- package/_mjs/data/TestArgs/definition.mjs +0 -1
- package/_mjs/data/TestArgs/definition.mjs.map +1 -1
- package/_mjs/data/TestArgs.mjs.map +1 -1
- package/_mjs/data/TestConfig.mjs +0 -8
- package/_mjs/data/TestConfig.mjs.map +1 -1
- package/_mjs/data/TestFailure.mjs +4 -12
- package/_mjs/data/TestFailure.mjs.map +1 -1
- package/_mjs/data/TestSuccess.mjs +4 -10
- package/_mjs/data/TestSuccess.mjs.map +1 -1
- package/_mjs/data/TestTimeoutException.mjs +0 -1
- package/_mjs/data/TestTimeoutException.mjs.map +1 -1
- package/_mjs/demo.mjs +0 -3
- package/_mjs/demo.mjs.map +1 -1
- package/_mjs/util/math.mjs +14 -111
- package/_mjs/util/math.mjs.map +1 -1
- package/_src/api.ts +2 -2
- package/_src/control/AbstractRunnableSpec.ts +0 -3
- package/_src/control/Annotations/live.ts +4 -6
- package/_src/control/Assertion/api.ts +5 -5
- package/_src/control/DefaultTestReporter/render.ts +1 -1
- package/_src/control/Gen/api.ts +429 -40
- package/_src/control/Gen.ts +0 -9
- package/_src/control/RunnableSpec.ts +1 -1
- package/_src/control/Sample/api.ts +1 -1
- package/_src/control/Spec/api.ts +1 -1
- package/_src/control/TestAspect/api.ts +2 -2
- package/_src/control/TestClock/definition.ts +9 -8
- package/_src/control/TestConsole/definition.ts +1 -1
- package/_src/control/TestRunner.ts +0 -3
- package/_src/data/AssertionValue/api.ts +1 -1
- package/_src/data/ExecutedSpec/api.ts +3 -3
- package/_src/data/RenderParam/api.ts +1 -1
- package/_src/data/TestAnnotation/api.ts +1 -1
- package/_src/data/TestAnnotationMap.ts +2 -2
- package/api.d.ts +2 -2
- package/control/AbstractRunnableSpec.d.ts +0 -1
- package/control/Annotations/live.d.ts +1 -1
- package/control/Assertion/api.d.ts +2 -2
- package/control/Gen/api.d.ts +207 -24
- package/control/Gen.d.ts +0 -7
- package/control/TestClock/definition.d.ts +2 -2
- package/control/TestConsole/definition.d.ts +3 -3
- package/control/TestRandom/definition.d.ts +1 -1
- package/control/TestRunner.d.ts +1 -3
- package/data/ExecutedSpec/api.d.ts +2 -2
- package/data/TestAnnotation/api.d.ts +1 -1
- package/data/TestAnnotation/definition.d.ts +2 -2
- package/package.json +4 -4
- package/_cjs/control/Gen/api/array.cjs +0 -56
- package/_cjs/control/Gen/api/array.cjs.map +0 -1
- package/_cjs/control/Gen/api/char.cjs +0 -129
- package/_cjs/control/Gen/api/char.cjs.map +0 -1
- package/_cjs/control/Gen/api/conc.cjs +0 -82
- package/_cjs/control/Gen/api/conc.cjs.map +0 -1
- package/_cjs/control/Gen/api/double.cjs +0 -82
- package/_cjs/control/Gen/api/double.cjs.map +0 -1
- package/_cjs/control/Gen/api/float.cjs +0 -55
- package/_cjs/control/Gen/api/float.cjs.map +0 -1
- package/_cjs/control/Gen/api/string.cjs +0 -106
- package/_cjs/control/Gen/api/string.cjs.map +0 -1
- package/_cjs/control/Gen/api/struct.cjs +0 -36
- package/_cjs/control/Gen/api/struct.cjs.map +0 -1
- package/_mjs/control/Gen/api/array.mjs +0 -37
- package/_mjs/control/Gen/api/array.mjs.map +0 -1
- package/_mjs/control/Gen/api/char.mjs +0 -95
- package/_mjs/control/Gen/api/char.mjs.map +0 -1
- package/_mjs/control/Gen/api/conc.mjs +0 -57
- package/_mjs/control/Gen/api/conc.mjs.map +0 -1
- package/_mjs/control/Gen/api/double.mjs +0 -60
- package/_mjs/control/Gen/api/double.mjs.map +0 -1
- package/_mjs/control/Gen/api/float.mjs +0 -41
- package/_mjs/control/Gen/api/float.mjs.map +0 -1
- package/_mjs/control/Gen/api/string.mjs +0 -76
- package/_mjs/control/Gen/api/string.mjs.map +0 -1
- package/_mjs/control/Gen/api/struct.mjs +0 -18
- package/_mjs/control/Gen/api/struct.mjs.map +0 -1
- package/_src/control/Gen/api/array.ts +0 -34
- package/_src/control/Gen/api/char.ts +0 -83
- package/_src/control/Gen/api/conc.ts +0 -53
- package/_src/control/Gen/api/double.ts +0 -64
- package/_src/control/Gen/api/float.ts +0 -36
- package/_src/control/Gen/api/string.ts +0 -75
- package/_src/control/Gen/api/struct.ts +0 -31
- package/control/Gen/api/array.d.ts +0 -18
- package/control/Gen/api/char.d.ts +0 -47
- package/control/Gen/api/conc.d.ts +0 -25
- package/control/Gen/api/double.d.ts +0 -13
- package/control/Gen/api/float.d.ts +0 -7
- package/control/Gen/api/string.d.ts +0 -48
- package/control/Gen/api/struct.d.ts +0 -8
@@ -1,31 +1,25 @@
|
|
1
1
|
export class Succeeded {
|
2
2
|
constructor(result) {
|
3
3
|
this.result = result;
|
4
|
-
this._tag = "Succeeded"
|
5
|
-
/* TestSuccessTag.Succeeded */
|
6
|
-
;
|
4
|
+
this._tag = "Succeeded" /* TestSuccessTag.Succeeded */;
|
7
5
|
}
|
8
|
-
|
9
6
|
}
|
7
|
+
|
10
8
|
export class Ignored {
|
11
9
|
constructor() {
|
12
|
-
this._tag = "Ignored"
|
13
|
-
/* TestSuccessTag.Ignored */
|
14
|
-
;
|
10
|
+
this._tag = "Ignored" /* TestSuccessTag.Ignored */;
|
15
11
|
}
|
16
|
-
|
17
12
|
}
|
13
|
+
|
18
14
|
export const TestSuccess = {};
|
19
15
|
/**
|
20
16
|
* @tsplus static fncts.test.TestSuccessOps Succeeded
|
21
17
|
*/
|
22
|
-
|
23
18
|
export function succeeded(result) {
|
24
19
|
return new Succeeded(result);
|
25
20
|
}
|
26
21
|
/**
|
27
22
|
* @tsplus static fncts.test.TestSuccessOps Ignored
|
28
23
|
*/
|
29
|
-
|
30
24
|
export const ignored = /*#__PURE__*/new Ignored();
|
31
25
|
//# sourceMappingURL=TestSuccess.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TestSuccess.mjs","mappings":"AAOA,OAAM,MAAOA,
|
1
|
+
{"version":3,"file":"TestSuccess.mjs","mappings":"AAOA,OAAM,MAAOA,SAAS;EAEpBC,YAAqBC,MAAgC;IAAhC,WAAM,GAANA,MAAM;IADlB,SAAI;EAC2C;;;AAG1D,OAAM,MAAOC,OAAO;EAApBF;IACW,SAAI;EACf;;;AAYA,OAAO,MAAMG,WAAW,GAAmB,EAAE;AAE7C;;;AAGA,OAAM,SAAUC,SAAS,CAACH,MAAgC;EACxD,OAAO,IAAIF,SAAS,CAACE,MAAM,CAAC;AAC9B;AAEA;;;AAGA,OAAO,MAAMI,OAAO,gBAAG,IAAIH,OAAO,EAAE","names":["Succeeded","constructor","result","Ignored","TestSuccess","succeeded","ignored"],"sourceRoot":"","sources":["../../_src/data/TestSuccess.ts"],"sourcesContent":[null]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TestTimeoutException.mjs","mappings":"AAAA,OAAM,MAAOA,
|
1
|
+
{"version":3,"file":"TestTimeoutException.mjs","mappings":"AAAA,OAAM,MAAOA,oBAAqB,SAAQC,KAAK;EAC7CC,YAAYC,OAAe;IACzB,KAAK,CAACA,OAAO,CAAC;EAChB","names":["TestTimeoutException","Error","constructor","message"],"sourceRoot":"","sources":["../../_src/data/TestTimeoutException.ts"],"sourcesContent":[null]}
|
package/_mjs/demo.mjs
CHANGED
@@ -4,7 +4,6 @@ import { DefaultRunnableSpec } from "@fncts/test/control/DefaultRunnableSpec";
|
|
4
4
|
import { suite, test } from "./api.mjs";
|
5
5
|
import { strictEqualTo } from "./control/Assertion.mjs";
|
6
6
|
const ServiceATag = /*#__PURE__*/tsplus_module_1.makeTag("fncts.test.demo.ServiceA");
|
7
|
-
|
8
7
|
class DemoSpec extends DefaultRunnableSpec {
|
9
8
|
constructor() {
|
10
9
|
super(...arguments);
|
@@ -26,8 +25,6 @@ class DemoSpec extends DefaultRunnableSpec {
|
|
26
25
|
}
|
27
26
|
})));
|
28
27
|
}
|
29
|
-
|
30
28
|
}
|
31
|
-
|
32
29
|
new DemoSpec().main();
|
33
30
|
//# sourceMappingURL=demo.mjs.map
|
package/_mjs/demo.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"demo.mjs","mappings":";;AAAA,SAASA,
|
1
|
+
{"version":3,"file":"demo.mjs","mappings":";;AAAA,SAASA,mBAAmB,QAAQ,yCAAyC;AAE7E,SAASC,KAAK,EAAEC,IAAI,QAAgB,WAAU;AAC9C,SAASC,aAAa,QAAQ,yBAAwB;AACtD,MAAMC,WAAW,gBAAGC,wBAEjB,0BAA0B,CAAC;AAC9B,MAAMC,QAAS,SAAQN,mBAAmB;EAA1CO;;IACE,SAAI,GAAGN,KAAK,CACV,WAAW,EACXC,IAAI,CAAC,cAAc,QAAEM,uBAAWL,aAAa,CAAC,CAAC,CAAC,EAA1B,CAAC,CAA0B,CAAC,EAClDD,IAAI,CAAC,cAAc,QAAEM,uBAAuCL,aAAa,CAAC;MAAEM,CAAC,EAAE;QAAEC,CAAC,EAAE;UAAEC,CAAC,EAAE;YAAEC,CAAC,EAAE;UAAC;QAAE;MAAE;IAAE,CAAE,CAAC,EAAnF;MAAEH,CAAC,EAAE;QAAEC,CAAC,EAAE;UAAEC,CAAC,EAAE;YAAEC,CAAC,EAAE;UAAG;QAAE;MAAE;IAAE,CAAE,CAAqD,CAAC,CAC3G;EACH;;AACA,IAAIN,QAAQ,EAAE,CAACO,IAAI,EAAE","names":["DefaultRunnableSpec","suite","test","strictEqualTo","ServiceATag","tsplus_module_1","DemoSpec","constructor","tsplus_module_2","a","b","c","d","main"],"sourceRoot":"","sources":["../_src/demo.ts"],"sourcesContent":[null]}
|
package/_mjs/util/math.mjs
CHANGED
@@ -2,47 +2,34 @@ const fileName_1 = "(@fncts/test) src/util/math.ts";
|
|
2
2
|
import * as tsplus_module_1 from "@fncts/io/IO/api";
|
3
3
|
import * as tsplus_module_2 from "@fncts/io/Random/api";
|
4
4
|
/** @internal */
|
5
|
-
|
6
5
|
export const MIN_VALUE_32 = 2 ** -126 * 2 ** -23;
|
7
6
|
/** @internal */
|
8
|
-
|
9
7
|
export const MAX_VALUE_32 = 2 ** 127 * (1 + (2 ** 23 - 1) / 2 ** 23);
|
10
8
|
/** @internal */
|
11
|
-
|
12
9
|
export const EPSILON_32 = 2 ** -23;
|
13
10
|
/** @internal */
|
14
|
-
|
15
11
|
const INDEX_POSITIVE_INFINITY_32 = 2139095040; // floatToIndex(MAX_VALUE_32) + 1;
|
16
|
-
|
17
12
|
/** @internal */
|
18
|
-
|
19
13
|
const INDEX_NEGATIVE_INFINITY_32 = -2139095041; // floatToIndex(-MAX_VALUE_32) - 1
|
20
|
-
|
21
14
|
export function safeFloatToIndex(f, label) {
|
22
15
|
const conversionTrick = "you can convert any double to a 32-bit float by using `new Float32Array([myDouble])[0]`";
|
23
16
|
const errorMessage = "fc.floatNext constraints." + label + " must be a 32-bit float - " + conversionTrick;
|
24
|
-
|
25
17
|
if (Number.isNaN(f) || Number.isFinite(f) && (f < -MAX_VALUE_32 || f > MAX_VALUE_32)) {
|
26
18
|
return tsplus_module_1.haltNow(new Error(errorMessage), fileName_1 + ":16:22");
|
27
19
|
}
|
28
|
-
|
29
20
|
const index = floatToIndex(f);
|
30
|
-
|
31
21
|
if (!Number.isInteger(index)) {
|
32
22
|
return tsplus_module_1.haltNow(new Error(errorMessage), fileName_1 + ":20:22");
|
33
23
|
}
|
34
|
-
|
35
24
|
return tsplus_module_1.succeedNow(index, fileName_1 + ":22:23");
|
36
25
|
}
|
37
26
|
export function decomposeFloat(f) {
|
38
27
|
// 1 => significand 0b1 - exponent 1 (will be preferred)
|
39
28
|
// => significand 0b0.1 - exponent 2
|
40
29
|
const maxSignificand = 1 + (2 ** 23 - 1) / 2 ** 23;
|
41
|
-
|
42
30
|
for (let exponent = -126; exponent !== 128; ++exponent) {
|
43
31
|
const powExponent = 2 ** exponent;
|
44
32
|
const maxForExponent = maxSignificand * powExponent;
|
45
|
-
|
46
33
|
if (Math.abs(f) <= maxForExponent) {
|
47
34
|
return {
|
48
35
|
exponent,
|
@@ -50,7 +37,6 @@ export function decomposeFloat(f) {
|
|
50
37
|
};
|
51
38
|
}
|
52
39
|
}
|
53
|
-
|
54
40
|
return {
|
55
41
|
exponent: Number.NaN,
|
56
42
|
significand: Number.NaN
|
@@ -60,20 +46,16 @@ export function floatToIndex(f) {
|
|
60
46
|
if (f === Number.POSITIVE_INFINITY) {
|
61
47
|
return INDEX_POSITIVE_INFINITY_32;
|
62
48
|
}
|
63
|
-
|
64
49
|
if (f === Number.NEGATIVE_INFINITY) {
|
65
50
|
return INDEX_NEGATIVE_INFINITY_32;
|
66
51
|
}
|
67
|
-
|
68
52
|
const {
|
69
53
|
exponent,
|
70
54
|
significand
|
71
55
|
} = decomposeFloat(f);
|
72
|
-
|
73
56
|
if (Number.isNaN(exponent) || Number.isNaN(significand) || !Number.isInteger(significand * 0x800000)) {
|
74
57
|
return Number.NaN;
|
75
58
|
}
|
76
|
-
|
77
59
|
if (f > 0 || f === 0 && 1 / f === Number.POSITIVE_INFINITY) {
|
78
60
|
return indexInFloatFromDecomp(exponent, significand);
|
79
61
|
} else {
|
@@ -81,7 +63,6 @@ export function floatToIndex(f) {
|
|
81
63
|
}
|
82
64
|
}
|
83
65
|
/** @internal */
|
84
|
-
|
85
66
|
export function indexInFloatFromDecomp(exponent, significand) {
|
86
67
|
// WARNING: significand >= 0
|
87
68
|
// By construct of significand in decomposeFloat,
|
@@ -92,10 +73,9 @@ export function indexInFloatFromDecomp(exponent, significand) {
|
|
92
73
|
// All other ranges (other exponents) have a length of 2**23 elements.
|
93
74
|
if (exponent === -126) {
|
94
75
|
return significand * 0x800000; // significand * 2**23
|
95
|
-
}
|
76
|
+
}
|
77
|
+
// Offset due to exp = -126 + Offset of previous exp (excl. -126) + Offset in current exp
|
96
78
|
// 2**24 + (exponent - (-126) -1) * 2**23 + (significand - 1) * 2**23
|
97
|
-
|
98
|
-
|
99
79
|
return (exponent + 127) * 0x800000 + (significand - 1) * 0x800000;
|
100
80
|
}
|
101
81
|
/**
|
@@ -105,58 +85,48 @@ export function indexInFloatFromDecomp(exponent, significand) {
|
|
105
85
|
*
|
106
86
|
* @internal
|
107
87
|
*/
|
108
|
-
|
109
88
|
export function indexToFloat(index) {
|
110
89
|
if (index < 0) {
|
111
90
|
return -indexToFloat(-index - 1);
|
112
91
|
}
|
113
|
-
|
114
92
|
if (index === INDEX_POSITIVE_INFINITY_32) {
|
115
93
|
return Number.POSITIVE_INFINITY;
|
116
94
|
}
|
117
|
-
|
118
95
|
if (index < 0x1000000) {
|
119
96
|
// The first 2**24 elements correspond to values having
|
120
97
|
// exponent = -126 and significand = index * 2**(-23)
|
121
98
|
return index * 2 ** -149;
|
122
99
|
}
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
100
|
+
const postIndex = index - 0x1000000;
|
101
|
+
// Math.floor(postIndex / 0x800000) = Math.floor(postIndex / 2**23) = (postIndex >> 23)
|
102
|
+
const exponent = -125 + (postIndex >> 23);
|
103
|
+
// (postIndex % 0x800000) / 0x800000 = (postIndex & 0x7fffff) / 0x800000
|
128
104
|
const significand = 1 + (postIndex & 0x7fffff) / 0x800000;
|
129
105
|
return significand * 2 ** exponent;
|
130
106
|
}
|
131
107
|
/** @internal */
|
132
|
-
|
133
108
|
export const Zero64 = {
|
134
109
|
sign: 1,
|
135
110
|
data: [0, 0]
|
136
111
|
};
|
137
112
|
/** @internal */
|
138
|
-
|
139
113
|
export const Unit64 = {
|
140
114
|
sign: 1,
|
141
115
|
data: [0, 1]
|
142
116
|
};
|
143
117
|
/** @internal */
|
144
|
-
|
145
118
|
export function isZero64(a) {
|
146
119
|
return a.data[0] === 0 && a.data[1] === 0;
|
147
120
|
}
|
148
121
|
/** @internal */
|
149
|
-
|
150
122
|
export function isStrictlyNegative64(a) {
|
151
123
|
return a.sign === -1 && !isZero64(a);
|
152
124
|
}
|
153
125
|
/** @internal */
|
154
|
-
|
155
126
|
export function isStrictlyPositive64(a) {
|
156
127
|
return a.sign === 1 && !isZero64(a);
|
157
128
|
}
|
158
129
|
/** @internal */
|
159
|
-
|
160
130
|
export function isEqual64(a, b) {
|
161
131
|
if (a.data[0] === b.data[0] && a.data[1] === b.data[1]) {
|
162
132
|
return a.sign === b.sign || a.data[0] === 0 && a.data[1] === 0; // either the same or both zero
|
@@ -165,24 +135,19 @@ export function isEqual64(a, b) {
|
|
165
135
|
return false;
|
166
136
|
}
|
167
137
|
/** @internal */
|
168
|
-
|
169
138
|
function isStrictlySmaller64Internal(a, b) {
|
170
139
|
return a[0] < b[0] || a[0] === b[0] && a[1] < b[1];
|
171
140
|
}
|
172
141
|
/** @internal */
|
173
|
-
|
174
|
-
|
175
142
|
export function isStrictlySmaller64(a, b) {
|
176
143
|
if (a.sign === b.sign) {
|
177
144
|
return a.sign === 1 ? isStrictlySmaller64Internal(a.data, b.data) // a.sign = +1, b.sign = +1
|
178
145
|
: isStrictlySmaller64Internal(b.data, a.data); // a.sign = -1, b.sign = -1
|
179
|
-
}
|
180
|
-
|
181
|
-
|
146
|
+
}
|
147
|
+
// a.sign = +1, b.sign = -1 is always false
|
182
148
|
return a.sign === -1 && (!isZero64(a) || !isZero64(b)); // a.sign = -1, b.sign = +1
|
183
149
|
}
|
184
150
|
/** @internal */
|
185
|
-
|
186
151
|
export function clone64(a) {
|
187
152
|
return {
|
188
153
|
sign: a.sign,
|
@@ -190,24 +155,19 @@ export function clone64(a) {
|
|
190
155
|
};
|
191
156
|
}
|
192
157
|
/** @internal */
|
193
|
-
|
194
158
|
function substract64DataInternal(a, b) {
|
195
159
|
let reminderLow = 0;
|
196
160
|
let low = a[1] - b[1];
|
197
|
-
|
198
161
|
if (low < 0) {
|
199
162
|
reminderLow = 1;
|
200
163
|
low = low >>> 0;
|
201
164
|
}
|
202
|
-
|
203
165
|
return [a[0] - b[0] - reminderLow, low];
|
204
166
|
}
|
205
167
|
/**
|
206
168
|
* Expects a >= b
|
207
169
|
* @internal
|
208
170
|
*/
|
209
|
-
|
210
|
-
|
211
171
|
function substract64Internal(a, b) {
|
212
172
|
if (a.sign === 1 && b.sign === -1) {
|
213
173
|
// Operation is a simple sum of a + abs(b)
|
@@ -217,10 +177,9 @@ function substract64Internal(a, b) {
|
|
217
177
|
sign: 1,
|
218
178
|
data: [high >>> 0, low >>> 0]
|
219
179
|
};
|
220
|
-
}
|
180
|
+
}
|
181
|
+
// a.sign === -1 with b.sign === 1 is impossible given: a - b >= 0, except for a = 0 and b = 0
|
221
182
|
// Operation is a substraction
|
222
|
-
|
223
|
-
|
224
183
|
return {
|
225
184
|
sign: 1,
|
226
185
|
data: a.sign === 1 ? substract64DataInternal(a.data, b.data) : substract64DataInternal(b.data, a.data)
|
@@ -231,22 +190,18 @@ function substract64Internal(a, b) {
|
|
231
190
|
* @returns When result is zero always with sign=1
|
232
191
|
* @internal
|
233
192
|
*/
|
234
|
-
|
235
|
-
|
236
193
|
export function substract64(arrayIntA, arrayIntB) {
|
237
194
|
if (isStrictlySmaller64(arrayIntA, arrayIntB)) {
|
238
195
|
const out = substract64Internal(arrayIntB, arrayIntA);
|
239
196
|
out.sign = -1;
|
240
197
|
return out;
|
241
198
|
}
|
242
|
-
|
243
199
|
return substract64Internal(arrayIntA, arrayIntB);
|
244
200
|
}
|
245
201
|
/**
|
246
202
|
* Negative version of an ArrayInt64
|
247
203
|
* @internal
|
248
204
|
*/
|
249
|
-
|
250
205
|
export function negative64(arrayIntA) {
|
251
206
|
return {
|
252
207
|
sign: -arrayIntA.sign,
|
@@ -258,23 +213,19 @@ export function negative64(arrayIntA) {
|
|
258
213
|
* @returns When result is zero always with sign=1
|
259
214
|
* @internal
|
260
215
|
*/
|
261
|
-
|
262
216
|
export function add64(arrayIntA, arrayIntB) {
|
263
217
|
if (isZero64(arrayIntB)) {
|
264
218
|
if (isZero64(arrayIntA)) {
|
265
219
|
return clone64(Zero64);
|
266
220
|
}
|
267
|
-
|
268
221
|
return clone64(arrayIntA);
|
269
222
|
}
|
270
|
-
|
271
223
|
return substract64(arrayIntA, negative64(arrayIntB));
|
272
224
|
}
|
273
225
|
/**
|
274
226
|
* Halve an ArrayInt64
|
275
227
|
* @internal
|
276
228
|
*/
|
277
|
-
|
278
229
|
export function halve64(a) {
|
279
230
|
return {
|
280
231
|
sign: a.sign,
|
@@ -285,7 +236,6 @@ export function halve64(a) {
|
|
285
236
|
* Apply log2 to an ArrayInt64 (preserve sign)
|
286
237
|
* @internal
|
287
238
|
*/
|
288
|
-
|
289
239
|
export function logLike64(a) {
|
290
240
|
// Math.floor(Math.log(hi * 2**32 + low) / Math.log(2)) <= Math.floor(Math.log(2**64) / Math.log(2)) = 64
|
291
241
|
return {
|
@@ -294,19 +244,15 @@ export function logLike64(a) {
|
|
294
244
|
};
|
295
245
|
}
|
296
246
|
/** @internal */
|
297
|
-
|
298
247
|
const INDEX_POSITIVE_INFINITY = {
|
299
248
|
sign: 1,
|
300
249
|
data: [2146435072, 0]
|
301
250
|
}; // doubleToIndex(Number.MAX_VALUE) + 1;
|
302
|
-
|
303
251
|
/** @internal */
|
304
|
-
|
305
252
|
const INDEX_NEGATIVE_INFINITY = {
|
306
253
|
sign: -1,
|
307
254
|
data: [2146435072, 1]
|
308
255
|
}; // doubleToIndex(-Number.MAX_VALUE) - 1
|
309
|
-
|
310
256
|
/**
|
311
257
|
* Decompose a 64-bit floating point number into a significand and exponent
|
312
258
|
* such that:
|
@@ -322,16 +268,13 @@ const INDEX_NEGATIVE_INFINITY = {
|
|
322
268
|
*
|
323
269
|
* @internal
|
324
270
|
*/
|
325
|
-
|
326
271
|
export function decomposeDouble(d) {
|
327
272
|
// 1 => significand 0b1 - exponent 1 (will be preferred)
|
328
273
|
// => significand 0b0.1 - exponent 2
|
329
274
|
const maxSignificand = 2 - Number.EPSILON;
|
330
|
-
|
331
275
|
for (let exponent = -1022; exponent !== 1024; ++exponent) {
|
332
276
|
const powExponent = 2 ** exponent;
|
333
277
|
const maxForExponent = maxSignificand * powExponent;
|
334
|
-
|
335
278
|
if (Math.abs(d) <= maxForExponent) {
|
336
279
|
return {
|
337
280
|
exponent,
|
@@ -339,20 +282,16 @@ export function decomposeDouble(d) {
|
|
339
282
|
};
|
340
283
|
}
|
341
284
|
}
|
342
|
-
|
343
285
|
return {
|
344
286
|
exponent: Number.NaN,
|
345
287
|
significand: Number.NaN
|
346
288
|
};
|
347
289
|
}
|
348
290
|
/** @internal */
|
349
|
-
|
350
291
|
function positiveNumberToInt64(n) {
|
351
292
|
return [~~(n / 0x100000000), n >>> 0];
|
352
293
|
}
|
353
294
|
/** @internal */
|
354
|
-
|
355
|
-
|
356
295
|
function indexInDoubleFromDecomp(exponent, significand) {
|
357
296
|
// WARNING: significand >= 0
|
358
297
|
// By construct of significand in decomposeDouble,
|
@@ -364,17 +303,13 @@ function indexInDoubleFromDecomp(exponent, significand) {
|
|
364
303
|
if (exponent === -1022) {
|
365
304
|
// We want the significand to be an integer value (like an index)
|
366
305
|
const rescaledSignificand = significand * 2 ** 52; // significand * 2**52
|
367
|
-
|
368
306
|
return positiveNumberToInt64(rescaledSignificand);
|
369
|
-
}
|
307
|
+
}
|
308
|
+
// Offset due to exp = -1022 + Offset of previous exp (excl. -1022) + Offset in current exp
|
370
309
|
// 2**53 + (exponent - (-1022) -1) * 2**52 + (significand - 1) * 2**52
|
371
310
|
// (exponent + 1023) * 2**52 + (significand - 1) * 2**52
|
372
|
-
|
373
|
-
|
374
311
|
const rescaledSignificand = (significand - 1) * 2 ** 52; // (significand-1) * 2**52
|
375
|
-
|
376
312
|
const exponentOnlyHigh = (exponent + 1023) * 2 ** 20; // (exponent + 1023) * 2**52 => [high: (exponent + 1023) * 2**20, low: 0]
|
377
|
-
|
378
313
|
const index = positiveNumberToInt64(rescaledSignificand);
|
379
314
|
index[0] += exponentOnlyHigh;
|
380
315
|
return index;
|
@@ -387,21 +322,16 @@ function indexInDoubleFromDecomp(exponent, significand) {
|
|
387
322
|
*
|
388
323
|
* @internal
|
389
324
|
*/
|
390
|
-
|
391
|
-
|
392
325
|
export function doubleToIndex(d) {
|
393
326
|
if (d === Number.POSITIVE_INFINITY) {
|
394
327
|
return clone64(INDEX_POSITIVE_INFINITY);
|
395
328
|
}
|
396
|
-
|
397
329
|
if (d === Number.NEGATIVE_INFINITY) {
|
398
330
|
return clone64(INDEX_NEGATIVE_INFINITY);
|
399
331
|
}
|
400
|
-
|
401
332
|
const decomp = decomposeDouble(d);
|
402
333
|
const exponent = decomp.exponent;
|
403
334
|
const significand = decomp.significand;
|
404
|
-
|
405
335
|
if (d > 0 || d === 0 && 1 / d === Number.POSITIVE_INFINITY) {
|
406
336
|
return {
|
407
337
|
sign: 1,
|
@@ -409,14 +339,12 @@ export function doubleToIndex(d) {
|
|
409
339
|
};
|
410
340
|
} else {
|
411
341
|
const indexOpposite = indexInDoubleFromDecomp(exponent, -significand);
|
412
|
-
|
413
342
|
if (indexOpposite[1] === 0xffffffff) {
|
414
343
|
indexOpposite[0] += 1;
|
415
344
|
indexOpposite[1] = 0;
|
416
345
|
} else {
|
417
346
|
indexOpposite[1] += 1;
|
418
347
|
}
|
419
|
-
|
420
348
|
return {
|
421
349
|
sign: -1,
|
422
350
|
data: indexOpposite
|
@@ -430,28 +358,24 @@ export function doubleToIndex(d) {
|
|
430
358
|
*
|
431
359
|
* @internal
|
432
360
|
*/
|
433
|
-
|
434
361
|
export function indexToDouble(index) {
|
435
362
|
if (index.sign === -1) {
|
436
363
|
const indexOpposite = {
|
437
364
|
sign: 1,
|
438
365
|
data: [index.data[0], index.data[1]]
|
439
366
|
};
|
440
|
-
|
441
367
|
if (indexOpposite.data[1] === 0) {
|
442
368
|
indexOpposite.data[0] -= 1;
|
443
369
|
indexOpposite.data[1] = 0xffffffff;
|
444
370
|
} else {
|
445
371
|
indexOpposite.data[1] -= 1;
|
446
372
|
}
|
447
|
-
|
448
373
|
return -indexToDouble(indexOpposite); // -indexToDouble(-index - 1);
|
449
374
|
}
|
450
375
|
|
451
376
|
if (isEqual64(index, INDEX_POSITIVE_INFINITY)) {
|
452
377
|
return Number.POSITIVE_INFINITY;
|
453
378
|
}
|
454
|
-
|
455
379
|
if (index.data[0] < 0x200000) {
|
456
380
|
// if: index < 2 ** 53 <--> index[0] < 2 ** (53-32) = 0x20_0000
|
457
381
|
// The first 2**53 elements correspond to values having
|
@@ -461,19 +385,17 @@ export function indexToDouble(index) {
|
|
461
385
|
// = index * 2 ** -1074
|
462
386
|
return (index.data[0] * 0x100000000 + index.data[1]) * 2 ** -1074;
|
463
387
|
}
|
464
|
-
|
465
388
|
const postIndexHigh = index.data[0] - 0x200000; // postIndex = index - 2 ** 53
|
466
389
|
// exponent = -1021 + Math.floor(postIndex / 2**52)
|
467
390
|
// = -1021 + Math.floor(postIndexHigh / 2**(52-32))
|
468
391
|
// = -1021 + Math.floor(postIndexHigh / 2**20)
|
469
392
|
// = -1021 + (postIndexHigh >> 20)
|
470
|
-
|
471
|
-
|
393
|
+
const exponent = -1021 + (postIndexHigh >> 20);
|
394
|
+
// significand = 1 + (postIndex % 2**52) / 2**52
|
472
395
|
// = 1 + ((postIndexHigh * 2**32 + postIndexLow) % 2**52) / 2**52
|
473
396
|
// = 1 + ((postIndexHigh % 2**20) * 2**32 + postIndexLow) / 2**52
|
474
397
|
// = 1 + ((postIndexHigh & 0xfffff) * 2**32 + postIndexLow) / 2**52
|
475
398
|
// = 1 + ((postIndexHigh & 0xfffff) * 2**32 + postIndexLow) * Number.EPSILON
|
476
|
-
|
477
399
|
const significand = 1 + ((postIndexHigh & 0xfffff) * 2 ** 32 + index.data[1]) * Number.EPSILON;
|
478
400
|
return significand * 2 ** exponent;
|
479
401
|
}
|
@@ -482,13 +404,11 @@ export function indexToDouble(index) {
|
|
482
404
|
*
|
483
405
|
* @internal
|
484
406
|
*/
|
485
|
-
|
486
407
|
export function safeDoubleToIndex(d, label) {
|
487
408
|
if (Number.isNaN(d)) {
|
488
409
|
// Number.NaN does not have any associated index in the current implementation
|
489
410
|
return tsplus_module_1.haltNow(new Error("fc.doubleNext constraints." + label + " must be a 32-bit float"), fileName_1 + ":403:22");
|
490
411
|
}
|
491
|
-
|
492
412
|
return tsplus_module_1.succeedNow(doubleToIndex(d), fileName_1 + ":405:23");
|
493
413
|
}
|
494
414
|
const EPSILON = /*#__PURE__*/Math.pow(2, -52);
|
@@ -498,41 +418,30 @@ export function nextUp(x) {
|
|
498
418
|
if (x !== x) {
|
499
419
|
return x;
|
500
420
|
}
|
501
|
-
|
502
421
|
if (x === -1 / 0) {
|
503
422
|
return -MAX_VALUE;
|
504
423
|
}
|
505
|
-
|
506
424
|
if (x === +1 / 0) {
|
507
425
|
return +1 / 0;
|
508
426
|
}
|
509
|
-
|
510
427
|
if (x === +MAX_VALUE) {
|
511
428
|
return +1 / 0;
|
512
429
|
}
|
513
|
-
|
514
430
|
let y = x * (x < 0 ? 1 - EPSILON / 2 : 1 + EPSILON);
|
515
|
-
|
516
431
|
if (y === x) {
|
517
432
|
y = MIN_VALUE * EPSILON > 0 ? x + MIN_VALUE * EPSILON : x + MIN_VALUE;
|
518
433
|
}
|
519
|
-
|
520
434
|
if (y === +1 / 0) {
|
521
435
|
y = +MAX_VALUE;
|
522
436
|
}
|
523
|
-
|
524
437
|
const b = x + (y - x) / 2;
|
525
|
-
|
526
438
|
if (x < b && b < y) {
|
527
439
|
y = b;
|
528
440
|
}
|
529
|
-
|
530
441
|
const c = (y + x) / 2;
|
531
|
-
|
532
442
|
if (x < c && c < y) {
|
533
443
|
y = c;
|
534
444
|
}
|
535
|
-
|
536
445
|
return y === 0 ? -0 : y;
|
537
446
|
}
|
538
447
|
export function nextAfter(x, y) {
|
@@ -542,17 +451,14 @@ export function computeBiasedRanges(min, max, biasedRanges) {
|
|
542
451
|
if (biasedRanges != null) {
|
543
452
|
return biasedRanges;
|
544
453
|
}
|
545
|
-
|
546
454
|
if (isEqual64(min, max)) {
|
547
455
|
return [{
|
548
456
|
min,
|
549
457
|
max
|
550
458
|
}];
|
551
459
|
}
|
552
|
-
|
553
460
|
const minStrictlySmallerThanZero = isStrictlyNegative64(min);
|
554
461
|
const maxStrictlyGreaterThanZero = isStrictlyPositive64(max);
|
555
|
-
|
556
462
|
if (minStrictlySmallerThanZero && maxStrictlyGreaterThanZero) {
|
557
463
|
const logMin = logLike64(min);
|
558
464
|
const logMax = logLike64(max);
|
@@ -587,13 +493,10 @@ export function computeArrayInt64GenerateRange(min, max, biasFactor, biasedRange
|
|
587
493
|
max
|
588
494
|
};
|
589
495
|
}
|
590
|
-
|
591
496
|
const ranges = computeBiasedRanges(min, max, biasedRanges);
|
592
|
-
|
593
497
|
if (ranges.length === 1) {
|
594
498
|
return ranges[0];
|
595
499
|
}
|
596
|
-
|
597
500
|
const id = yield* _(tsplus_module_2.nextIntBetween(-2 * (ranges.length - 1), ranges.length - 2, fileName_1 + ":504:46"), fileName_1 + ":504:24");
|
598
501
|
return id < 0 ? ranges[0] : ranges[id + 1];
|
599
502
|
}, fileName_1 + ":496:16");
|