@hexpro/qr-code-studio 0.0.0-stage → 0.1.0
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/CHANGELOG.md +37 -0
- package/LICENSE +21 -0
- package/README.md +62 -2
- package/dist/app/bulk.d.ts +21 -0
- package/dist/app/bulk.d.ts.map +1 -0
- package/dist/app/bulk.js +564 -0
- package/dist/app/bulk.js.map +1 -0
- package/dist/app/check.d.ts +23 -0
- package/dist/app/check.d.ts.map +1 -0
- package/dist/app/check.js +306 -0
- package/dist/app/check.js.map +1 -0
- package/dist/app/content.d.ts +19 -0
- package/dist/app/content.d.ts.map +1 -0
- package/dist/app/content.js +634 -0
- package/dist/app/content.js.map +1 -0
- package/dist/app/context.d.ts +25 -0
- package/dist/app/context.d.ts.map +1 -0
- package/dist/app/context.js +11 -0
- package/dist/app/context.js.map +1 -0
- package/dist/app/controls.d.ts +95 -0
- package/dist/app/controls.d.ts.map +1 -0
- package/dist/app/controls.js +272 -0
- package/dist/app/controls.js.map +1 -0
- package/dist/app/design-panels.d.ts +27 -0
- package/dist/app/design-panels.d.ts.map +1 -0
- package/dist/app/design-panels.js +1196 -0
- package/dist/app/design-panels.js.map +1 -0
- package/dist/app/dom.d.ts +74 -0
- package/dist/app/dom.d.ts.map +1 -0
- package/dist/app/dom.js +129 -0
- package/dist/app/dom.js.map +1 -0
- package/dist/app/images.d.ts +22 -0
- package/dist/app/images.d.ts.map +1 -0
- package/dist/app/images.js +50 -0
- package/dist/app/images.js.map +1 -0
- package/dist/app/library-view.d.ts +24 -0
- package/dist/app/library-view.d.ts.map +1 -0
- package/dist/app/library-view.js +260 -0
- package/dist/app/library-view.js.map +1 -0
- package/dist/app/main.d.ts +17 -0
- package/dist/app/main.d.ts.map +1 -0
- package/dist/app/main.js +518 -0
- package/dist/app/main.js.map +1 -0
- package/dist/app/measure.d.ts +26 -0
- package/dist/app/measure.d.ts.map +1 -0
- package/dist/app/measure.js +53 -0
- package/dist/app/measure.js.map +1 -0
- package/dist/app/proof.d.ts +30 -0
- package/dist/app/proof.d.ts.map +1 -0
- package/dist/app/proof.js +378 -0
- package/dist/app/proof.js.map +1 -0
- package/dist/app/save.d.ts +27 -0
- package/dist/app/save.d.ts.map +1 -0
- package/dist/app/save.js +331 -0
- package/dist/app/save.js.map +1 -0
- package/dist/app/scan.d.ts +25 -0
- package/dist/app/scan.d.ts.map +1 -0
- package/dist/app/scan.js +421 -0
- package/dist/app/scan.js.map +1 -0
- package/dist/app/shortcuts.d.ts +12 -0
- package/dist/app/shortcuts.d.ts.map +1 -0
- package/dist/app/shortcuts.js +17 -0
- package/dist/app/shortcuts.js.map +1 -0
- package/dist/app/text.d.ts +22 -0
- package/dist/app/text.d.ts.map +1 -0
- package/dist/app/text.js +50 -0
- package/dist/app/text.js.map +1 -0
- package/dist/batch/csv.d.ts +56 -0
- package/dist/batch/csv.d.ts.map +1 -0
- package/dist/batch/csv.js +327 -0
- package/dist/batch/csv.js.map +1 -0
- package/dist/batch/errors.d.ts +60 -0
- package/dist/batch/errors.d.ts.map +1 -0
- package/dist/batch/errors.js +60 -0
- package/dist/batch/errors.js.map +1 -0
- package/dist/batch/filename.d.ts +65 -0
- package/dist/batch/filename.d.ts.map +1 -0
- package/dist/batch/filename.js +205 -0
- package/dist/batch/filename.js.map +1 -0
- package/dist/batch/index.d.ts +17 -0
- package/dist/batch/index.d.ts.map +1 -0
- package/dist/batch/index.js +11 -0
- package/dist/batch/index.js.map +1 -0
- package/dist/batch/issues.d.ts +45 -0
- package/dist/batch/issues.d.ts.map +1 -0
- package/dist/batch/issues.js +47 -0
- package/dist/batch/issues.js.map +1 -0
- package/dist/batch/manifest.d.ts +43 -0
- package/dist/batch/manifest.d.ts.map +1 -0
- package/dist/batch/manifest.js +82 -0
- package/dist/batch/manifest.js.map +1 -0
- package/dist/batch/plan.d.ts +33 -0
- package/dist/batch/plan.d.ts.map +1 -0
- package/dist/batch/plan.js +254 -0
- package/dist/batch/plan.js.map +1 -0
- package/dist/batch/run.d.ts +68 -0
- package/dist/batch/run.d.ts.map +1 -0
- package/dist/batch/run.js +548 -0
- package/dist/batch/run.js.map +1 -0
- package/dist/batch/template.d.ts +54 -0
- package/dist/batch/template.d.ts.map +1 -0
- package/dist/batch/template.js +119 -0
- package/dist/batch/template.js.map +1 -0
- package/dist/batch/text-decoding.d.ts +49 -0
- package/dist/batch/text-decoding.d.ts.map +1 -0
- package/dist/batch/text-decoding.js +160 -0
- package/dist/batch/text-decoding.js.map +1 -0
- package/dist/batch/types.d.ts +240 -0
- package/dist/batch/types.d.ts.map +1 -0
- package/dist/batch/types.js +35 -0
- package/dist/batch/types.js.map +1 -0
- package/dist/batch/verify.d.ts +45 -0
- package/dist/batch/verify.d.ts.map +1 -0
- package/dist/batch/verify.js +72 -0
- package/dist/batch/verify.js.map +1 -0
- package/dist/batch/zip.d.ts +39 -0
- package/dist/batch/zip.d.ts.map +1 -0
- package/dist/batch/zip.js +201 -0
- package/dist/batch/zip.js.map +1 -0
- package/dist/conformance/finder.d.ts +67 -0
- package/dist/conformance/finder.d.ts.map +1 -0
- package/dist/conformance/finder.js +125 -0
- package/dist/conformance/finder.js.map +1 -0
- package/dist/conformance/frame.d.ts +28 -0
- package/dist/conformance/frame.d.ts.map +1 -0
- package/dist/conformance/frame.js +134 -0
- package/dist/conformance/frame.js.map +1 -0
- package/dist/conformance/index.d.ts +15 -0
- package/dist/conformance/index.d.ts.map +1 -0
- package/dist/conformance/index.js +8 -0
- package/dist/conformance/index.js.map +1 -0
- package/dist/conformance/module-shape.d.ts +35 -0
- package/dist/conformance/module-shape.d.ts.map +1 -0
- package/dist/conformance/module-shape.js +139 -0
- package/dist/conformance/module-shape.js.map +1 -0
- package/dist/conformance/payload-type.d.ts +48 -0
- package/dist/conformance/payload-type.d.ts.map +1 -0
- package/dist/conformance/payload-type.js +113 -0
- package/dist/conformance/payload-type.js.map +1 -0
- package/dist/conformance/preset.d.ts +37 -0
- package/dist/conformance/preset.d.ts.map +1 -0
- package/dist/conformance/preset.js +171 -0
- package/dist/conformance/preset.js.map +1 -0
- package/dist/conformance/region-captures.d.ts +41 -0
- package/dist/conformance/region-captures.d.ts.map +1 -0
- package/dist/conformance/region-captures.js +69 -0
- package/dist/conformance/region-captures.js.map +1 -0
- package/dist/conformance/region-shape.d.ts +43 -0
- package/dist/conformance/region-shape.d.ts.map +1 -0
- package/dist/conformance/region-shape.js +214 -0
- package/dist/conformance/region-shape.js.map +1 -0
- package/dist/conformance/sample.d.ts +13 -0
- package/dist/conformance/sample.d.ts.map +1 -0
- package/dist/conformance/sample.js +75 -0
- package/dist/conformance/sample.js.map +1 -0
- package/dist/conformance/types.d.ts +16 -0
- package/dist/conformance/types.d.ts.map +1 -0
- package/dist/conformance/types.js +10 -0
- package/dist/conformance/types.js.map +1 -0
- package/dist/core/bch.d.ts +36 -0
- package/dist/core/bch.d.ts.map +1 -0
- package/dist/core/bch.js +92 -0
- package/dist/core/bch.js.map +1 -0
- package/dist/core/bit-matrix.d.ts +56 -0
- package/dist/core/bit-matrix.d.ts.map +1 -0
- package/dist/core/bit-matrix.js +150 -0
- package/dist/core/bit-matrix.js.map +1 -0
- package/dist/core/bits.d.ts +53 -0
- package/dist/core/bits.d.ts.map +1 -0
- package/dist/core/bits.js +128 -0
- package/dist/core/bits.js.map +1 -0
- package/dist/core/checksums.d.ts +22 -0
- package/dist/core/checksums.d.ts.map +1 -0
- package/dist/core/checksums.js +64 -0
- package/dist/core/checksums.js.map +1 -0
- package/dist/core/deflate.d.ts +51 -0
- package/dist/core/deflate.d.ts.map +1 -0
- package/dist/core/deflate.js +851 -0
- package/dist/core/deflate.js.map +1 -0
- package/dist/core/errors.d.ts +123 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +168 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/field.d.ts +58 -0
- package/dist/core/field.d.ts.map +1 -0
- package/dist/core/field.js +184 -0
- package/dist/core/field.js.map +1 -0
- package/dist/core/huffman.d.ts +31 -0
- package/dist/core/huffman.d.ts.map +1 -0
- package/dist/core/huffman.js +131 -0
- package/dist/core/huffman.js.map +1 -0
- package/dist/core/image.d.ts +18 -0
- package/dist/core/image.d.ts.map +1 -0
- package/dist/core/image.js +2 -0
- package/dist/core/image.js.map +1 -0
- package/dist/core/index.d.ts +25 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +15 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/issue.d.ts +39 -0
- package/dist/core/issue.d.ts.map +1 -0
- package/dist/core/issue.js +24 -0
- package/dist/core/issue.js.map +1 -0
- package/dist/core/math.d.ts +56 -0
- package/dist/core/math.d.ts.map +1 -0
- package/dist/core/math.js +609 -0
- package/dist/core/math.js.map +1 -0
- package/dist/core/prng.d.ts +27 -0
- package/dist/core/prng.d.ts.map +1 -0
- package/dist/core/prng.js +111 -0
- package/dist/core/prng.js.map +1 -0
- package/dist/core/reed-solomon.d.ts +69 -0
- package/dist/core/reed-solomon.d.ts.map +1 -0
- package/dist/core/reed-solomon.js +308 -0
- package/dist/core/reed-solomon.js.map +1 -0
- package/dist/core/registry.d.ts +45 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +80 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/result.d.ts +33 -0
- package/dist/core/result.d.ts.map +1 -0
- package/dist/core/result.js +52 -0
- package/dist/core/result.js.map +1 -0
- package/dist/core/zip.d.ts +36 -0
- package/dist/core/zip.d.ts.map +1 -0
- package/dist/core/zip.js +234 -0
- package/dist/core/zip.js.map +1 -0
- package/dist/decode/alignment.d.ts +34 -0
- package/dist/decode/alignment.d.ts.map +1 -0
- package/dist/decode/alignment.js +179 -0
- package/dist/decode/alignment.js.map +1 -0
- package/dist/decode/binarise.d.ts +95 -0
- package/dist/decode/binarise.d.ts.map +1 -0
- package/dist/decode/binarise.js +399 -0
- package/dist/decode/binarise.js.map +1 -0
- package/dist/decode/decoder.d.ts +75 -0
- package/dist/decode/decoder.d.ts.map +1 -0
- package/dist/decode/decoder.js +773 -0
- package/dist/decode/decoder.js.map +1 -0
- package/dist/decode/erasures.d.ts +26 -0
- package/dist/decode/erasures.d.ts.map +1 -0
- package/dist/decode/erasures.js +34 -0
- package/dist/decode/erasures.js.map +1 -0
- package/dist/decode/failure.d.ts +15 -0
- package/dist/decode/failure.d.ts.map +1 -0
- package/dist/decode/failure.js +22 -0
- package/dist/decode/failure.js.map +1 -0
- package/dist/decode/finder.d.ts +114 -0
- package/dist/decode/finder.d.ts.map +1 -0
- package/dist/decode/finder.js +441 -0
- package/dist/decode/finder.js.map +1 -0
- package/dist/decode/frame.d.ts +49 -0
- package/dist/decode/frame.d.ts.map +1 -0
- package/dist/decode/frame.js +228 -0
- package/dist/decode/frame.js.map +1 -0
- package/dist/decode/grey.d.ts +87 -0
- package/dist/decode/grey.d.ts.map +1 -0
- package/dist/decode/grey.js +226 -0
- package/dist/decode/grey.js.map +1 -0
- package/dist/decode/index.d.ts +4 -0
- package/dist/decode/index.d.ts.map +1 -0
- package/dist/decode/index.js +3 -0
- package/dist/decode/index.js.map +1 -0
- package/dist/decode/locate-qr.d.ts +80 -0
- package/dist/decode/locate-qr.d.ts.map +1 -0
- package/dist/decode/locate-qr.js +295 -0
- package/dist/decode/locate-qr.js.map +1 -0
- package/dist/decode/locate-single.d.ts +47 -0
- package/dist/decode/locate-single.d.ts.map +1 -0
- package/dist/decode/locate-single.js +169 -0
- package/dist/decode/locate-single.js.map +1 -0
- package/dist/decode/plain.d.ts +70 -0
- package/dist/decode/plain.d.ts.map +1 -0
- package/dist/decode/plain.js +460 -0
- package/dist/decode/plain.js.map +1 -0
- package/dist/decode/sample.d.ts +56 -0
- package/dist/decode/sample.d.ts.map +1 -0
- package/dist/decode/sample.js +154 -0
- package/dist/decode/sample.js.map +1 -0
- package/dist/decode/strict.d.ts +255 -0
- package/dist/decode/strict.d.ts.map +1 -0
- package/dist/decode/strict.js +597 -0
- package/dist/decode/strict.js.map +1 -0
- package/dist/decode/tiled.d.ts +137 -0
- package/dist/decode/tiled.d.ts.map +1 -0
- package/dist/decode/tiled.js +452 -0
- package/dist/decode/tiled.js.map +1 -0
- package/dist/decode/transform.d.ts +48 -0
- package/dist/decode/transform.d.ts.map +1 -0
- package/dist/decode/transform.js +180 -0
- package/dist/decode/transform.js.map +1 -0
- package/dist/decode/types.d.ts +163 -0
- package/dist/decode/types.d.ts.map +1 -0
- package/dist/decode/types.js +10 -0
- package/dist/decode/types.js.map +1 -0
- package/dist/design/base64.d.ts +16 -0
- package/dist/design/base64.d.ts.map +1 -0
- package/dist/design/base64.js +97 -0
- package/dist/design/base64.js.map +1 -0
- package/dist/design/canonical.d.ts +13 -0
- package/dist/design/canonical.d.ts.map +1 -0
- package/dist/design/canonical.js +100 -0
- package/dist/design/canonical.js.map +1 -0
- package/dist/design/caption.d.ts +54 -0
- package/dist/design/caption.d.ts.map +1 -0
- package/dist/design/caption.js +175 -0
- package/dist/design/caption.js.map +1 -0
- package/dist/design/catalogue/draw.d.ts +77 -0
- package/dist/design/catalogue/draw.d.ts.map +1 -0
- package/dist/design/catalogue/draw.js +260 -0
- package/dist/design/catalogue/draw.js.map +1 -0
- package/dist/design/catalogue/fills.d.ts +9 -0
- package/dist/design/catalogue/fills.d.ts.map +1 -0
- package/dist/design/catalogue/fills.js +64 -0
- package/dist/design/catalogue/fills.js.map +1 -0
- package/dist/design/catalogue/frames.d.ts +18 -0
- package/dist/design/catalogue/frames.d.ts.map +1 -0
- package/dist/design/catalogue/frames.js +451 -0
- package/dist/design/catalogue/frames.js.map +1 -0
- package/dist/design/catalogue/icons.d.ts +21 -0
- package/dist/design/catalogue/icons.d.ts.map +1 -0
- package/dist/design/catalogue/icons.js +293 -0
- package/dist/design/catalogue/icons.js.map +1 -0
- package/dist/design/catalogue/module-shapes.d.ts +21 -0
- package/dist/design/catalogue/module-shapes.d.ts.map +1 -0
- package/dist/design/catalogue/module-shapes.js +266 -0
- package/dist/design/catalogue/module-shapes.js.map +1 -0
- package/dist/design/catalogue/presets.d.ts +31 -0
- package/dist/design/catalogue/presets.d.ts.map +1 -0
- package/dist/design/catalogue/presets.js +696 -0
- package/dist/design/catalogue/presets.js.map +1 -0
- package/dist/design/catalogue/region-shapes.d.ts +41 -0
- package/dist/design/catalogue/region-shapes.d.ts.map +1 -0
- package/dist/design/catalogue/region-shapes.js +399 -0
- package/dist/design/catalogue/region-shapes.js.map +1 -0
- package/dist/design/catalogue/schema.d.ts +14 -0
- package/dist/design/catalogue/schema.d.ts.map +1 -0
- package/dist/design/catalogue/schema.js +58 -0
- package/dist/design/catalogue/schema.js.map +1 -0
- package/dist/design/constraints.d.ts +25 -0
- package/dist/design/constraints.d.ts.map +1 -0
- package/dist/design/constraints.js +194 -0
- package/dist/design/constraints.js.map +1 -0
- package/dist/design/document.d.ts +64 -0
- package/dist/design/document.d.ts.map +1 -0
- package/dist/design/document.js +66 -0
- package/dist/design/document.js.map +1 -0
- package/dist/design/finder.d.ts +79 -0
- package/dist/design/finder.d.ts.map +1 -0
- package/dist/design/finder.js +270 -0
- package/dist/design/finder.js.map +1 -0
- package/dist/design/index.d.ts +18 -0
- package/dist/design/index.d.ts.map +1 -0
- package/dist/design/index.js +15 -0
- package/dist/design/index.js.map +1 -0
- package/dist/design/link.d.ts +41 -0
- package/dist/design/link.d.ts.map +1 -0
- package/dist/design/link.js +131 -0
- package/dist/design/link.js.map +1 -0
- package/dist/design/logo.d.ts +57 -0
- package/dist/design/logo.d.ts.map +1 -0
- package/dist/design/logo.js +376 -0
- package/dist/design/logo.js.map +1 -0
- package/dist/design/migrate.d.ts +31 -0
- package/dist/design/migrate.d.ts.map +1 -0
- package/dist/design/migrate.js +87 -0
- package/dist/design/migrate.js.map +1 -0
- package/dist/design/neighbours.d.ts +24 -0
- package/dist/design/neighbours.d.ts.map +1 -0
- package/dist/design/neighbours.js +50 -0
- package/dist/design/neighbours.js.map +1 -0
- package/dist/design/paint.d.ts +47 -0
- package/dist/design/paint.d.ts.map +1 -0
- package/dist/design/paint.js +115 -0
- package/dist/design/paint.js.map +1 -0
- package/dist/design/params.d.ts +30 -0
- package/dist/design/params.d.ts.map +1 -0
- package/dist/design/params.js +85 -0
- package/dist/design/params.js.map +1 -0
- package/dist/design/preset-size.d.ts +14 -0
- package/dist/design/preset-size.d.ts.map +1 -0
- package/dist/design/preset-size.js +14 -0
- package/dist/design/preset-size.js.map +1 -0
- package/dist/design/registries.d.ts +9 -0
- package/dist/design/registries.d.ts.map +1 -0
- package/dist/design/registries.js +24 -0
- package/dist/design/registries.js.map +1 -0
- package/dist/design/scene.d.ts +38 -0
- package/dist/design/scene.d.ts.map +1 -0
- package/dist/design/scene.js +694 -0
- package/dist/design/scene.js.map +1 -0
- package/dist/design/swiss-cross.d.ts +54 -0
- package/dist/design/swiss-cross.d.ts.map +1 -0
- package/dist/design/swiss-cross.js +95 -0
- package/dist/design/swiss-cross.js.map +1 -0
- package/dist/design/types.d.ts +389 -0
- package/dist/design/types.d.ts.map +1 -0
- package/dist/design/types.js +29 -0
- package/dist/design/types.js.map +1 -0
- package/dist/design/validate.d.ts +48 -0
- package/dist/design/validate.d.ts.map +1 -0
- package/dist/design/validate.js +986 -0
- package/dist/design/validate.js.map +1 -0
- package/dist/dom/camera.d.ts +94 -0
- package/dist/dom/camera.d.ts.map +1 -0
- package/dist/dom/camera.js +288 -0
- package/dist/dom/camera.js.map +1 -0
- package/dist/dom/file-library.d.ts +297 -0
- package/dist/dom/file-library.d.ts.map +1 -0
- package/dist/dom/file-library.js +703 -0
- package/dist/dom/file-library.js.map +1 -0
- package/dist/dom/image.d.ts +77 -0
- package/dist/dom/image.d.ts.map +1 -0
- package/dist/dom/image.js +253 -0
- package/dist/dom/image.js.map +1 -0
- package/dist/dom/index.d.ts +19 -0
- package/dist/dom/index.d.ts.map +1 -0
- package/dist/dom/index.js +10 -0
- package/dist/dom/index.js.map +1 -0
- package/dist/dom/library/index.d.ts +4 -0
- package/dist/dom/library/index.d.ts.map +1 -0
- package/dist/dom/library/index.js +2 -0
- package/dist/dom/library/index.js.map +1 -0
- package/dist/dom/library/indexeddb.d.ts +71 -0
- package/dist/dom/library/indexeddb.d.ts.map +1 -0
- package/dist/dom/library/indexeddb.js +365 -0
- package/dist/dom/library/indexeddb.js.map +1 -0
- package/dist/dom/logo.d.ts +36 -0
- package/dist/dom/logo.d.ts.map +1 -0
- package/dist/dom/logo.js +99 -0
- package/dist/dom/logo.js.map +1 -0
- package/dist/dom/orientation.d.ts +32 -0
- package/dist/dom/orientation.d.ts.map +1 -0
- package/dist/dom/orientation.js +152 -0
- package/dist/dom/orientation.js.map +1 -0
- package/dist/dom/output.d.ts +58 -0
- package/dist/dom/output.d.ts.map +1 -0
- package/dist/dom/output.js +93 -0
- package/dist/dom/output.js.map +1 -0
- package/dist/dom/print.d.ts +52 -0
- package/dist/dom/print.d.ts.map +1 -0
- package/dist/dom/print.js +101 -0
- package/dist/dom/print.js.map +1 -0
- package/dist/dom/raster-encoder.d.ts +43 -0
- package/dist/dom/raster-encoder.d.ts.map +1 -0
- package/dist/dom/raster-encoder.js +102 -0
- package/dist/dom/raster-encoder.js.map +1 -0
- package/dist/dom/resample.d.ts +20 -0
- package/dist/dom/resample.d.ts.map +1 -0
- package/dist/dom/resample.js +107 -0
- package/dist/dom/resample.js.map +1 -0
- package/dist/dom/types.d.ts +54 -0
- package/dist/dom/types.d.ts.map +1 -0
- package/dist/dom/types.js +13 -0
- package/dist/dom/types.js.map +1 -0
- package/dist/encode/bitstream.d.ts +14 -0
- package/dist/encode/bitstream.d.ts.map +1 -0
- package/dist/encode/bitstream.js +31 -0
- package/dist/encode/bitstream.js.map +1 -0
- package/dist/encode/encode.d.ts +21 -0
- package/dist/encode/encode.d.ts.map +1 -0
- package/dist/encode/encode.js +65 -0
- package/dist/encode/encode.js.map +1 -0
- package/dist/encode/index.d.ts +5 -0
- package/dist/encode/index.d.ts.map +1 -0
- package/dist/encode/index.js +4 -0
- package/dist/encode/index.js.map +1 -0
- package/dist/encode/plan.d.ts +61 -0
- package/dist/encode/plan.d.ts.map +1 -0
- package/dist/encode/plan.js +177 -0
- package/dist/encode/plan.js.map +1 -0
- package/dist/encode/structured-append.d.ts +35 -0
- package/dist/encode/structured-append.d.ts.map +1 -0
- package/dist/encode/structured-append.js +153 -0
- package/dist/encode/structured-append.js.map +1 -0
- package/dist/fonts/latin.d.ts +118 -0
- package/dist/fonts/latin.d.ts.map +1 -0
- package/dist/fonts/latin.js +137 -0
- package/dist/fonts/latin.js.map +1 -0
- package/dist/geometry/flatten.d.ts +60 -0
- package/dist/geometry/flatten.d.ts.map +1 -0
- package/dist/geometry/flatten.js +177 -0
- package/dist/geometry/flatten.js.map +1 -0
- package/dist/geometry/index.d.ts +10 -0
- package/dist/geometry/index.d.ts.map +1 -0
- package/dist/geometry/index.js +6 -0
- package/dist/geometry/index.js.map +1 -0
- package/dist/geometry/matrix.d.ts +50 -0
- package/dist/geometry/matrix.d.ts.map +1 -0
- package/dist/geometry/matrix.js +113 -0
- package/dist/geometry/matrix.js.map +1 -0
- package/dist/geometry/measure.d.ts +35 -0
- package/dist/geometry/measure.d.ts.map +1 -0
- package/dist/geometry/measure.js +206 -0
- package/dist/geometry/measure.js.map +1 -0
- package/dist/geometry/path.d.ts +137 -0
- package/dist/geometry/path.d.ts.map +1 -0
- package/dist/geometry/path.js +401 -0
- package/dist/geometry/path.js.map +1 -0
- package/dist/geometry/trace.d.ts +29 -0
- package/dist/geometry/trace.d.ts.map +1 -0
- package/dist/geometry/trace.js +166 -0
- package/dist/geometry/trace.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/inspect/explain.d.ts +32 -0
- package/dist/inspect/explain.d.ts.map +1 -0
- package/dist/inspect/explain.js +99 -0
- package/dist/inspect/explain.js.map +1 -0
- package/dist/inspect/gs1.d.ts +38 -0
- package/dist/inspect/gs1.d.ts.map +1 -0
- package/dist/inspect/gs1.js +130 -0
- package/dist/inspect/gs1.js.map +1 -0
- package/dist/inspect/index.d.ts +9 -0
- package/dist/inspect/index.d.ts.map +1 -0
- package/dist/inspect/index.js +6 -0
- package/dist/inspect/index.js.map +1 -0
- package/dist/inspect/inspect.d.ts +29 -0
- package/dist/inspect/inspect.d.ts.map +1 -0
- package/dist/inspect/inspect.js +98 -0
- package/dist/inspect/inspect.js.map +1 -0
- package/dist/inspect/keys.d.ts +54 -0
- package/dist/inspect/keys.d.ts.map +1 -0
- package/dist/inspect/keys.js +63 -0
- package/dist/inspect/keys.js.map +1 -0
- package/dist/inspect/sets.d.ts +27 -0
- package/dist/inspect/sets.d.ts.map +1 -0
- package/dist/inspect/sets.js +67 -0
- package/dist/inspect/sets.js.map +1 -0
- package/dist/inspect/types.d.ts +81 -0
- package/dist/inspect/types.d.ts.map +1 -0
- package/dist/inspect/types.js +16 -0
- package/dist/inspect/types.js.map +1 -0
- package/dist/messages/en/app.d.ts +11 -0
- package/dist/messages/en/app.d.ts.map +1 -0
- package/dist/messages/en/app.js +395 -0
- package/dist/messages/en/app.js.map +1 -0
- package/dist/messages/en/batch.d.ts +18 -0
- package/dist/messages/en/batch.d.ts.map +1 -0
- package/dist/messages/en/batch.js +42 -0
- package/dist/messages/en/batch.js.map +1 -0
- package/dist/messages/en/decode.d.ts +9 -0
- package/dist/messages/en/decode.d.ts.map +1 -0
- package/dist/messages/en/decode.js +21 -0
- package/dist/messages/en/decode.js.map +1 -0
- package/dist/messages/en/design.d.ts +13 -0
- package/dist/messages/en/design.d.ts.map +1 -0
- package/dist/messages/en/design.js +228 -0
- package/dist/messages/en/design.js.map +1 -0
- package/dist/messages/en/dom.d.ts +11 -0
- package/dist/messages/en/dom.d.ts.map +1 -0
- package/dist/messages/en/dom.js +14 -0
- package/dist/messages/en/dom.js.map +1 -0
- package/dist/messages/en/encode.d.ts +13 -0
- package/dist/messages/en/encode.d.ts.map +1 -0
- package/dist/messages/en/encode.js +20 -0
- package/dist/messages/en/encode.js.map +1 -0
- package/dist/messages/en/index.d.ts +48 -0
- package/dist/messages/en/index.d.ts.map +1 -0
- package/dist/messages/en/index.js +73 -0
- package/dist/messages/en/index.js.map +1 -0
- package/dist/messages/en/inspect.d.ts +13 -0
- package/dist/messages/en/inspect.d.ts.map +1 -0
- package/dist/messages/en/inspect.js +84 -0
- package/dist/messages/en/inspect.js.map +1 -0
- package/dist/messages/en/library.d.ts +12 -0
- package/dist/messages/en/library.d.ts.map +1 -0
- package/dist/messages/en/library.js +27 -0
- package/dist/messages/en/library.js.map +1 -0
- package/dist/messages/en/micro.d.ts +9 -0
- package/dist/messages/en/micro.d.ts.map +1 -0
- package/dist/messages/en/micro.js +13 -0
- package/dist/messages/en/micro.js.map +1 -0
- package/dist/messages/en/own-link.d.ts +7 -0
- package/dist/messages/en/own-link.d.ts.map +1 -0
- package/dist/messages/en/own-link.js +29 -0
- package/dist/messages/en/own-link.js.map +1 -0
- package/dist/messages/en/payload.d.ts +13 -0
- package/dist/messages/en/payload.d.ts.map +1 -0
- package/dist/messages/en/payload.js +427 -0
- package/dist/messages/en/payload.js.map +1 -0
- package/dist/messages/en/rmqr.d.ts +9 -0
- package/dist/messages/en/rmqr.d.ts.map +1 -0
- package/dist/messages/en/rmqr.js +12 -0
- package/dist/messages/en/rmqr.js.map +1 -0
- package/dist/messages/en/studio.d.ts +18 -0
- package/dist/messages/en/studio.d.ts.map +1 -0
- package/dist/messages/en/studio.js +117 -0
- package/dist/messages/en/studio.js.map +1 -0
- package/dist/messages/en/symbology.d.ts +13 -0
- package/dist/messages/en/symbology.d.ts.map +1 -0
- package/dist/messages/en/symbology.js +21 -0
- package/dist/messages/en/symbology.js.map +1 -0
- package/dist/messages/en/text.d.ts +23 -0
- package/dist/messages/en/text.d.ts.map +1 -0
- package/dist/messages/en/text.js +47 -0
- package/dist/messages/en/text.js.map +1 -0
- package/dist/messages/en/verify.d.ts +13 -0
- package/dist/messages/en/verify.d.ts.map +1 -0
- package/dist/messages/en/verify.js +117 -0
- package/dist/messages/en/verify.js.map +1 -0
- package/dist/messages/format.d.ts +30 -0
- package/dist/messages/format.d.ts.map +1 -0
- package/dist/messages/format.js +170 -0
- package/dist/messages/format.js.map +1 -0
- package/dist/own-link/index.d.ts +5 -0
- package/dist/own-link/index.d.ts.map +1 -0
- package/dist/own-link/index.js +3 -0
- package/dist/own-link/index.js.map +1 -0
- package/dist/own-link/query.d.ts +10 -0
- package/dist/own-link/query.d.ts.map +1 -0
- package/dist/own-link/query.js +33 -0
- package/dist/own-link/query.js.map +1 -0
- package/dist/own-link/redirects.d.ts +54 -0
- package/dist/own-link/redirects.d.ts.map +1 -0
- package/dist/own-link/redirects.js +271 -0
- package/dist/own-link/redirects.js.map +1 -0
- package/dist/own-link/utm.d.ts +24 -0
- package/dist/own-link/utm.d.ts.map +1 -0
- package/dist/own-link/utm.js +82 -0
- package/dist/own-link/utm.js.map +1 -0
- package/dist/payload/banking.d.ts +39 -0
- package/dist/payload/banking.d.ts.map +1 -0
- package/dist/payload/banking.js +87 -0
- package/dist/payload/banking.js.map +1 -0
- package/dist/payload/base58.d.ts +21 -0
- package/dist/payload/base58.d.ts.map +1 -0
- package/dist/payload/base58.js +75 -0
- package/dist/payload/base58.js.map +1 -0
- package/dist/payload/bech32.d.ts +59 -0
- package/dist/payload/bech32.d.ts.map +1 -0
- package/dist/payload/bech32.js +137 -0
- package/dist/payload/bech32.js.map +1 -0
- package/dist/payload/check-digits.d.ts +49 -0
- package/dist/payload/check-digits.d.ts.map +1 -0
- package/dist/payload/check-digits.js +101 -0
- package/dist/payload/check-digits.js.map +1 -0
- package/dist/payload/content/bitcoin.d.ts +34 -0
- package/dist/payload/content/bitcoin.d.ts.map +1 -0
- package/dist/payload/content/bitcoin.js +137 -0
- package/dist/payload/content/bitcoin.js.map +1 -0
- package/dist/payload/content/email.d.ts +19 -0
- package/dist/payload/content/email.d.ts.map +1 -0
- package/dist/payload/content/email.js +137 -0
- package/dist/payload/content/email.js.map +1 -0
- package/dist/payload/content/epc.d.ts +32 -0
- package/dist/payload/content/epc.d.ts.map +1 -0
- package/dist/payload/content/epc.js +160 -0
- package/dist/payload/content/epc.js.map +1 -0
- package/dist/payload/content/event.d.ts +35 -0
- package/dist/payload/content/event.d.ts.map +1 -0
- package/dist/payload/content/event.js +242 -0
- package/dist/payload/content/event.js.map +1 -0
- package/dist/payload/content/facetime.d.ts +14 -0
- package/dist/payload/content/facetime.d.ts.map +1 -0
- package/dist/payload/content/facetime.js +56 -0
- package/dist/payload/content/facetime.js.map +1 -0
- package/dist/payload/content/geo.d.ts +24 -0
- package/dist/payload/content/geo.d.ts.map +1 -0
- package/dist/payload/content/geo.js +139 -0
- package/dist/payload/content/geo.js.map +1 -0
- package/dist/payload/content/gs1-digital-link.d.ts +34 -0
- package/dist/payload/content/gs1-digital-link.d.ts.map +1 -0
- package/dist/payload/content/gs1-digital-link.js +171 -0
- package/dist/payload/content/gs1-digital-link.js.map +1 -0
- package/dist/payload/content/lightning.d.ts +22 -0
- package/dist/payload/content/lightning.d.ts.map +1 -0
- package/dist/payload/content/lightning.js +90 -0
- package/dist/payload/content/lightning.js.map +1 -0
- package/dist/payload/content/mecard.d.ts +23 -0
- package/dist/payload/content/mecard.d.ts.map +1 -0
- package/dist/payload/content/mecard.js +111 -0
- package/dist/payload/content/mecard.js.map +1 -0
- package/dist/payload/content/phone.d.ts +17 -0
- package/dist/payload/content/phone.d.ts.map +1 -0
- package/dist/payload/content/phone.js +39 -0
- package/dist/payload/content/phone.js.map +1 -0
- package/dist/payload/content/pix.d.ts +36 -0
- package/dist/payload/content/pix.d.ts.map +1 -0
- package/dist/payload/content/pix.js +191 -0
- package/dist/payload/content/pix.js.map +1 -0
- package/dist/payload/content/signal.d.ts +17 -0
- package/dist/payload/content/signal.d.ts.map +1 -0
- package/dist/payload/content/signal.js +43 -0
- package/dist/payload/content/signal.js.map +1 -0
- package/dist/payload/content/sms.d.ts +18 -0
- package/dist/payload/content/sms.d.ts.map +1 -0
- package/dist/payload/content/sms.js +64 -0
- package/dist/payload/content/sms.js.map +1 -0
- package/dist/payload/content/swiss-qr-bill.d.ts +61 -0
- package/dist/payload/content/swiss-qr-bill.d.ts.map +1 -0
- package/dist/payload/content/swiss-qr-bill.js +325 -0
- package/dist/payload/content/swiss-qr-bill.js.map +1 -0
- package/dist/payload/content/telegram.d.ts +18 -0
- package/dist/payload/content/telegram.d.ts.map +1 -0
- package/dist/payload/content/telegram.js +105 -0
- package/dist/payload/content/telegram.js.map +1 -0
- package/dist/payload/content/text.d.ts +9 -0
- package/dist/payload/content/text.d.ts.map +1 -0
- package/dist/payload/content/text.js +18 -0
- package/dist/payload/content/text.js.map +1 -0
- package/dist/payload/content/upi.d.ts +21 -0
- package/dist/payload/content/upi.d.ts.map +1 -0
- package/dist/payload/content/upi.js +89 -0
- package/dist/payload/content/upi.js.map +1 -0
- package/dist/payload/content/url.d.ts +31 -0
- package/dist/payload/content/url.d.ts.map +1 -0
- package/dist/payload/content/url.js +120 -0
- package/dist/payload/content/url.js.map +1 -0
- package/dist/payload/content/vcard.d.ts +42 -0
- package/dist/payload/content/vcard.d.ts.map +1 -0
- package/dist/payload/content/vcard.js +302 -0
- package/dist/payload/content/vcard.js.map +1 -0
- package/dist/payload/content/whatsapp.d.ts +17 -0
- package/dist/payload/content/whatsapp.d.ts.map +1 -0
- package/dist/payload/content/whatsapp.js +72 -0
- package/dist/payload/content/whatsapp.js.map +1 -0
- package/dist/payload/content/wifi.d.ts +48 -0
- package/dist/payload/content/wifi.d.ts.map +1 -0
- package/dist/payload/content/wifi.js +240 -0
- package/dist/payload/content/wifi.js.map +1 -0
- package/dist/payload/content/zatca.d.ts +35 -0
- package/dist/payload/content/zatca.d.ts.map +1 -0
- package/dist/payload/content/zatca.js +156 -0
- package/dist/payload/content/zatca.js.map +1 -0
- package/dist/payload/data/hosts.d.ts +39 -0
- package/dist/payload/data/hosts.d.ts.map +1 -0
- package/dist/payload/data/hosts.js +74 -0
- package/dist/payload/data/hosts.js.map +1 -0
- package/dist/payload/define.d.ts +57 -0
- package/dist/payload/define.d.ts.map +1 -0
- package/dist/payload/define.js +87 -0
- package/dist/payload/define.js.map +1 -0
- package/dist/payload/detect.d.ts +13 -0
- package/dist/payload/detect.d.ts.map +1 -0
- package/dist/payload/detect.js +32 -0
- package/dist/payload/detect.js.map +1 -0
- package/dist/payload/emv.d.ts +41 -0
- package/dist/payload/emv.d.ts.map +1 -0
- package/dist/payload/emv.js +73 -0
- package/dist/payload/emv.js.map +1 -0
- package/dist/payload/escape.d.ts +66 -0
- package/dist/payload/escape.d.ts.map +1 -0
- package/dist/payload/escape.js +225 -0
- package/dist/payload/escape.js.map +1 -0
- package/dist/payload/fields.d.ts +86 -0
- package/dist/payload/fields.d.ts.map +1 -0
- package/dist/payload/fields.js +368 -0
- package/dist/payload/fields.js.map +1 -0
- package/dist/payload/hash.d.ts +11 -0
- package/dist/payload/hash.d.ts.map +1 -0
- package/dist/payload/hash.js +82 -0
- package/dist/payload/hash.js.map +1 -0
- package/dist/payload/index.d.ts +58 -0
- package/dist/payload/index.d.ts.map +1 -0
- package/dist/payload/index.js +32 -0
- package/dist/payload/index.js.map +1 -0
- package/dist/payload/punycode.d.ts +18 -0
- package/dist/payload/punycode.d.ts.map +1 -0
- package/dist/payload/punycode.js +99 -0
- package/dist/payload/punycode.js.map +1 -0
- package/dist/payload/registry.d.ts +20 -0
- package/dist/payload/registry.d.ts.map +1 -0
- package/dist/payload/registry.js +64 -0
- package/dist/payload/registry.js.map +1 -0
- package/dist/payload/safety.d.ts +13 -0
- package/dist/payload/safety.d.ts.map +1 -0
- package/dist/payload/safety.js +30 -0
- package/dist/payload/safety.js.map +1 -0
- package/dist/payload/scripts.d.ts +25 -0
- package/dist/payload/scripts.d.ts.map +1 -0
- package/dist/payload/scripts.js +90 -0
- package/dist/payload/scripts.js.map +1 -0
- package/dist/payload/types.d.ts +138 -0
- package/dist/payload/types.d.ts.map +1 -0
- package/dist/payload/types.js +28 -0
- package/dist/payload/types.js.map +1 -0
- package/dist/payload/uri.d.ts +24 -0
- package/dist/payload/uri.d.ts.map +1 -0
- package/dist/payload/uri.js +69 -0
- package/dist/payload/uri.js.map +1 -0
- package/dist/payload/url-safety.d.ts +31 -0
- package/dist/payload/url-safety.d.ts.map +1 -0
- package/dist/payload/url-safety.js +221 -0
- package/dist/payload/url-safety.js.map +1 -0
- package/dist/payload/vectors/bitcoin.d.ts +13 -0
- package/dist/payload/vectors/bitcoin.d.ts.map +1 -0
- package/dist/payload/vectors/bitcoin.js +83 -0
- package/dist/payload/vectors/bitcoin.js.map +1 -0
- package/dist/payload/vectors/built-in.d.ts +15 -0
- package/dist/payload/vectors/built-in.d.ts.map +1 -0
- package/dist/payload/vectors/built-in.js +59 -0
- package/dist/payload/vectors/built-in.js.map +1 -0
- package/dist/payload/vectors/email.d.ts +8 -0
- package/dist/payload/vectors/email.d.ts.map +1 -0
- package/dist/payload/vectors/email.js +60 -0
- package/dist/payload/vectors/email.js.map +1 -0
- package/dist/payload/vectors/epc.d.ts +9 -0
- package/dist/payload/vectors/epc.d.ts.map +1 -0
- package/dist/payload/vectors/epc.js +38 -0
- package/dist/payload/vectors/epc.js.map +1 -0
- package/dist/payload/vectors/event.d.ts +9 -0
- package/dist/payload/vectors/event.d.ts.map +1 -0
- package/dist/payload/vectors/event.js +57 -0
- package/dist/payload/vectors/event.js.map +1 -0
- package/dist/payload/vectors/facetime.d.ts +9 -0
- package/dist/payload/vectors/facetime.d.ts.map +1 -0
- package/dist/payload/vectors/facetime.js +19 -0
- package/dist/payload/vectors/facetime.js.map +1 -0
- package/dist/payload/vectors/geo.d.ts +8 -0
- package/dist/payload/vectors/geo.d.ts.map +1 -0
- package/dist/payload/vectors/geo.js +22 -0
- package/dist/payload/vectors/geo.js.map +1 -0
- package/dist/payload/vectors/gs1-digital-link.d.ts +9 -0
- package/dist/payload/vectors/gs1-digital-link.d.ts.map +1 -0
- package/dist/payload/vectors/gs1-digital-link.js +21 -0
- package/dist/payload/vectors/gs1-digital-link.js.map +1 -0
- package/dist/payload/vectors/hosts.d.ts +12 -0
- package/dist/payload/vectors/hosts.d.ts.map +1 -0
- package/dist/payload/vectors/hosts.js +50 -0
- package/dist/payload/vectors/hosts.js.map +1 -0
- package/dist/payload/vectors/index.d.ts +10 -0
- package/dist/payload/vectors/index.d.ts.map +1 -0
- package/dist/payload/vectors/index.js +9 -0
- package/dist/payload/vectors/index.js.map +1 -0
- package/dist/payload/vectors/lightning.d.ts +9 -0
- package/dist/payload/vectors/lightning.d.ts.map +1 -0
- package/dist/payload/vectors/lightning.js +23 -0
- package/dist/payload/vectors/lightning.js.map +1 -0
- package/dist/payload/vectors/mecard.d.ts +9 -0
- package/dist/payload/vectors/mecard.d.ts.map +1 -0
- package/dist/payload/vectors/mecard.js +25 -0
- package/dist/payload/vectors/mecard.js.map +1 -0
- package/dist/payload/vectors/phone.d.ts +9 -0
- package/dist/payload/vectors/phone.d.ts.map +1 -0
- package/dist/payload/vectors/phone.js +13 -0
- package/dist/payload/vectors/phone.js.map +1 -0
- package/dist/payload/vectors/pix.d.ts +9 -0
- package/dist/payload/vectors/pix.d.ts.map +1 -0
- package/dist/payload/vectors/pix.js +21 -0
- package/dist/payload/vectors/pix.js.map +1 -0
- package/dist/payload/vectors/signal.d.ts +9 -0
- package/dist/payload/vectors/signal.d.ts.map +1 -0
- package/dist/payload/vectors/signal.js +14 -0
- package/dist/payload/vectors/signal.js.map +1 -0
- package/dist/payload/vectors/sms.d.ts +9 -0
- package/dist/payload/vectors/sms.d.ts.map +1 -0
- package/dist/payload/vectors/sms.js +18 -0
- package/dist/payload/vectors/sms.js.map +1 -0
- package/dist/payload/vectors/swiss-qr-bill.d.ts +9 -0
- package/dist/payload/vectors/swiss-qr-bill.d.ts.map +1 -0
- package/dist/payload/vectors/swiss-qr-bill.js +72 -0
- package/dist/payload/vectors/swiss-qr-bill.js.map +1 -0
- package/dist/payload/vectors/telegram.d.ts +9 -0
- package/dist/payload/vectors/telegram.d.ts.map +1 -0
- package/dist/payload/vectors/telegram.js +19 -0
- package/dist/payload/vectors/telegram.js.map +1 -0
- package/dist/payload/vectors/text.d.ts +9 -0
- package/dist/payload/vectors/text.d.ts.map +1 -0
- package/dist/payload/vectors/text.js +13 -0
- package/dist/payload/vectors/text.js.map +1 -0
- package/dist/payload/vectors/upi.d.ts +9 -0
- package/dist/payload/vectors/upi.d.ts.map +1 -0
- package/dist/payload/vectors/upi.js +14 -0
- package/dist/payload/vectors/upi.js.map +1 -0
- package/dist/payload/vectors/url.d.ts +8 -0
- package/dist/payload/vectors/url.d.ts.map +1 -0
- package/dist/payload/vectors/url.js +30 -0
- package/dist/payload/vectors/url.js.map +1 -0
- package/dist/payload/vectors/vcard.d.ts +9 -0
- package/dist/payload/vectors/vcard.d.ts.map +1 -0
- package/dist/payload/vectors/vcard.js +47 -0
- package/dist/payload/vectors/vcard.js.map +1 -0
- package/dist/payload/vectors/whatsapp.d.ts +9 -0
- package/dist/payload/vectors/whatsapp.d.ts.map +1 -0
- package/dist/payload/vectors/whatsapp.js +19 -0
- package/dist/payload/vectors/whatsapp.js.map +1 -0
- package/dist/payload/vectors/wifi.d.ts +13 -0
- package/dist/payload/vectors/wifi.d.ts.map +1 -0
- package/dist/payload/vectors/wifi.js +40 -0
- package/dist/payload/vectors/wifi.js.map +1 -0
- package/dist/payload/vectors/zatca.d.ts +12 -0
- package/dist/payload/vectors/zatca.d.ts.map +1 -0
- package/dist/payload/vectors/zatca.js +28 -0
- package/dist/payload/vectors/zatca.js.map +1 -0
- package/dist/qr-code-studio.html +190 -0
- package/dist/registries.d.ts +24 -0
- package/dist/registries.d.ts.map +1 -0
- package/dist/registries.js +23 -0
- package/dist/registries.js.map +1 -0
- package/dist/render/base64.d.ts +11 -0
- package/dist/render/base64.d.ts.map +1 -0
- package/dist/render/base64.js +40 -0
- package/dist/render/base64.js.map +1 -0
- package/dist/render/colour.d.ts +28 -0
- package/dist/render/colour.d.ts.map +1 -0
- package/dist/render/colour.js +72 -0
- package/dist/render/colour.js.map +1 -0
- package/dist/render/conic.d.ts +68 -0
- package/dist/render/conic.d.ts.map +1 -0
- package/dist/render/conic.js +205 -0
- package/dist/render/conic.js.map +1 -0
- package/dist/render/coverage.d.ts +154 -0
- package/dist/render/coverage.d.ts.map +1 -0
- package/dist/render/coverage.js +613 -0
- package/dist/render/coverage.js.map +1 -0
- package/dist/render/eps.d.ts +41 -0
- package/dist/render/eps.d.ts.map +1 -0
- package/dist/render/eps.js +377 -0
- package/dist/render/eps.js.map +1 -0
- package/dist/render/impose.d.ts +130 -0
- package/dist/render/impose.d.ts.map +1 -0
- package/dist/render/impose.js +288 -0
- package/dist/render/impose.js.map +1 -0
- package/dist/render/index.d.ts +22 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +13 -0
- package/dist/render/index.js.map +1 -0
- package/dist/render/paint.d.ts +62 -0
- package/dist/render/paint.d.ts.map +1 -0
- package/dist/render/paint.js +169 -0
- package/dist/render/paint.js.map +1 -0
- package/dist/render/pdf-colour.d.ts +34 -0
- package/dist/render/pdf-colour.d.ts.map +1 -0
- package/dist/render/pdf-colour.js +64 -0
- package/dist/render/pdf-colour.js.map +1 -0
- package/dist/render/pdf-content.d.ts +90 -0
- package/dist/render/pdf-content.d.ts.map +1 -0
- package/dist/render/pdf-content.js +367 -0
- package/dist/render/pdf-content.js.map +1 -0
- package/dist/render/pdf-document.d.ts +38 -0
- package/dist/render/pdf-document.d.ts.map +1 -0
- package/dist/render/pdf-document.js +110 -0
- package/dist/render/pdf-document.js.map +1 -0
- package/dist/render/pdf-hash.d.ts +14 -0
- package/dist/render/pdf-hash.d.ts.map +1 -0
- package/dist/render/pdf-hash.js +71 -0
- package/dist/render/pdf-hash.js.map +1 -0
- package/dist/render/pdf-syntax.d.ts +45 -0
- package/dist/render/pdf-syntax.d.ts.map +1 -0
- package/dist/render/pdf-syntax.js +100 -0
- package/dist/render/pdf-syntax.js.map +1 -0
- package/dist/render/pdf.d.ts +59 -0
- package/dist/render/pdf.d.ts.map +1 -0
- package/dist/render/pdf.js +267 -0
- package/dist/render/pdf.js.map +1 -0
- package/dist/render/png-decode.d.ts +33 -0
- package/dist/render/png-decode.d.ts.map +1 -0
- package/dist/render/png-decode.js +345 -0
- package/dist/render/png-decode.js.map +1 -0
- package/dist/render/png.d.ts +37 -0
- package/dist/render/png.d.ts.map +1 -0
- package/dist/render/png.js +350 -0
- package/dist/render/png.js.map +1 -0
- package/dist/render/raster.d.ts +40 -0
- package/dist/render/raster.d.ts.map +1 -0
- package/dist/render/raster.js +245 -0
- package/dist/render/raster.js.map +1 -0
- package/dist/render/scene.d.ts +84 -0
- package/dist/render/scene.d.ts.map +1 -0
- package/dist/render/scene.js +216 -0
- package/dist/render/scene.js.map +1 -0
- package/dist/render/sheets.d.ts +26 -0
- package/dist/render/sheets.d.ts.map +1 -0
- package/dist/render/sheets.js +83 -0
- package/dist/render/sheets.js.map +1 -0
- package/dist/render/svg.d.ts +54 -0
- package/dist/render/svg.d.ts.map +1 -0
- package/dist/render/svg.js +324 -0
- package/dist/render/svg.js.map +1 -0
- package/dist/render/types.d.ts +95 -0
- package/dist/render/types.d.ts.map +1 -0
- package/dist/render/types.js +9 -0
- package/dist/render/types.js.map +1 -0
- package/dist/segment/alphanumeric.d.ts +15 -0
- package/dist/segment/alphanumeric.d.ts.map +1 -0
- package/dist/segment/alphanumeric.js +23 -0
- package/dist/segment/alphanumeric.js.map +1 -0
- package/dist/segment/eci.d.ts +41 -0
- package/dist/segment/eci.d.ts.map +1 -0
- package/dist/segment/eci.js +194 -0
- package/dist/segment/eci.js.map +1 -0
- package/dist/segment/index.d.ts +10 -0
- package/dist/segment/index.d.ts.map +1 -0
- package/dist/segment/index.js +8 -0
- package/dist/segment/index.js.map +1 -0
- package/dist/segment/kanji.d.ts +57 -0
- package/dist/segment/kanji.d.ts.map +1 -0
- package/dist/segment/kanji.js +135 -0
- package/dist/segment/kanji.js.map +1 -0
- package/dist/segment/profile.d.ts +21 -0
- package/dist/segment/profile.d.ts.map +1 -0
- package/dist/segment/profile.js +66 -0
- package/dist/segment/profile.js.map +1 -0
- package/dist/segment/read.d.ts +29 -0
- package/dist/segment/read.d.ts.map +1 -0
- package/dist/segment/read.js +360 -0
- package/dist/segment/read.js.map +1 -0
- package/dist/segment/segment-text.d.ts +88 -0
- package/dist/segment/segment-text.d.ts.map +1 -0
- package/dist/segment/segment-text.js +422 -0
- package/dist/segment/segment-text.js.map +1 -0
- package/dist/segment/types.d.ts +89 -0
- package/dist/segment/types.d.ts.map +1 -0
- package/dist/segment/types.js +13 -0
- package/dist/segment/types.js.map +1 -0
- package/dist/segment/write.d.ts +36 -0
- package/dist/segment/write.d.ts.map +1 -0
- package/dist/segment/write.js +226 -0
- package/dist/segment/write.js.map +1 -0
- package/dist/studio/assets.d.ts +22 -0
- package/dist/studio/assets.d.ts.map +1 -0
- package/dist/studio/assets.js +66 -0
- package/dist/studio/assets.js.map +1 -0
- package/dist/studio/catalogue.d.ts +34 -0
- package/dist/studio/catalogue.d.ts.map +1 -0
- package/dist/studio/catalogue.js +359 -0
- package/dist/studio/catalogue.js.map +1 -0
- package/dist/studio/contrast.d.ts +16 -0
- package/dist/studio/contrast.d.ts.map +1 -0
- package/dist/studio/contrast.js +28 -0
- package/dist/studio/contrast.js.map +1 -0
- package/dist/studio/document.d.ts +61 -0
- package/dist/studio/document.d.ts.map +1 -0
- package/dist/studio/document.js +208 -0
- package/dist/studio/document.js.map +1 -0
- package/dist/studio/export.d.ts +52 -0
- package/dist/studio/export.d.ts.map +1 -0
- package/dist/studio/export.js +269 -0
- package/dist/studio/export.js.map +1 -0
- package/dist/studio/form.d.ts +15 -0
- package/dist/studio/form.d.ts.map +1 -0
- package/dist/studio/form.js +91 -0
- package/dist/studio/form.js.map +1 -0
- package/dist/studio/history.d.ts +66 -0
- package/dist/studio/history.d.ts.map +1 -0
- package/dist/studio/history.js +109 -0
- package/dist/studio/history.js.map +1 -0
- package/dist/studio/index.d.ts +16 -0
- package/dist/studio/index.d.ts.map +1 -0
- package/dist/studio/index.js +12 -0
- package/dist/studio/index.js.map +1 -0
- package/dist/studio/keys.d.ts +86 -0
- package/dist/studio/keys.d.ts.map +1 -0
- package/dist/studio/keys.js +165 -0
- package/dist/studio/keys.js.map +1 -0
- package/dist/studio/kit.d.ts +44 -0
- package/dist/studio/kit.d.ts.map +1 -0
- package/dist/studio/kit.js +114 -0
- package/dist/studio/kit.js.map +1 -0
- package/dist/studio/logo.d.ts +25 -0
- package/dist/studio/logo.d.ts.map +1 -0
- package/dist/studio/logo.js +49 -0
- package/dist/studio/logo.js.map +1 -0
- package/dist/studio/names.d.ts +18 -0
- package/dist/studio/names.d.ts.map +1 -0
- package/dist/studio/names.js +36 -0
- package/dist/studio/names.js.map +1 -0
- package/dist/studio/patch.d.ts +17 -0
- package/dist/studio/patch.d.ts.map +1 -0
- package/dist/studio/patch.js +64 -0
- package/dist/studio/patch.js.map +1 -0
- package/dist/studio/seams.d.ts +44 -0
- package/dist/studio/seams.d.ts.map +1 -0
- package/dist/studio/seams.js +36 -0
- package/dist/studio/seams.js.map +1 -0
- package/dist/studio/share.d.ts +16 -0
- package/dist/studio/share.d.ts.map +1 -0
- package/dist/studio/share.js +57 -0
- package/dist/studio/share.js.map +1 -0
- package/dist/studio/shuffle.d.ts +38 -0
- package/dist/studio/shuffle.d.ts.map +1 -0
- package/dist/studio/shuffle.js +181 -0
- package/dist/studio/shuffle.js.map +1 -0
- package/dist/studio/slices.d.ts +29 -0
- package/dist/studio/slices.d.ts.map +1 -0
- package/dist/studio/slices.js +84 -0
- package/dist/studio/slices.js.map +1 -0
- package/dist/studio/studio.d.ts +29 -0
- package/dist/studio/studio.d.ts.map +1 -0
- package/dist/studio/studio.js +1298 -0
- package/dist/studio/studio.js.map +1 -0
- package/dist/studio/symbol.d.ts +47 -0
- package/dist/studio/symbol.d.ts.map +1 -0
- package/dist/studio/symbol.js +159 -0
- package/dist/studio/symbol.js.map +1 -0
- package/dist/studio/timers.d.ts +18 -0
- package/dist/studio/timers.d.ts.map +1 -0
- package/dist/studio/timers.js +36 -0
- package/dist/studio/timers.js.map +1 -0
- package/dist/studio/types.d.ts +693 -0
- package/dist/studio/types.d.ts.map +1 -0
- package/dist/studio/types.js +26 -0
- package/dist/studio/types.js.map +1 -0
- package/dist/studio/verify.d.ts +47 -0
- package/dist/studio/verify.d.ts.map +1 -0
- package/dist/studio/verify.js +63 -0
- package/dist/studio/verify.js.map +1 -0
- package/dist/symbology/index.d.ts +8 -0
- package/dist/symbology/index.d.ts.map +1 -0
- package/dist/symbology/index.js +6 -0
- package/dist/symbology/index.js.map +1 -0
- package/dist/symbology/micro/blocks.d.ts +34 -0
- package/dist/symbology/micro/blocks.d.ts.map +1 -0
- package/dist/symbology/micro/blocks.js +63 -0
- package/dist/symbology/micro/blocks.js.map +1 -0
- package/dist/symbology/micro/entry.d.ts +70 -0
- package/dist/symbology/micro/entry.d.ts.map +1 -0
- package/dist/symbology/micro/entry.js +181 -0
- package/dist/symbology/micro/entry.js.map +1 -0
- package/dist/symbology/micro/format.d.ts +31 -0
- package/dist/symbology/micro/format.d.ts.map +1 -0
- package/dist/symbology/micro/format.js +48 -0
- package/dist/symbology/micro/format.js.map +1 -0
- package/dist/symbology/micro/index.d.ts +7 -0
- package/dist/symbology/micro/index.d.ts.map +1 -0
- package/dist/symbology/micro/index.js +5 -0
- package/dist/symbology/micro/index.js.map +1 -0
- package/dist/symbology/micro/layout.d.ts +40 -0
- package/dist/symbology/micro/layout.d.ts.map +1 -0
- package/dist/symbology/micro/layout.js +106 -0
- package/dist/symbology/micro/layout.js.map +1 -0
- package/dist/symbology/micro/mask.d.ts +25 -0
- package/dist/symbology/micro/mask.d.ts.map +1 -0
- package/dist/symbology/micro/mask.js +41 -0
- package/dist/symbology/micro/mask.js.map +1 -0
- package/dist/symbology/micro/modules.d.ts +76 -0
- package/dist/symbology/micro/modules.d.ts.map +1 -0
- package/dist/symbology/micro/modules.js +156 -0
- package/dist/symbology/micro/modules.js.map +1 -0
- package/dist/symbology/micro/profile.d.ts +16 -0
- package/dist/symbology/micro/profile.d.ts.map +1 -0
- package/dist/symbology/micro/profile.js +45 -0
- package/dist/symbology/micro/profile.js.map +1 -0
- package/dist/symbology/micro/read-helpers.d.ts +31 -0
- package/dist/symbology/micro/read-helpers.d.ts.map +1 -0
- package/dist/symbology/micro/read-helpers.js +66 -0
- package/dist/symbology/micro/read-helpers.js.map +1 -0
- package/dist/symbology/micro/tables.d.ts +63 -0
- package/dist/symbology/micro/tables.d.ts.map +1 -0
- package/dist/symbology/micro/tables.js +163 -0
- package/dist/symbology/micro/tables.js.map +1 -0
- package/dist/symbology/qr/blocks.d.ts +58 -0
- package/dist/symbology/qr/blocks.d.ts.map +1 -0
- package/dist/symbology/qr/blocks.js +176 -0
- package/dist/symbology/qr/blocks.js.map +1 -0
- package/dist/symbology/qr/build.d.ts +20 -0
- package/dist/symbology/qr/build.d.ts.map +1 -0
- package/dist/symbology/qr/build.js +91 -0
- package/dist/symbology/qr/build.js.map +1 -0
- package/dist/symbology/qr/entry.d.ts +13 -0
- package/dist/symbology/qr/entry.d.ts.map +1 -0
- package/dist/symbology/qr/entry.js +56 -0
- package/dist/symbology/qr/entry.js.map +1 -0
- package/dist/symbology/qr/index.d.ts +13 -0
- package/dist/symbology/qr/index.d.ts.map +1 -0
- package/dist/symbology/qr/index.js +9 -0
- package/dist/symbology/qr/index.js.map +1 -0
- package/dist/symbology/qr/info.d.ts +29 -0
- package/dist/symbology/qr/info.d.ts.map +1 -0
- package/dist/symbology/qr/info.js +53 -0
- package/dist/symbology/qr/info.js.map +1 -0
- package/dist/symbology/qr/layout.d.ts +37 -0
- package/dist/symbology/qr/layout.d.ts.map +1 -0
- package/dist/symbology/qr/layout.js +174 -0
- package/dist/symbology/qr/layout.js.map +1 -0
- package/dist/symbology/qr/mask.d.ts +35 -0
- package/dist/symbology/qr/mask.d.ts.map +1 -0
- package/dist/symbology/qr/mask.js +113 -0
- package/dist/symbology/qr/mask.js.map +1 -0
- package/dist/symbology/qr/read.d.ts +43 -0
- package/dist/symbology/qr/read.d.ts.map +1 -0
- package/dist/symbology/qr/read.js +219 -0
- package/dist/symbology/qr/read.js.map +1 -0
- package/dist/symbology/qr/tables.d.ts +62 -0
- package/dist/symbology/qr/tables.d.ts.map +1 -0
- package/dist/symbology/qr/tables.js +337 -0
- package/dist/symbology/qr/tables.js.map +1 -0
- package/dist/symbology/registry.d.ts +11 -0
- package/dist/symbology/registry.d.ts.map +1 -0
- package/dist/symbology/registry.js +19 -0
- package/dist/symbology/registry.js.map +1 -0
- package/dist/symbology/rmqr/entry.d.ts +56 -0
- package/dist/symbology/rmqr/entry.d.ts.map +1 -0
- package/dist/symbology/rmqr/entry.js +165 -0
- package/dist/symbology/rmqr/entry.js.map +1 -0
- package/dist/symbology/rmqr/format.d.ts +45 -0
- package/dist/symbology/rmqr/format.d.ts.map +1 -0
- package/dist/symbology/rmqr/format.js +72 -0
- package/dist/symbology/rmqr/format.js.map +1 -0
- package/dist/symbology/rmqr/index.d.ts +5 -0
- package/dist/symbology/rmqr/index.d.ts.map +1 -0
- package/dist/symbology/rmqr/index.js +5 -0
- package/dist/symbology/rmqr/index.js.map +1 -0
- package/dist/symbology/rmqr/layout.d.ts +46 -0
- package/dist/symbology/rmqr/layout.d.ts.map +1 -0
- package/dist/symbology/rmqr/layout.js +196 -0
- package/dist/symbology/rmqr/layout.js.map +1 -0
- package/dist/symbology/rmqr/profile.d.ts +15 -0
- package/dist/symbology/rmqr/profile.d.ts.map +1 -0
- package/dist/symbology/rmqr/profile.js +52 -0
- package/dist/symbology/rmqr/profile.js.map +1 -0
- package/dist/symbology/rmqr/tables.d.ts +62 -0
- package/dist/symbology/rmqr/tables.d.ts.map +1 -0
- package/dist/symbology/rmqr/tables.js +194 -0
- package/dist/symbology/rmqr/tables.js.map +1 -0
- package/dist/symbology/roles.d.ts +19 -0
- package/dist/symbology/roles.d.ts.map +1 -0
- package/dist/symbology/roles.js +35 -0
- package/dist/symbology/roles.js.map +1 -0
- package/dist/symbology/types.d.ts +126 -0
- package/dist/symbology/types.d.ts.map +1 -0
- package/dist/symbology/types.js +11 -0
- package/dist/symbology/types.js.map +1 -0
- package/dist/text/base64.d.ts +11 -0
- package/dist/text/base64.d.ts.map +1 -0
- package/dist/text/base64.js +49 -0
- package/dist/text/base64.js.map +1 -0
- package/dist/text/cmap.d.ts +17 -0
- package/dist/text/cmap.d.ts.map +1 -0
- package/dist/text/cmap.js +161 -0
- package/dist/text/cmap.js.map +1 -0
- package/dist/text/compiled.d.ts +52 -0
- package/dist/text/compiled.d.ts.map +1 -0
- package/dist/text/compiled.js +220 -0
- package/dist/text/compiled.js.map +1 -0
- package/dist/text/errors.d.ts +34 -0
- package/dist/text/errors.d.ts.map +1 -0
- package/dist/text/errors.js +26 -0
- package/dist/text/errors.js.map +1 -0
- package/dist/text/font.d.ts +29 -0
- package/dist/text/font.d.ts.map +1 -0
- package/dist/text/font.js +67 -0
- package/dist/text/font.js.map +1 -0
- package/dist/text/glyf.d.ts +62 -0
- package/dist/text/glyf.d.ts.map +1 -0
- package/dist/text/glyf.js +276 -0
- package/dist/text/glyf.js.map +1 -0
- package/dist/text/index.d.ts +13 -0
- package/dist/text/index.d.ts.map +1 -0
- package/dist/text/index.js +9 -0
- package/dist/text/index.js.map +1 -0
- package/dist/text/kerning.d.ts +36 -0
- package/dist/text/kerning.d.ts.map +1 -0
- package/dist/text/kerning.js +382 -0
- package/dist/text/kerning.js.map +1 -0
- package/dist/text/layout.d.ts +35 -0
- package/dist/text/layout.d.ts.map +1 -0
- package/dist/text/layout.js +287 -0
- package/dist/text/layout.js.map +1 -0
- package/dist/text/outline.d.ts +22 -0
- package/dist/text/outline.d.ts.map +1 -0
- package/dist/text/outline.js +79 -0
- package/dist/text/outline.js.map +1 -0
- package/dist/text/reader.d.ts +43 -0
- package/dist/text/reader.d.ts.map +1 -0
- package/dist/text/reader.js +83 -0
- package/dist/text/reader.js.map +1 -0
- package/dist/text/registry.d.ts +21 -0
- package/dist/text/registry.d.ts.map +1 -0
- package/dist/text/registry.js +32 -0
- package/dist/text/registry.js.map +1 -0
- package/dist/text/truetype.d.ts +44 -0
- package/dist/text/truetype.d.ts.map +1 -0
- package/dist/text/truetype.js +127 -0
- package/dist/text/truetype.js.map +1 -0
- package/dist/text/types.d.ts +106 -0
- package/dist/text/types.d.ts.map +1 -0
- package/dist/text/types.js +11 -0
- package/dist/text/types.js.map +1 -0
- package/dist/verify/camera.d.ts +59 -0
- package/dist/verify/camera.d.ts.map +1 -0
- package/dist/verify/camera.js +76 -0
- package/dist/verify/camera.js.map +1 -0
- package/dist/verify/capture.d.ts +40 -0
- package/dist/verify/capture.d.ts.map +1 -0
- package/dist/verify/capture.js +118 -0
- package/dist/verify/capture.js.map +1 -0
- package/dist/verify/coverage.d.ts +61 -0
- package/dist/verify/coverage.d.ts.map +1 -0
- package/dist/verify/coverage.js +90 -0
- package/dist/verify/coverage.js.map +1 -0
- package/dist/verify/degrade.d.ts +143 -0
- package/dist/verify/degrade.d.ts.map +1 -0
- package/dist/verify/degrade.js +503 -0
- package/dist/verify/degrade.js.map +1 -0
- package/dist/verify/fixes.d.ts +28 -0
- package/dist/verify/fixes.d.ts.map +1 -0
- package/dist/verify/fixes.js +277 -0
- package/dist/verify/fixes.js.map +1 -0
- package/dist/verify/homography.d.ts +32 -0
- package/dist/verify/homography.d.ts.map +1 -0
- package/dist/verify/homography.js +79 -0
- package/dist/verify/homography.js.map +1 -0
- package/dist/verify/index.d.ts +17 -0
- package/dist/verify/index.d.ts.map +1 -0
- package/dist/verify/index.js +11 -0
- package/dist/verify/index.js.map +1 -0
- package/dist/verify/inks.d.ts +39 -0
- package/dist/verify/inks.d.ts.map +1 -0
- package/dist/verify/inks.js +101 -0
- package/dist/verify/inks.js.map +1 -0
- package/dist/verify/job.d.ts +89 -0
- package/dist/verify/job.d.ts.map +1 -0
- package/dist/verify/job.js +314 -0
- package/dist/verify/job.js.map +1 -0
- package/dist/verify/keys.d.ts +92 -0
- package/dist/verify/keys.d.ts.map +1 -0
- package/dist/verify/keys.js +95 -0
- package/dist/verify/keys.js.map +1 -0
- package/dist/verify/ladders.d.ts +68 -0
- package/dist/verify/ladders.d.ts.map +1 -0
- package/dist/verify/ladders.js +154 -0
- package/dist/verify/ladders.js.map +1 -0
- package/dist/verify/prepare.d.ts +78 -0
- package/dist/verify/prepare.d.ts.map +1 -0
- package/dist/verify/prepare.js +307 -0
- package/dist/verify/prepare.js.map +1 -0
- package/dist/verify/preset.d.ts +111 -0
- package/dist/verify/preset.d.ts.map +1 -0
- package/dist/verify/preset.js +200 -0
- package/dist/verify/preset.js.map +1 -0
- package/dist/verify/read.d.ts +23 -0
- package/dist/verify/read.d.ts.map +1 -0
- package/dist/verify/read.js +55 -0
- package/dist/verify/read.js.map +1 -0
- package/dist/verify/region.d.ts +37 -0
- package/dist/verify/region.d.ts.map +1 -0
- package/dist/verify/region.js +80 -0
- package/dist/verify/region.js.map +1 -0
- package/dist/verify/static.d.ts +56 -0
- package/dist/verify/static.d.ts.map +1 -0
- package/dist/verify/static.js +277 -0
- package/dist/verify/static.js.map +1 -0
- package/dist/verify/types.d.ts +173 -0
- package/dist/verify/types.d.ts.map +1 -0
- package/dist/verify/types.js +36 -0
- package/dist/verify/types.js.map +1 -0
- package/package.json +191 -5
|
@@ -0,0 +1,609 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic replacements for the transcendental members of Math.
|
|
3
|
+
*
|
|
4
|
+
* ECMAScript specifies `+ - * /` and `Math.sqrt` to IEEE 754 exactly and
|
|
5
|
+
* leaves sin, cos, atan2, exp, log, pow and hypot "implementation-approximated".
|
|
6
|
+
* V8, JavaScriptCore and SpiderMonkey really do differ in the last place, and
|
|
7
|
+
* one disagreement in a curve flattening step moves an anti-aliased edge by a
|
|
8
|
+
* level, the strict reader thresholds that edge, and the scan check gives a
|
|
9
|
+
* different verdict in Safari than in Chrome. So everything here is built from
|
|
10
|
+
* the specified operations alone, plus `Math.abs`, `Math.round` and integer
|
|
11
|
+
* BigInt arithmetic, which are exact. The results are the same in every
|
|
12
|
+
* engine, and accurate to better than 1e-12 relative (in practice within a
|
|
13
|
+
* few units in the last place).
|
|
14
|
+
*
|
|
15
|
+
* The algorithms are the classical ones, after fdlibm: Cody-Waite range
|
|
16
|
+
* reduction with pi/2 split into three 33 bit pieces, exp and log reduced by
|
|
17
|
+
* ln 2, atan reduced by a table of atan(i/8). The polynomial kernels use
|
|
18
|
+
* Taylor coefficients, exact rationals, with enough terms that truncation sits
|
|
19
|
+
* far below rounding; that costs a few multiplications over a minimax fit and
|
|
20
|
+
* means no coefficient here rests on anybody's memory of a table. The
|
|
21
|
+
* constants that are not rationals are derived from series in the tests.
|
|
22
|
+
*
|
|
23
|
+
* Domains: sin and cos take any finite argument (beyond about 1.6 million the
|
|
24
|
+
* reduction is done exactly in BigInt against 2/pi to 1216 bits, the way
|
|
25
|
+
* fdlibm's Payne-Hanek path does it in floating point); atan2, hypot, exp and
|
|
26
|
+
* ln follow Math for every input, special values included; pow takes a base
|
|
27
|
+
* of zero or more (see its comment).
|
|
28
|
+
*/
|
|
29
|
+
export const PI = 3.141592653589793;
|
|
30
|
+
export const TAU = 6.283185307179586;
|
|
31
|
+
/* pi/2 in three 33 bit pieces and a tail (fdlibm's pio2_1, pio2_2, pio2_3, pio2_3t). */
|
|
32
|
+
const PIO2_1 = 1.5707963267341256;
|
|
33
|
+
const PIO2_2 = 6.077100506303966e-11;
|
|
34
|
+
const PIO2_3 = 2.0222662487111665e-21;
|
|
35
|
+
const PIO2_3T = 8.4784276603689e-32;
|
|
36
|
+
const INV_PIO2 = 0.6366197723675814;
|
|
37
|
+
const PIO4 = 0.7853981633974483;
|
|
38
|
+
/** Past this, n * PIO2_1 would need more than 53 bits: n < 2^20. */
|
|
39
|
+
const MEDIUM_LIMIT = 1.6e6;
|
|
40
|
+
const PI_LO = 1.2246467991473532e-16;
|
|
41
|
+
const PIO2_HI = 1.5707963267948966;
|
|
42
|
+
const PIO2_LO = 6.123233995736766e-17;
|
|
43
|
+
/** ln 2 as 32 significant bits and the rest, so k * LN2_HI is exact for any exponent k. */
|
|
44
|
+
const LN2_HI = 0.6931471803691238;
|
|
45
|
+
const LN2_LO = 1.9082149292705877e-10;
|
|
46
|
+
const INV_LN2 = 1.4426950408889634;
|
|
47
|
+
const SQRT2 = 1.4142135623730951;
|
|
48
|
+
/** ln of the largest double, and ln of half the smallest subnormal: past these exp is Infinity or 0. */
|
|
49
|
+
const EXP_MAX = 709.782712893384;
|
|
50
|
+
const EXP_MIN = -745.1332191019411;
|
|
51
|
+
const TWO_M27 = 1 / 134217728;
|
|
52
|
+
const TWO_54 = 18014398509481984;
|
|
53
|
+
/** 2^27 + 1, Veltkamp's splitter for exact products without a fused multiply-add. */
|
|
54
|
+
const SPLITTER = 134217729;
|
|
55
|
+
/* Exact helpers. */
|
|
56
|
+
let scratch;
|
|
57
|
+
function view() {
|
|
58
|
+
scratch ??= new DataView(new ArrayBuffer(8));
|
|
59
|
+
return scratch;
|
|
60
|
+
}
|
|
61
|
+
/** The unbiased binary exponent of a positive finite x, subnormals included. */
|
|
62
|
+
function exponentOf(x) {
|
|
63
|
+
const v = view();
|
|
64
|
+
v.setFloat64(0, x);
|
|
65
|
+
const biased = (v.getUint32(0) >>> 20) & 0x7ff;
|
|
66
|
+
if (biased === 0)
|
|
67
|
+
return exponentOf(x * TWO_54) - 54;
|
|
68
|
+
return biased - 1023;
|
|
69
|
+
}
|
|
70
|
+
/** 2^k exactly, for an integer k from -1022 to 1023. */
|
|
71
|
+
function powerOfTwo(k) {
|
|
72
|
+
const v = view();
|
|
73
|
+
v.setUint32(0, (k + 1023) << 20);
|
|
74
|
+
v.setUint32(4, 0);
|
|
75
|
+
return v.getFloat64(0);
|
|
76
|
+
}
|
|
77
|
+
/** x * 2^k, in steps the exponent range allows, so only the last step can round. */
|
|
78
|
+
function scale(x, k) {
|
|
79
|
+
let value = x;
|
|
80
|
+
let rest = k;
|
|
81
|
+
while (rest > 1000) {
|
|
82
|
+
value *= powerOfTwo(1000);
|
|
83
|
+
rest -= 1000;
|
|
84
|
+
}
|
|
85
|
+
while (rest < -1000) {
|
|
86
|
+
value *= powerOfTwo(-1000);
|
|
87
|
+
rest += 1000;
|
|
88
|
+
}
|
|
89
|
+
return value * powerOfTwo(rest);
|
|
90
|
+
}
|
|
91
|
+
let sumError = 0;
|
|
92
|
+
/** a + b, leaving the exact rounding error in `sumError` (Knuth's TwoSum). */
|
|
93
|
+
function twoSum(a, b) {
|
|
94
|
+
const s = a + b;
|
|
95
|
+
const bb = s - a;
|
|
96
|
+
sumError = a - (s - bb) + (b - bb);
|
|
97
|
+
return s;
|
|
98
|
+
}
|
|
99
|
+
/** The exact error of the product p = a * b, for |a|, |b| below 2^996 (Dekker). */
|
|
100
|
+
function productError(a, b, p) {
|
|
101
|
+
let c = SPLITTER * a;
|
|
102
|
+
const ah = c - (c - a);
|
|
103
|
+
const al = a - ah;
|
|
104
|
+
c = SPLITTER * b;
|
|
105
|
+
const bh = c - (c - b);
|
|
106
|
+
const bl = b - bh;
|
|
107
|
+
return ah * bh - p + ah * bl + al * bh + al * bl;
|
|
108
|
+
}
|
|
109
|
+
/* sin and cos. */
|
|
110
|
+
/* Taylor coefficients of sin: (-1)^k / (2k + 1)!. */
|
|
111
|
+
const S1 = -1 / 6;
|
|
112
|
+
const S2 = 1 / 120;
|
|
113
|
+
const S3 = -1 / 5040;
|
|
114
|
+
const S4 = 1 / 362880;
|
|
115
|
+
const S5 = -1 / 39916800;
|
|
116
|
+
const S6 = 1 / 6227020800;
|
|
117
|
+
const S7 = -1 / 1307674368000;
|
|
118
|
+
const S8 = 1 / 355687428096000;
|
|
119
|
+
/* Taylor coefficients of cos from x^4: (-1)^k / (2k)!. */
|
|
120
|
+
const C1 = 1 / 24;
|
|
121
|
+
const C2 = -1 / 720;
|
|
122
|
+
const C3 = 1 / 40320;
|
|
123
|
+
const C4 = -1 / 3628800;
|
|
124
|
+
const C5 = 1 / 479001600;
|
|
125
|
+
const C6 = -1 / 87178291200;
|
|
126
|
+
const C7 = 1 / 20922789888000;
|
|
127
|
+
const C8 = -1 / 6402373705728000;
|
|
128
|
+
/**
|
|
129
|
+
* sin(x + y) for |x| <= pi/4 and y a tail below an ulp of x. The series runs
|
|
130
|
+
* to x^17, whose successor is below 1e-19 of the result.
|
|
131
|
+
*/
|
|
132
|
+
function kernelSin(x, y) {
|
|
133
|
+
const z = x * x;
|
|
134
|
+
const v = z * x;
|
|
135
|
+
const r = S2 + z * (S3 + z * (S4 + z * (S5 + z * (S6 + z * (S7 + z * S8)))));
|
|
136
|
+
return x - (z * (0.5 * y - v * r) - y - v * S1);
|
|
137
|
+
}
|
|
138
|
+
/** cos(x + y), same conditions. 1 - x^2/2 is formed with its rounding error recovered. */
|
|
139
|
+
function kernelCos(x, y) {
|
|
140
|
+
const z = x * x;
|
|
141
|
+
const r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * (C6 + z * (C7 + z * C8)))))));
|
|
142
|
+
const hz = 0.5 * z;
|
|
143
|
+
const w = 1 - hz;
|
|
144
|
+
return w + (1 - w - hz + (z * r - x * y));
|
|
145
|
+
}
|
|
146
|
+
let reducedHi = 0;
|
|
147
|
+
let reducedLo = 0;
|
|
148
|
+
/**
|
|
149
|
+
* x - n pi/2 for the nearest integer n, as reducedHi + reducedLo, returning n.
|
|
150
|
+
*
|
|
151
|
+
* Each piece of pi/2 has 33 bits and n fewer than 21, so every product is
|
|
152
|
+
* exact, and the subtractions are TwoSums, so the reduced argument carries
|
|
153
|
+
* about 150 bits of pi/2: enough for the closest any double in range comes to
|
|
154
|
+
* a multiple of pi/2.
|
|
155
|
+
*/
|
|
156
|
+
function reduceMedium(x) {
|
|
157
|
+
const n = Math.round(x * INV_PIO2);
|
|
158
|
+
const r1 = x - n * PIO2_1;
|
|
159
|
+
const r2 = twoSum(r1, -(n * PIO2_2));
|
|
160
|
+
let tail = sumError;
|
|
161
|
+
const r3 = twoSum(r2, -(n * PIO2_3));
|
|
162
|
+
tail += sumError - n * PIO2_3T;
|
|
163
|
+
reducedHi = r3 + tail;
|
|
164
|
+
reducedLo = tail - (reducedHi - r3);
|
|
165
|
+
return n;
|
|
166
|
+
}
|
|
167
|
+
/** Fraction bits of 2/pi and of pi/2 for the exact reduction. */
|
|
168
|
+
const TWO_OVER_PI_BITS = 1216;
|
|
169
|
+
const PIO2_BITS = 128;
|
|
170
|
+
let exact;
|
|
171
|
+
/**
|
|
172
|
+
* floor(2/pi * 2^1216) and floor(pi/2 * 2^128), from Machin's formula in
|
|
173
|
+
* BigInt, on first use. Integer arithmetic throughout, so the constants are
|
|
174
|
+
* the same everywhere and nothing has to be copied from a table.
|
|
175
|
+
*/
|
|
176
|
+
function exactConstants() {
|
|
177
|
+
if (exact)
|
|
178
|
+
return exact;
|
|
179
|
+
const working = TWO_OVER_PI_BITS + PIO2_BITS + 64;
|
|
180
|
+
const one = 1n << BigInt(working);
|
|
181
|
+
const arctanInverse = (n) => {
|
|
182
|
+
const n2 = n * n;
|
|
183
|
+
let term = one / n;
|
|
184
|
+
let sum = term;
|
|
185
|
+
for (let k = 1n; term !== 0n; k += 1n) {
|
|
186
|
+
term /= n2;
|
|
187
|
+
sum += (k & 1n ? -term : term) / (2n * k + 1n);
|
|
188
|
+
}
|
|
189
|
+
return sum;
|
|
190
|
+
};
|
|
191
|
+
// pi = 16 atan(1/5) - 4 atan(1/239), scaled by 2^working.
|
|
192
|
+
const pi = 16n * arctanInverse(5n) - 4n * arctanInverse(239n);
|
|
193
|
+
exact = {
|
|
194
|
+
twoOverPi: (1n << BigInt(working + TWO_OVER_PI_BITS + 1)) / pi,
|
|
195
|
+
pio2: pi >> BigInt(working - PIO2_BITS + 1),
|
|
196
|
+
};
|
|
197
|
+
return exact;
|
|
198
|
+
}
|
|
199
|
+
function bitLength(value) {
|
|
200
|
+
const hex = value.toString(16);
|
|
201
|
+
return (hex.length - 1) * 4 + (32 - Math.clz32(parseInt(hex[0], 16)));
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* The same reduction for |x| >= 1.6e6, done exactly: x is an integer times a
|
|
205
|
+
* power of two, so x * 2/pi mod 4 is a product of integers, and only the
|
|
206
|
+
* final reduced argument is rounded.
|
|
207
|
+
*/
|
|
208
|
+
function reduceLarge(x) {
|
|
209
|
+
const { twoOverPi, pio2 } = exactConstants();
|
|
210
|
+
const ax = Math.abs(x);
|
|
211
|
+
const e = exponentOf(ax) - 52;
|
|
212
|
+
const mantissa = BigInt(scale(ax, -e));
|
|
213
|
+
// x * 2/pi * 2^shift, and its value mod 4.
|
|
214
|
+
const shift = TWO_OVER_PI_BITS - e;
|
|
215
|
+
const big = BigInt(shift);
|
|
216
|
+
const wrapped = (mantissa * twoOverPi) & ((1n << (big + 2n)) - 1n);
|
|
217
|
+
const nearest = (wrapped + (1n << (big - 1n))) >> big;
|
|
218
|
+
const fraction = wrapped - (nearest << big);
|
|
219
|
+
// fraction / 2^shift * pi/2, kept to 110 bits as a double-double.
|
|
220
|
+
const product = fraction * pio2;
|
|
221
|
+
const magnitude = product < 0n ? -product : product;
|
|
222
|
+
const drop = Math.max(0, bitLength(magnitude) - 110);
|
|
223
|
+
const top = magnitude >> BigInt(drop);
|
|
224
|
+
const hi = Number(top);
|
|
225
|
+
const lo = Number(top - BigInt(hi));
|
|
226
|
+
const exponent = drop - shift - PIO2_BITS;
|
|
227
|
+
const sign = product < 0n !== x < 0 ? -1 : 1;
|
|
228
|
+
const yHi = sign * scale(hi, exponent);
|
|
229
|
+
const yLo = sign * scale(lo, exponent);
|
|
230
|
+
reducedHi = yHi + yLo;
|
|
231
|
+
reducedLo = yLo - (reducedHi - yHi);
|
|
232
|
+
const n = Number(nearest & 3n);
|
|
233
|
+
return x < 0 ? (4 - n) & 3 : n;
|
|
234
|
+
}
|
|
235
|
+
function reduce(x) {
|
|
236
|
+
return Math.abs(x) < MEDIUM_LIMIT ? reduceMedium(x) & 3 : reduceLarge(x);
|
|
237
|
+
}
|
|
238
|
+
export function sin(x) {
|
|
239
|
+
const ax = Math.abs(x);
|
|
240
|
+
if (!(ax < Infinity))
|
|
241
|
+
return Number.NaN;
|
|
242
|
+
if (ax < TWO_M27)
|
|
243
|
+
return x;
|
|
244
|
+
if (ax <= PIO4)
|
|
245
|
+
return kernelSin(x, 0);
|
|
246
|
+
switch (reduce(x)) {
|
|
247
|
+
case 0:
|
|
248
|
+
return kernelSin(reducedHi, reducedLo);
|
|
249
|
+
case 1:
|
|
250
|
+
return kernelCos(reducedHi, reducedLo);
|
|
251
|
+
case 2:
|
|
252
|
+
return -kernelSin(reducedHi, reducedLo);
|
|
253
|
+
default:
|
|
254
|
+
return -kernelCos(reducedHi, reducedLo);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
export function cos(x) {
|
|
258
|
+
const ax = Math.abs(x);
|
|
259
|
+
if (!(ax < Infinity))
|
|
260
|
+
return Number.NaN;
|
|
261
|
+
if (ax < TWO_M27)
|
|
262
|
+
return 1;
|
|
263
|
+
if (ax <= PIO4)
|
|
264
|
+
return kernelCos(x, 0);
|
|
265
|
+
switch (reduce(x)) {
|
|
266
|
+
case 0:
|
|
267
|
+
return kernelCos(reducedHi, reducedLo);
|
|
268
|
+
case 1:
|
|
269
|
+
return -kernelSin(reducedHi, reducedLo);
|
|
270
|
+
case 2:
|
|
271
|
+
return -kernelCos(reducedHi, reducedLo);
|
|
272
|
+
default:
|
|
273
|
+
return kernelSin(reducedHi, reducedLo);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
/* atan2. */
|
|
277
|
+
/** atan(i/8) for i = 0..8, as the nearest double and the rest. */
|
|
278
|
+
const ATAN_HI = [
|
|
279
|
+
0, 0.12435499454676144, 0.24497866312686414, 0.35877067027057225, 0.4636476090008061,
|
|
280
|
+
0.5585993153435624, 0.6435011087932844, 0.7188299996216245, 0.7853981633974483,
|
|
281
|
+
];
|
|
282
|
+
const ATAN_LO = [
|
|
283
|
+
0, -3.1253241424539383e-18, 1.0698755618734451e-17, -2.4623815582638635e-17,
|
|
284
|
+
2.2698777452961687e-17, -5.4556305485916264e-18, 1.5834785051444286e-17, -2.1478388444456983e-17,
|
|
285
|
+
3.061616997868383e-17,
|
|
286
|
+
];
|
|
287
|
+
/** atan(u) - u for |u| <= 1/16, by its series to u^21: the next term is below 1e-28 of u. */
|
|
288
|
+
function atanTail(u) {
|
|
289
|
+
const z = u * u;
|
|
290
|
+
let p = 1 / 21;
|
|
291
|
+
p = -1 / 19 + z * p;
|
|
292
|
+
p = 1 / 17 + z * p;
|
|
293
|
+
p = -1 / 15 + z * p;
|
|
294
|
+
p = 1 / 13 + z * p;
|
|
295
|
+
p = -1 / 11 + z * p;
|
|
296
|
+
p = 1 / 9 + z * p;
|
|
297
|
+
p = -1 / 7 + z * p;
|
|
298
|
+
p = 1 / 5 + z * p;
|
|
299
|
+
p = -1 / 3 + z * p;
|
|
300
|
+
return u * z * p;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* atan(t) for t in [0, 1]: t is moved to the nearest c = i/8, and
|
|
304
|
+
* atan(t) = atan(c) + atan((t - c) / (1 + t c)), where t - c is exact and the
|
|
305
|
+
* quotient is at most 1/16.
|
|
306
|
+
*/
|
|
307
|
+
function atanUnit(t) {
|
|
308
|
+
const i = Math.round(t * 8);
|
|
309
|
+
if (i === 0)
|
|
310
|
+
return t + atanTail(t);
|
|
311
|
+
const c = i / 8;
|
|
312
|
+
const u = (t - c) / (1 + t * c);
|
|
313
|
+
return ATAN_HI[i] + (ATAN_LO[i] + (u + atanTail(u)));
|
|
314
|
+
}
|
|
315
|
+
/** atan(y / x) in the right quadrant, matching Math.atan2 on every special value, signed zeros included. */
|
|
316
|
+
export function atan2(y, x) {
|
|
317
|
+
if (y !== y || x !== x)
|
|
318
|
+
return Number.NaN;
|
|
319
|
+
const ax = Math.abs(x);
|
|
320
|
+
const ay = Math.abs(y);
|
|
321
|
+
const negative = y < 0 || Object.is(y, -0);
|
|
322
|
+
let angle;
|
|
323
|
+
if (ay === 0) {
|
|
324
|
+
// On the x axis: +0 or pi, with the sign of y.
|
|
325
|
+
angle = x > 0 || Object.is(x, 0) ? 0 : PI;
|
|
326
|
+
}
|
|
327
|
+
else if (ax === 0) {
|
|
328
|
+
angle = PIO2_HI;
|
|
329
|
+
}
|
|
330
|
+
else if (ax === Infinity) {
|
|
331
|
+
angle = ay === Infinity ? (x > 0 ? PIO4 : 3 * PIO4) : x > 0 ? 0 : PI;
|
|
332
|
+
}
|
|
333
|
+
else if (ay === Infinity) {
|
|
334
|
+
angle = PIO2_HI;
|
|
335
|
+
}
|
|
336
|
+
else if (ay <= ax) {
|
|
337
|
+
// Divide the smaller by the larger, so the quotient is in [0, 1], and
|
|
338
|
+
// finish each quadrant in one rounding: pi - a, pi/2 - a and pi/2 + a all
|
|
339
|
+
// take a's own value with the tail of the constant, rather than
|
|
340
|
+
// reflecting an angle that has already been rounded.
|
|
341
|
+
const a = atanUnit(ay / ax);
|
|
342
|
+
angle = x > 0 ? a : PI - (a - PI_LO);
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
const a = atanUnit(ax / ay);
|
|
346
|
+
angle = x > 0 ? PIO2_HI - (a - PIO2_LO) : PIO2_HI + (a + PIO2_LO);
|
|
347
|
+
}
|
|
348
|
+
return negative ? -angle : angle;
|
|
349
|
+
}
|
|
350
|
+
/* hypot. */
|
|
351
|
+
const BIG = 2.5822498780869086e120; // 2^400
|
|
352
|
+
const SMALL = 3.8725919148493183e-121; // 2^-400
|
|
353
|
+
const DOWN = 2.409919865102884e-181; // 2^-600
|
|
354
|
+
const UP = 4.149515568880993e180; // 2^600
|
|
355
|
+
/**
|
|
356
|
+
* sqrt(a^2 + b^2) for a >= b with a in [2^-474, 2^424], where both squares and
|
|
357
|
+
* their rounding errors are normal numbers. The sum of squares is formed
|
|
358
|
+
* exactly as a pair, and one Newton step on the square root folds the low
|
|
359
|
+
* part in, so the result is almost always the correctly rounded one (the
|
|
360
|
+
* plain formula, and V8's Math.hypot, are off by an ulp about a sixth and a
|
|
361
|
+
* third of the time respectively).
|
|
362
|
+
*/
|
|
363
|
+
function hypotKernel(a, b) {
|
|
364
|
+
const aa = a * a;
|
|
365
|
+
const bb = b * b;
|
|
366
|
+
const high = twoSum(aa, bb);
|
|
367
|
+
const low = sumError + productError(a, a, aa) + productError(b, b, bb);
|
|
368
|
+
const root = Math.sqrt(high);
|
|
369
|
+
const square = root * root;
|
|
370
|
+
// high - square is exact: the two are within an ulp of each other.
|
|
371
|
+
return root + (high - square - productError(root, root, square) + low) / (2 * root);
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* sqrt(x^2 + y^2) without overflow or underflow on the way: both are scaled
|
|
375
|
+
* by a power of two (exactly) when the larger is far from 1. Matches
|
|
376
|
+
* Math.hypot on special values: Infinity wins over NaN.
|
|
377
|
+
*/
|
|
378
|
+
export function hypot(x, y) {
|
|
379
|
+
let a = Math.abs(x);
|
|
380
|
+
let b = Math.abs(y);
|
|
381
|
+
if (a === Infinity || b === Infinity)
|
|
382
|
+
return Infinity;
|
|
383
|
+
if (a !== a || b !== b)
|
|
384
|
+
return Number.NaN;
|
|
385
|
+
if (a < b) {
|
|
386
|
+
const swap = a;
|
|
387
|
+
a = b;
|
|
388
|
+
b = swap;
|
|
389
|
+
}
|
|
390
|
+
if (b === 0)
|
|
391
|
+
return a;
|
|
392
|
+
if (a > BIG)
|
|
393
|
+
return hypotKernel(a * DOWN, b * DOWN) * UP;
|
|
394
|
+
if (a < SMALL)
|
|
395
|
+
return hypotKernel(a * UP, b * UP) * DOWN;
|
|
396
|
+
return hypotKernel(a, b);
|
|
397
|
+
}
|
|
398
|
+
/* exp, ln and pow. */
|
|
399
|
+
/* 1 / k! for k = 2..15. */
|
|
400
|
+
const E2 = 1 / 2;
|
|
401
|
+
const E3 = 1 / 6;
|
|
402
|
+
const E4 = 1 / 24;
|
|
403
|
+
const E5 = 1 / 120;
|
|
404
|
+
const E6 = 1 / 720;
|
|
405
|
+
const E7 = 1 / 5040;
|
|
406
|
+
const E8 = 1 / 40320;
|
|
407
|
+
const E9 = 1 / 362880;
|
|
408
|
+
const E10 = 1 / 3628800;
|
|
409
|
+
const E11 = 1 / 39916800;
|
|
410
|
+
const E12 = 1 / 479001600;
|
|
411
|
+
const E13 = 1 / 6227020800;
|
|
412
|
+
const E14 = 1 / 87178291200;
|
|
413
|
+
const E15 = 1 / 1307674368000;
|
|
414
|
+
/**
|
|
415
|
+
* e^(x + tail), x already checked to be in range.
|
|
416
|
+
*
|
|
417
|
+
* x = k ln 2 + r with |r| <= ln 2 / 2, r carried with its rounding error, then
|
|
418
|
+
* e^r by its series to r^15 (the next term is below 3e-21) and a scaling by
|
|
419
|
+
* 2^k, which is exact unless the result is subnormal.
|
|
420
|
+
*/
|
|
421
|
+
function expKernel(x, tail) {
|
|
422
|
+
const k = Math.round(x * INV_LN2);
|
|
423
|
+
const hi = x - k * LN2_HI;
|
|
424
|
+
const r = twoSum(hi, tail - k * LN2_LO);
|
|
425
|
+
const c = sumError;
|
|
426
|
+
let p = E15;
|
|
427
|
+
p = E14 + r * p;
|
|
428
|
+
p = E13 + r * p;
|
|
429
|
+
p = E12 + r * p;
|
|
430
|
+
p = E11 + r * p;
|
|
431
|
+
p = E10 + r * p;
|
|
432
|
+
p = E9 + r * p;
|
|
433
|
+
p = E8 + r * p;
|
|
434
|
+
p = E7 + r * p;
|
|
435
|
+
p = E6 + r * p;
|
|
436
|
+
p = E5 + r * p;
|
|
437
|
+
p = E4 + r * p;
|
|
438
|
+
p = E3 + r * p;
|
|
439
|
+
p = E2 + r * p;
|
|
440
|
+
const series = r * r * p;
|
|
441
|
+
const em1 = r + series;
|
|
442
|
+
return scale(1 + (em1 + c * (1 + em1)), k);
|
|
443
|
+
}
|
|
444
|
+
export function exp(x) {
|
|
445
|
+
if (x !== x)
|
|
446
|
+
return Number.NaN;
|
|
447
|
+
if (x > EXP_MAX)
|
|
448
|
+
return Infinity;
|
|
449
|
+
if (x < EXP_MIN)
|
|
450
|
+
return 0;
|
|
451
|
+
return expKernel(x, 0);
|
|
452
|
+
}
|
|
453
|
+
/* 2 / (2j + 1) for j = 1..12: the series of log((1 + s) / (1 - s)) / s - 2 in s^2. */
|
|
454
|
+
const L1 = 2 / 3;
|
|
455
|
+
const L2 = 2 / 5;
|
|
456
|
+
const L3 = 2 / 7;
|
|
457
|
+
const L4 = 2 / 9;
|
|
458
|
+
const L5 = 2 / 11;
|
|
459
|
+
const L6 = 2 / 13;
|
|
460
|
+
const L7 = 2 / 15;
|
|
461
|
+
const L8 = 2 / 17;
|
|
462
|
+
const L9 = 2 / 19;
|
|
463
|
+
const L10 = 2 / 21;
|
|
464
|
+
const L11 = 2 / 23;
|
|
465
|
+
const L12 = 2 / 25;
|
|
466
|
+
let lnLo = 0;
|
|
467
|
+
/**
|
|
468
|
+
* ln(x) for positive finite x, as a double, with a second-order tail left in
|
|
469
|
+
* `lnLo` for pow.
|
|
470
|
+
*
|
|
471
|
+
* x = 2^k m with m in [sqrt(1/2), sqrt(2)), f = m - 1 (exact), and
|
|
472
|
+
* ln(1 + f) = f - f^2/2 + s (f^2/2 + R) with s = f / (2 + f), as fdlibm
|
|
473
|
+
* arranges it so the large terms are exact and only small ones round. R is
|
|
474
|
+
* the series in s^2 to s^24, past which the terms are below 1e-21.
|
|
475
|
+
*/
|
|
476
|
+
function lnKernel(x) {
|
|
477
|
+
let k = exponentOf(x);
|
|
478
|
+
let m = scale(x, -k);
|
|
479
|
+
if (m > SQRT2) {
|
|
480
|
+
m *= 0.5;
|
|
481
|
+
k += 1;
|
|
482
|
+
}
|
|
483
|
+
const f = m - 1;
|
|
484
|
+
const s = f / (2 + f);
|
|
485
|
+
const z = s * s;
|
|
486
|
+
let R = L12;
|
|
487
|
+
R = L11 + z * R;
|
|
488
|
+
R = L10 + z * R;
|
|
489
|
+
R = L9 + z * R;
|
|
490
|
+
R = L8 + z * R;
|
|
491
|
+
R = L7 + z * R;
|
|
492
|
+
R = L6 + z * R;
|
|
493
|
+
R = L5 + z * R;
|
|
494
|
+
R = L4 + z * R;
|
|
495
|
+
R = L3 + z * R;
|
|
496
|
+
R = L2 + z * R;
|
|
497
|
+
R = L1 + z * R;
|
|
498
|
+
R *= z;
|
|
499
|
+
// f^2 / 2 exactly, as a pair, so the one term of order f^2 does not round.
|
|
500
|
+
const square = f * f;
|
|
501
|
+
const hfsq = 0.5 * square;
|
|
502
|
+
const hfsqLo = 0.5 * productError(f, f, square);
|
|
503
|
+
const small = s * (hfsq + R) + k * LN2_LO - hfsqLo;
|
|
504
|
+
// k ln2_hi + f - hfsq + small, summed so the rounding errors are kept.
|
|
505
|
+
const a = twoSum(k * LN2_HI, f);
|
|
506
|
+
let tail = sumError;
|
|
507
|
+
const b = twoSum(a, -hfsq);
|
|
508
|
+
tail += sumError;
|
|
509
|
+
const c = twoSum(b, small);
|
|
510
|
+
tail += sumError;
|
|
511
|
+
const result = c + tail;
|
|
512
|
+
lnLo = tail - (result - c);
|
|
513
|
+
return result;
|
|
514
|
+
}
|
|
515
|
+
export function ln(x) {
|
|
516
|
+
if (x !== x || x < 0)
|
|
517
|
+
return Number.NaN;
|
|
518
|
+
if (x === 0)
|
|
519
|
+
return -Infinity;
|
|
520
|
+
if (x === Infinity)
|
|
521
|
+
return Infinity;
|
|
522
|
+
return lnKernel(x);
|
|
523
|
+
}
|
|
524
|
+
/**
|
|
525
|
+
* b^n exactly, when every step of binary exponentiation is exact and stays
|
|
526
|
+
* where Dekker's product check is valid; otherwise undefined. So pow(10, 3) is
|
|
527
|
+
* 1000 and pow(2, -10) is 1/1024, rather than the nearest thing exp and ln
|
|
528
|
+
* can reach.
|
|
529
|
+
*/
|
|
530
|
+
function exactPower(base, exponent) {
|
|
531
|
+
// 2^-969 and 2^996: Dekker's split overflows above the one, and below the
|
|
532
|
+
// other the error term of a product can underflow and look exact.
|
|
533
|
+
const inRange = (v) => v >= 2.004168360008973e-292 && v < 6.696928794914171e299;
|
|
534
|
+
let result = 1;
|
|
535
|
+
let square = base;
|
|
536
|
+
for (let n = Math.abs(exponent);;) {
|
|
537
|
+
if (n & 1) {
|
|
538
|
+
const product = result * square;
|
|
539
|
+
if (!inRange(product) || productError(result, square, product) !== 0)
|
|
540
|
+
return undefined;
|
|
541
|
+
result = product;
|
|
542
|
+
}
|
|
543
|
+
n >>>= 1;
|
|
544
|
+
if (n === 0)
|
|
545
|
+
break;
|
|
546
|
+
const next = square * square;
|
|
547
|
+
if (!inRange(next) || productError(square, square, next) !== 0)
|
|
548
|
+
return undefined;
|
|
549
|
+
square = next;
|
|
550
|
+
}
|
|
551
|
+
if (exponent > 0)
|
|
552
|
+
return result;
|
|
553
|
+
const inverse = 1 / result;
|
|
554
|
+
return inRange(inverse) && inverse * result === 1 && productError(inverse, result, 1) === 0
|
|
555
|
+
? inverse
|
|
556
|
+
: undefined;
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* base^exponent for base >= 0.
|
|
560
|
+
*
|
|
561
|
+
* A negative base throws RangeError: every use in this package raises a length
|
|
562
|
+
* or a ratio, a negative one is a bug, and a NaN would travel silently into an
|
|
563
|
+
* export. A zero base, of either sign, is treated as +0. Everything else
|
|
564
|
+
* matches Math.pow, including pow(1, Infinity) being NaN and pow(NaN, 0) being
|
|
565
|
+
* 1. Integer exponents up to 64 in size give exact results whenever the exact
|
|
566
|
+
* result is a double; otherwise the result is exp(exponent ln base) carried in
|
|
567
|
+
* double-double, which keeps it within about 1e-14 relative even at the edges
|
|
568
|
+
* of the range.
|
|
569
|
+
*/
|
|
570
|
+
export function pow(base, exponent) {
|
|
571
|
+
if (exponent === 0)
|
|
572
|
+
return 1;
|
|
573
|
+
if (base !== base || exponent !== exponent)
|
|
574
|
+
return Number.NaN;
|
|
575
|
+
if (base < 0)
|
|
576
|
+
throw new RangeError('pow takes a base of zero or more');
|
|
577
|
+
if (base === 0)
|
|
578
|
+
return exponent > 0 ? 0 : Infinity;
|
|
579
|
+
if (exponent === Infinity)
|
|
580
|
+
return base > 1 ? Infinity : base < 1 ? 0 : Number.NaN;
|
|
581
|
+
if (exponent === -Infinity)
|
|
582
|
+
return base > 1 ? 0 : base < 1 ? Infinity : Number.NaN;
|
|
583
|
+
if (base === Infinity)
|
|
584
|
+
return exponent > 0 ? Infinity : 0;
|
|
585
|
+
if (base === 1 || exponent === 1)
|
|
586
|
+
return base;
|
|
587
|
+
if (exponent === 0.5)
|
|
588
|
+
return Math.sqrt(base);
|
|
589
|
+
if (Number.isInteger(exponent) && Math.abs(exponent) <= 64) {
|
|
590
|
+
const found = exactPower(base, exponent);
|
|
591
|
+
if (found !== undefined)
|
|
592
|
+
return found;
|
|
593
|
+
}
|
|
594
|
+
const hi = lnKernel(base);
|
|
595
|
+
const lo = lnLo;
|
|
596
|
+
const product = exponent * hi;
|
|
597
|
+
if (product > EXP_MAX + 1)
|
|
598
|
+
return Infinity;
|
|
599
|
+
if (product < EXP_MIN - 1)
|
|
600
|
+
return 0;
|
|
601
|
+
const tail = productError(exponent, hi, product) + exponent * lo;
|
|
602
|
+
const total = product + tail;
|
|
603
|
+
if (total > EXP_MAX)
|
|
604
|
+
return Infinity;
|
|
605
|
+
if (total < EXP_MIN)
|
|
606
|
+
return 0;
|
|
607
|
+
return expKernel(product, tail);
|
|
608
|
+
}
|
|
609
|
+
//# sourceMappingURL=math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/core/math.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Seeded randomness, for everything in the determinism zone that needs it:
|
|
3
|
+
* the scan check's simulated damage, dithering, a random-looking design that
|
|
4
|
+
* must look the same tomorrow.
|
|
5
|
+
*
|
|
6
|
+
* xoshiro128** 1.1 (Blackman and Vigna), seeded by splitmix32. Both are
|
|
7
|
+
* integer arithmetic over 32 bits with `Math.imul` and shifts, which
|
|
8
|
+
* ECMAScript fixes exactly, so a seed gives the same stream in every engine.
|
|
9
|
+
* `Math.random` is banned here for the opposite reason: it is unseeded and
|
|
10
|
+
* differs everywhere, and a verdict that depends on it cannot be reproduced.
|
|
11
|
+
*
|
|
12
|
+
* `fork` gives an independent stream per label, derived from the stream's
|
|
13
|
+
* starting state rather than its current position. So a job can hand
|
|
14
|
+
* `fork(1)` to one stage and `fork(2)` to another, and adding a draw to one
|
|
15
|
+
* stage never shifts the numbers the other sees.
|
|
16
|
+
*/
|
|
17
|
+
export interface Prng {
|
|
18
|
+
/** A number in [0, 1) with 32 bits of randomness. */
|
|
19
|
+
next(): number;
|
|
20
|
+
/** An integer in [0, maxExclusive), unbiased. maxExclusive is 1 to 2^32. */
|
|
21
|
+
int(maxExclusive: number): number;
|
|
22
|
+
/** An independent stream for `label` (0 to 2^32 - 1), the same however much of this one is used. */
|
|
23
|
+
fork(label: number): Prng;
|
|
24
|
+
}
|
|
25
|
+
/** A stream seeded by `seed`, an integer from 0 to 2^32 - 1. */
|
|
26
|
+
export declare function createPrng(seed: number): Prng;
|
|
27
|
+
//# sourceMappingURL=prng.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prng.d.ts","sourceRoot":"","sources":["../../src/core/prng.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,IAAI;IACpB,qDAAqD;IACrD,IAAI,IAAI,MAAM,CAAC;IACf,4EAA4E;IAC5E,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,oGAAoG;IACpG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAoGD,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG7C"}
|