@fncts/test 0.0.21 → 0.0.23
Sign up to get free protection for your applications and to get access to all the features.
- 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 +7 -11
- 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 +4 -16
- 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 +3 -9
- 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 +12 -24
- 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 +5 -6
- 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 +3 -6
- 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 +3 -3
- 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 +10 -12
- 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/AssertionIO/definition.ts +2 -4
- 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/AssertionData.ts +1 -1
- package/_src/data/AssertionValue/api.ts +1 -1
- package/_src/data/AssertionValue/definition.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/TestAnnotation/definition.ts +7 -4
- 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/AssertionIO/definition.d.ts +1 -1
- 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/AssertionData.d.ts +1 -1
- package/data/AssertionValue/definition.d.ts +1 -1
- package/data/ExecutedSpec/api.d.ts +2 -2
- package/data/TestAnnotation/api.d.ts +1 -1
- package/data/TestAnnotation/definition.d.ts +8 -4
- 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");
|