universal-physics-tensor 7.0.0 → 9.0.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/README.md +11 -9
- package/data/atlas/atlas.json +3044 -0
- package/data/atlas/atlas.jsonld +1819 -0
- package/data/atlas/diffusion.json +1084 -0
- package/data/atlas/oscillators.json +1041 -0
- package/data/atlas/qudt-resolution.json +60 -0
- package/data/atlas/waves.json +916 -0
- package/data/atlas/witness-results.json +249 -0
- package/data/bridge-catalog.json +15425 -0
- package/data/bridge-catalog.schema.json +642 -0
- package/data/confrontation-sources.md +137 -0
- package/data/quantities.json +9755 -0
- package/data/quantities.schema.json +52 -0
- package/data/schemas/atlas-record.v0.json +236 -0
- package/data/schemas/discovery-run.v0.json +203 -0
- package/data/units.json +1149 -0
- package/data/units.schema.json +124 -0
- package/dist/atlas/association.d.ts +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +2 -5
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
- package/dist/atlas/catalog-formal-ref.d.ts +6 -12
- package/dist/atlas/catalog-formal-ref.d.ts.map +1 -1
- package/dist/atlas/catalog-formal-ref.js +15 -25
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/physjs-entries.generated.d.ts +1769 -196
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +2046 -321
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +89 -89
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +128 -269
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/atlas/proof-target.d.ts +16 -8
- package/dist/atlas/proof-target.d.ts.map +1 -1
- package/dist/atlas/proof-target.js +34 -31
- package/dist/atlas/proof-target.js.map +1 -1
- package/dist/bridges/caller-table.d.ts +56 -0
- package/dist/bridges/caller-table.d.ts.map +1 -0
- package/dist/bridges/{be53-yang-mills-confrontation.js → caller-table.js} +13 -15
- package/dist/bridges/caller-table.js.map +1 -0
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js +5 -5
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +41 -0
- package/dist/bridges/catalog-load.d.ts.map +1 -0
- package/dist/bridges/catalog-load.js +145 -0
- package/dist/bridges/catalog-load.js.map +1 -0
- package/dist/bridges/catalog-types.d.ts +164 -0
- package/dist/bridges/catalog-types.d.ts.map +1 -0
- package/dist/bridges/catalog-types.js +8 -0
- package/dist/bridges/catalog-types.js.map +1 -0
- package/dist/bridges/coefficient-statement.d.ts +27 -0
- package/dist/bridges/coefficient-statement.d.ts.map +1 -0
- package/dist/bridges/coefficient-statement.js +33 -0
- package/dist/bridges/coefficient-statement.js.map +1 -0
- package/dist/bridges/confrontations.d.ts +8 -25
- package/dist/bridges/confrontations.d.ts.map +1 -1
- package/dist/bridges/confrontations.js +26 -714
- package/dist/bridges/confrontations.js.map +1 -1
- package/dist/bridges/evaluation-errors.d.ts +76 -0
- package/dist/bridges/evaluation-errors.d.ts.map +1 -0
- package/dist/bridges/evaluation-errors.js +118 -0
- package/dist/bridges/evaluation-errors.js.map +1 -0
- package/dist/bridges/evaluator-inputs.d.ts +5 -3
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +24 -14
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +40 -28
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +183 -413
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +27 -0
- package/dist/bridges/expr-parse.d.ts.map +1 -0
- package/dist/bridges/expr-parse.js +162 -0
- package/dist/bridges/expr-parse.js.map +1 -0
- package/dist/bridges/holds.d.ts +26 -0
- package/dist/bridges/holds.d.ts.map +1 -0
- package/dist/bridges/holds.js +145 -0
- package/dist/bridges/holds.js.map +1 -0
- package/dist/bridges/index.d.ts +18 -354
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +17 -3312
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/input-contract.d.ts +65 -0
- package/dist/bridges/input-contract.d.ts.map +1 -0
- package/dist/bridges/input-contract.js +97 -0
- package/dist/bridges/input-contract.js.map +1 -0
- package/dist/bridges/notices.d.ts +11 -0
- package/dist/bridges/notices.d.ts.map +1 -0
- package/dist/bridges/notices.js +22 -0
- package/dist/bridges/notices.js.map +1 -0
- package/dist/bridges/relation-eval.d.ts +23 -0
- package/dist/bridges/relation-eval.d.ts.map +1 -0
- package/dist/bridges/relation-eval.js +136 -0
- package/dist/bridges/relation-eval.js.map +1 -0
- package/dist/bridges/rhs-registry.d.ts +7 -21
- package/dist/bridges/rhs-registry.d.ts.map +1 -1
- package/dist/bridges/rhs-registry.js +13 -123
- package/dist/bridges/rhs-registry.js.map +1 -1
- package/dist/bridges/sensitivity.d.ts +11 -3
- package/dist/bridges/sensitivity.d.ts.map +1 -1
- package/dist/bridges/sensitivity.js +20 -36
- package/dist/bridges/sensitivity.js.map +1 -1
- package/dist/bridges/types.d.ts +52 -0
- package/dist/bridges/types.d.ts.map +1 -0
- package/dist/bridges/types.js +10 -0
- package/dist/bridges/types.js.map +1 -0
- package/dist/canonical/canonical-equation.d.ts +31 -0
- package/dist/canonical/canonical-equation.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +12 -2
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +4 -1
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +48 -0
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +31 -1
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
- package/dist/canonical/entries/fluids-waves.js +35 -1
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- package/dist/canonical/entries/mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/mechanics.js +25 -1
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +16 -5
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.d.ts.map +1 -1
- package/dist/canonical/entries/relativity.js +7 -1
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +20 -1
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +17 -2
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +9 -4
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/cases/index.d.ts +9 -2
- package/dist/cases/index.d.ts.map +1 -1
- package/dist/cases/index.js +26 -7
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.d.ts.map +1 -1
- package/dist/cases/kepler-rv.js +13 -9
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cases/resistor-noise.d.ts.map +1 -1
- package/dist/cases/resistor-noise.js +10 -5
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts +2 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +7 -12
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts.map +1 -1
- package/dist/cli/commands/atlas.js +6 -9
- package/dist/cli/commands/atlas.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +1 -2
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/chain.js +2 -2
- package/dist/cli/commands/chain.js.map +1 -1
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +17 -17
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.d.ts.map +1 -1
- package/dist/cli/commands/connectors.js +8 -9
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/derive.js +9 -10
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/discover.d.ts.map +1 -1
- package/dist/cli/commands/discover.js +3 -4
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/eval.d.ts.map +1 -1
- package/dist/cli/commands/eval.js +18 -16
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts +1 -35
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +67 -193
- package/dist/cli/commands/evaluate.js.map +1 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +44 -37
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/ground.js +1 -1
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/map.js +3 -4
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts.map +1 -1
- package/dist/cli/commands/metric.js +3 -0
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/regime.js +1 -1
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/symbolic.d.ts.map +1 -1
- package/dist/cli/commands/symbolic.js +10 -6
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.js +3 -3
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/conventions.d.ts +6 -7
- package/dist/cli/conventions.d.ts.map +1 -1
- package/dist/cli/conventions.js +19 -28
- package/dist/cli/conventions.js.map +1 -1
- package/dist/cli/euler-guard.d.ts +13 -2
- package/dist/cli/euler-guard.d.ts.map +1 -1
- package/dist/cli/euler-guard.js +17 -3
- package/dist/cli/euler-guard.js.map +1 -1
- package/dist/cli/eval-numbers.d.ts +4 -9
- package/dist/cli/eval-numbers.d.ts.map +1 -1
- package/dist/cli/eval-numbers.js +11 -41
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/published-url.d.ts +2 -0
- package/dist/cli/published-url.d.ts.map +1 -1
- package/dist/cli/published-url.js +5 -0
- package/dist/cli/published-url.js.map +1 -1
- package/dist/cli/record-tables.d.ts +2 -1
- package/dist/cli/record-tables.d.ts.map +1 -1
- package/dist/cli/record-tables.js +8 -3
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli-api.d.ts +50 -12
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +43 -11
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.d.ts +8 -30
- package/dist/composition/adjudication.d.ts.map +1 -1
- package/dist/composition/adjudication.js +15 -67
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/aliases.d.ts +1 -1
- package/dist/composition/aliases.d.ts.map +1 -1
- package/dist/composition/aliases.js +10 -20
- package/dist/composition/aliases.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +4 -0
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +13 -14
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +12 -12
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +96 -25
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-prefactors.d.ts +10 -29
- package/dist/composition/canonical-prefactors.d.ts.map +1 -1
- package/dist/composition/canonical-prefactors.js +15 -202
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts +11 -4
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +78 -47
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/compose.js +2 -1
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/discovery.d.ts +50 -0
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +28 -24
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +0 -14
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +1 -17
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +31 -5
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +111 -60
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +5 -0
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +9 -8
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +8 -1
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/frontier-account.d.ts.map +1 -1
- package/dist/composition/frontier-account.js +1 -1
- package/dist/composition/frontier-account.js.map +1 -1
- package/dist/composition/index.d.ts +6 -15
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +6 -15
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +3 -2
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantities.d.ts +11 -27
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +29 -29
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +8 -0
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +5 -0
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/user-equation.d.ts +13 -16
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +26 -53
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/constants.d.ts +41 -4
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +54 -5
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.d.ts +27 -0
- package/dist/core/data-file.d.ts.map +1 -0
- package/dist/core/data-file.js +48 -0
- package/dist/core/data-file.js.map +1 -0
- package/dist/core/json-schema.d.ts +27 -0
- package/dist/core/json-schema.d.ts.map +1 -0
- package/dist/core/json-schema.js +153 -0
- package/dist/core/json-schema.js.map +1 -0
- package/dist/core/types.d.ts +3 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +16 -14
- package/dist/core/types.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +6 -16
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +1 -1
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-specs.d.ts +33 -62
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +56 -77
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/bridge-check.d.ts +9 -26
- package/dist/dimensional/bridge-check.d.ts.map +1 -1
- package/dist/dimensional/bridge-check.js +20 -227
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/constant-rows.d.ts +54 -0
- package/dist/dimensional/constant-rows.d.ts.map +1 -0
- package/dist/dimensional/constant-rows.js +111 -0
- package/dist/dimensional/constant-rows.js.map +1 -0
- package/dist/dimensional/constants.d.ts +4 -13
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +11 -19
- package/dist/dimensional/constants.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +12 -3
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +114 -150
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +79 -0
- package/dist/dimensional/exact-scale.d.ts.map +1 -0
- package/dist/dimensional/exact-scale.js +222 -0
- package/dist/dimensional/exact-scale.js.map +1 -0
- package/dist/dimensional/formula-names.d.ts +30 -13
- package/dist/dimensional/formula-names.d.ts.map +1 -1
- package/dist/dimensional/formula-names.js +56 -48
- package/dist/dimensional/formula-names.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts +13 -0
- package/dist/dimensional/hyphen-names.d.ts.map +1 -0
- package/dist/dimensional/hyphen-names.js +27 -0
- package/dist/dimensional/hyphen-names.js.map +1 -0
- package/dist/dimensional/quantity-registry.d.ts +42 -0
- package/dist/dimensional/quantity-registry.d.ts.map +1 -0
- package/dist/dimensional/quantity-registry.js +78 -0
- package/dist/dimensional/quantity-registry.js.map +1 -0
- package/dist/dimensional/symbolic-constants.d.ts +63 -19
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +109 -92
- package/dist/dimensional/symbolic-constants.js.map +1 -1
- package/dist/dimensional/unit-data.d.ts +70 -0
- package/dist/dimensional/unit-data.d.ts.map +1 -0
- package/dist/dimensional/unit-data.js +135 -0
- package/dist/dimensional/unit-data.js.map +1 -0
- package/dist/dimensional/units.d.ts +88 -23
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +365 -230
- package/dist/dimensional/units.js.map +1 -1
- package/dist/index.d.ts +29 -69
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -50
- package/dist/index.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +21 -1
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +177 -121
- package/dist/numerical/binding-value.js.map +1 -1
- package/dist/numerical/{be37-covariant-eikonal.d.ts → covariant-eikonal.d.ts} +13 -13
- package/dist/numerical/covariant-eikonal.d.ts.map +1 -0
- package/dist/numerical/{be37-covariant-eikonal.js → covariant-eikonal.js} +18 -18
- package/dist/numerical/covariant-eikonal.js.map +1 -0
- package/dist/numerical/derivative-lowering.d.ts +2 -1
- package/dist/numerical/derivative-lowering.d.ts.map +1 -1
- package/dist/numerical/derivative-lowering.js +2 -1
- package/dist/numerical/derivative-lowering.js.map +1 -1
- package/dist/numerical/evaluator-uncertainty.d.ts +34 -0
- package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -0
- package/dist/numerical/evaluator-uncertainty.js +117 -0
- package/dist/numerical/evaluator-uncertainty.js.map +1 -0
- package/dist/numerical/formula-contract.d.ts +4 -0
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +7 -0
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +9 -0
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +64 -10
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula-mathts.d.ts.map +1 -1
- package/dist/numerical/formula-mathts.js +6 -2
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +6 -3
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +9 -6
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/index.d.ts +4 -3
- package/dist/numerical/index.d.ts.map +1 -1
- package/dist/numerical/index.js +2 -2
- package/dist/numerical/index.js.map +1 -1
- package/dist/numerical/null-ic.d.ts +6 -5
- package/dist/numerical/null-ic.d.ts.map +1 -1
- package/dist/numerical/null-ic.js +6 -5
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/null-ray-integrator.js +1 -1
- package/dist/numerical/perihelion-finder.d.ts +5 -4
- package/dist/numerical/perihelion-finder.d.ts.map +1 -1
- package/dist/numerical/perihelion-finder.js +5 -4
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/spacetime-metrics.d.ts +4 -0
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +34 -4
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/relations/types.d.ts +8 -1
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +10 -0
- package/dist/relations/types.js.map +1 -1
- package/package.json +2 -1
- package/dist/bridges/be100-lyddane-sachs-teller.d.ts +0 -41
- package/dist/bridges/be100-lyddane-sachs-teller.d.ts.map +0 -1
- package/dist/bridges/be100-lyddane-sachs-teller.js +0 -30
- package/dist/bridges/be100-lyddane-sachs-teller.js.map +0 -1
- package/dist/bridges/be101-bkt-jump.d.ts +0 -24
- package/dist/bridges/be101-bkt-jump.d.ts.map +0 -1
- package/dist/bridges/be101-bkt-jump.js +0 -29
- package/dist/bridges/be101-bkt-jump.js.map +0 -1
- package/dist/bridges/be102-landauer-conductance.d.ts +0 -24
- package/dist/bridges/be102-landauer-conductance.d.ts.map +0 -1
- package/dist/bridges/be102-landauer-conductance.js +0 -28
- package/dist/bridges/be102-landauer-conductance.js.map +0 -1
- package/dist/bridges/be11-decoherence-confrontation.d.ts +0 -63
- package/dist/bridges/be11-decoherence-confrontation.d.ts.map +0 -1
- package/dist/bridges/be11-decoherence-confrontation.js +0 -39
- package/dist/bridges/be11-decoherence-confrontation.js.map +0 -1
- package/dist/bridges/be21-kss-confrontation.d.ts +0 -52
- package/dist/bridges/be21-kss-confrontation.d.ts.map +0 -1
- package/dist/bridges/be21-kss-confrontation.js +0 -38
- package/dist/bridges/be21-kss-confrontation.js.map +0 -1
- package/dist/bridges/be23-planckian-confrontation.d.ts +0 -162
- package/dist/bridges/be23-planckian-confrontation.d.ts.map +0 -1
- package/dist/bridges/be23-planckian-confrontation.js +0 -196
- package/dist/bridges/be23-planckian-confrontation.js.map +0 -1
- package/dist/bridges/be35-bootstrap-confrontation.d.ts +0 -59
- package/dist/bridges/be35-bootstrap-confrontation.d.ts.map +0 -1
- package/dist/bridges/be35-bootstrap-confrontation.js +0 -39
- package/dist/bridges/be35-bootstrap-confrontation.js.map +0 -1
- package/dist/bridges/be36-gw170817-confrontation.d.ts +0 -111
- package/dist/bridges/be36-gw170817-confrontation.d.ts.map +0 -1
- package/dist/bridges/be36-gw170817-confrontation.js +0 -100
- package/dist/bridges/be36-gw170817-confrontation.js.map +0 -1
- package/dist/bridges/be37-cassini-confrontation.d.ts +0 -43
- package/dist/bridges/be37-cassini-confrontation.d.ts.map +0 -1
- package/dist/bridges/be37-cassini-confrontation.js +0 -34
- package/dist/bridges/be37-cassini-confrontation.js.map +0 -1
- package/dist/bridges/be48-collapse-confrontation.d.ts +0 -52
- package/dist/bridges/be48-collapse-confrontation.d.ts.map +0 -1
- package/dist/bridges/be48-collapse-confrontation.js +0 -37
- package/dist/bridges/be48-collapse-confrontation.js.map +0 -1
- package/dist/bridges/be51-lensing-confrontation.d.ts +0 -53
- package/dist/bridges/be51-lensing-confrontation.d.ts.map +0 -1
- package/dist/bridges/be51-lensing-confrontation.js +0 -52
- package/dist/bridges/be51-lensing-confrontation.js.map +0 -1
- package/dist/bridges/be52-mercury-confrontation.d.ts +0 -72
- package/dist/bridges/be52-mercury-confrontation.d.ts.map +0 -1
- package/dist/bridges/be52-mercury-confrontation.js +0 -70
- package/dist/bridges/be52-mercury-confrontation.js.map +0 -1
- package/dist/bridges/be53-yang-mills-confrontation.d.ts +0 -81
- package/dist/bridges/be53-yang-mills-confrontation.d.ts.map +0 -1
- package/dist/bridges/be53-yang-mills-confrontation.js.map +0 -1
- package/dist/bridges/be55-quantum-hall-confrontation.d.ts +0 -51
- package/dist/bridges/be55-quantum-hall-confrontation.d.ts.map +0 -1
- package/dist/bridges/be55-quantum-hall-confrontation.js +0 -32
- package/dist/bridges/be55-quantum-hall-confrontation.js.map +0 -1
- package/dist/bridges/be55-quantum-hall.d.ts +0 -24
- package/dist/bridges/be55-quantum-hall.d.ts.map +0 -1
- package/dist/bridges/be55-quantum-hall.js +0 -46
- package/dist/bridges/be55-quantum-hall.js.map +0 -1
- package/dist/bridges/be56-casimir-confrontation.d.ts +0 -52
- package/dist/bridges/be56-casimir-confrontation.d.ts.map +0 -1
- package/dist/bridges/be56-casimir-confrontation.js +0 -31
- package/dist/bridges/be56-casimir-confrontation.js.map +0 -1
- package/dist/bridges/be56-casimir.d.ts +0 -18
- package/dist/bridges/be56-casimir.d.ts.map +0 -1
- package/dist/bridges/be56-casimir.js +0 -36
- package/dist/bridges/be56-casimir.js.map +0 -1
- package/dist/bridges/be57-unruh.d.ts +0 -18
- package/dist/bridges/be57-unruh.d.ts.map +0 -1
- package/dist/bridges/be57-unruh.js +0 -38
- package/dist/bridges/be57-unruh.js.map +0 -1
- package/dist/bridges/be58-johnson-nyquist-confrontation.d.ts +0 -57
- package/dist/bridges/be58-johnson-nyquist-confrontation.d.ts.map +0 -1
- package/dist/bridges/be58-johnson-nyquist-confrontation.js +0 -38
- package/dist/bridges/be58-johnson-nyquist-confrontation.js.map +0 -1
- package/dist/bridges/be58-johnson-nyquist.d.ts +0 -22
- package/dist/bridges/be58-johnson-nyquist.d.ts.map +0 -1
- package/dist/bridges/be58-johnson-nyquist.js +0 -36
- package/dist/bridges/be58-johnson-nyquist.js.map +0 -1
- package/dist/bridges/be59-ac-josephson-confrontation.d.ts +0 -46
- package/dist/bridges/be59-ac-josephson-confrontation.d.ts.map +0 -1
- package/dist/bridges/be59-ac-josephson-confrontation.js +0 -32
- package/dist/bridges/be59-ac-josephson-confrontation.js.map +0 -1
- package/dist/bridges/be59-ac-josephson.d.ts +0 -22
- package/dist/bridges/be59-ac-josephson.d.ts.map +0 -1
- package/dist/bridges/be59-ac-josephson.js +0 -35
- package/dist/bridges/be59-ac-josephson.js.map +0 -1
- package/dist/bridges/be60-fractional-qh-confrontation.d.ts +0 -45
- package/dist/bridges/be60-fractional-qh-confrontation.d.ts.map +0 -1
- package/dist/bridges/be60-fractional-qh-confrontation.js +0 -31
- package/dist/bridges/be60-fractional-qh-confrontation.js.map +0 -1
- package/dist/bridges/be60-fractional-qh.d.ts +0 -20
- package/dist/bridges/be60-fractional-qh.d.ts.map +0 -1
- package/dist/bridges/be60-fractional-qh.js +0 -33
- package/dist/bridges/be60-fractional-qh.js.map +0 -1
- package/dist/bridges/be61-wiedemann-franz-confrontation.d.ts +0 -35
- package/dist/bridges/be61-wiedemann-franz-confrontation.d.ts.map +0 -1
- package/dist/bridges/be61-wiedemann-franz-confrontation.js +0 -49
- package/dist/bridges/be61-wiedemann-franz-confrontation.js.map +0 -1
- package/dist/bridges/be61-wiedemann-franz.d.ts +0 -25
- package/dist/bridges/be61-wiedemann-franz.d.ts.map +0 -1
- package/dist/bridges/be61-wiedemann-franz.js +0 -41
- package/dist/bridges/be61-wiedemann-franz.js.map +0 -1
- package/dist/bridges/be62-bcs-gap-confrontation.d.ts +0 -35
- package/dist/bridges/be62-bcs-gap-confrontation.d.ts.map +0 -1
- package/dist/bridges/be62-bcs-gap-confrontation.js +0 -46
- package/dist/bridges/be62-bcs-gap-confrontation.js.map +0 -1
- package/dist/bridges/be62-bcs-gap.d.ts +0 -22
- package/dist/bridges/be62-bcs-gap.d.ts.map +0 -1
- package/dist/bridges/be62-bcs-gap.js +0 -38
- package/dist/bridges/be62-bcs-gap.js.map +0 -1
- package/dist/bridges/be63-chandrasekhar-mass-confrontation.d.ts +0 -32
- package/dist/bridges/be63-chandrasekhar-mass-confrontation.d.ts.map +0 -1
- package/dist/bridges/be63-chandrasekhar-mass-confrontation.js +0 -46
- package/dist/bridges/be63-chandrasekhar-mass-confrontation.js.map +0 -1
- package/dist/bridges/be63-chandrasekhar-mass.d.ts +0 -22
- package/dist/bridges/be63-chandrasekhar-mass.d.ts.map +0 -1
- package/dist/bridges/be63-chandrasekhar-mass.js +0 -34
- package/dist/bridges/be63-chandrasekhar-mass.js.map +0 -1
- package/dist/bridges/be64-eddington-luminosity-confrontation.d.ts +0 -48
- package/dist/bridges/be64-eddington-luminosity-confrontation.d.ts.map +0 -1
- package/dist/bridges/be64-eddington-luminosity-confrontation.js +0 -31
- package/dist/bridges/be64-eddington-luminosity-confrontation.js.map +0 -1
- package/dist/bridges/be64-eddington-luminosity.d.ts +0 -22
- package/dist/bridges/be64-eddington-luminosity.d.ts.map +0 -1
- package/dist/bridges/be64-eddington-luminosity.js +0 -35
- package/dist/bridges/be64-eddington-luminosity.js.map +0 -1
- package/dist/bridges/be65-jeans-mass-confrontation.d.ts +0 -36
- package/dist/bridges/be65-jeans-mass-confrontation.d.ts.map +0 -1
- package/dist/bridges/be65-jeans-mass-confrontation.js +0 -58
- package/dist/bridges/be65-jeans-mass-confrontation.js.map +0 -1
- package/dist/bridges/be65-jeans-mass.d.ts +0 -24
- package/dist/bridges/be65-jeans-mass.d.ts.map +0 -1
- package/dist/bridges/be65-jeans-mass.js +0 -38
- package/dist/bridges/be65-jeans-mass.js.map +0 -1
- package/dist/bridges/be66-radiation-pressure.d.ts +0 -30
- package/dist/bridges/be66-radiation-pressure.d.ts.map +0 -1
- package/dist/bridges/be66-radiation-pressure.js +0 -37
- package/dist/bridges/be66-radiation-pressure.js.map +0 -1
- package/dist/bridges/be67-alfven-speed.d.ts +0 -41
- package/dist/bridges/be67-alfven-speed.d.ts.map +0 -1
- package/dist/bridges/be67-alfven-speed.js +0 -50
- package/dist/bridges/be67-alfven-speed.js.map +0 -1
- package/dist/bridges/be68-tolman-ehrenfest.d.ts +0 -49
- package/dist/bridges/be68-tolman-ehrenfest.d.ts.map +0 -1
- package/dist/bridges/be68-tolman-ehrenfest.js +0 -46
- package/dist/bridges/be68-tolman-ehrenfest.js.map +0 -1
- package/dist/bridges/be69-fast-magnetosonic.d.ts +0 -30
- package/dist/bridges/be69-fast-magnetosonic.d.ts.map +0 -1
- package/dist/bridges/be69-fast-magnetosonic.js +0 -33
- package/dist/bridges/be69-fast-magnetosonic.js.map +0 -1
- package/dist/bridges/be70-einstein-relation.d.ts +0 -30
- package/dist/bridges/be70-einstein-relation.d.ts.map +0 -1
- package/dist/bridges/be70-einstein-relation.js +0 -41
- package/dist/bridges/be70-einstein-relation.js.map +0 -1
- package/dist/bridges/be71-clapeyron.d.ts +0 -43
- package/dist/bridges/be71-clapeyron.d.ts.map +0 -1
- package/dist/bridges/be71-clapeyron.js +0 -32
- package/dist/bridges/be71-clapeyron.js.map +0 -1
- package/dist/bridges/be72-gravitational-redshift.d.ts +0 -43
- package/dist/bridges/be72-gravitational-redshift.d.ts.map +0 -1
- package/dist/bridges/be72-gravitational-redshift.js +0 -32
- package/dist/bridges/be72-gravitational-redshift.js.map +0 -1
- package/dist/bridges/be73-kelvin-peltier.d.ts +0 -42
- package/dist/bridges/be73-kelvin-peltier.d.ts.map +0 -1
- package/dist/bridges/be73-kelvin-peltier.js +0 -31
- package/dist/bridges/be73-kelvin-peltier.js.map +0 -1
- package/dist/bridges/be74-magnetic-pressure.d.ts +0 -27
- package/dist/bridges/be74-magnetic-pressure.d.ts.map +0 -1
- package/dist/bridges/be74-magnetic-pressure.js +0 -29
- package/dist/bridges/be74-magnetic-pressure.js.map +0 -1
- package/dist/bridges/be75-london-penetration.d.ts +0 -27
- package/dist/bridges/be75-london-penetration.d.ts.map +0 -1
- package/dist/bridges/be75-london-penetration.js +0 -31
- package/dist/bridges/be75-london-penetration.js.map +0 -1
- package/dist/bridges/be76-plasma-beta.d.ts +0 -32
- package/dist/bridges/be76-plasma-beta.d.ts.map +0 -1
- package/dist/bridges/be76-plasma-beta.js +0 -34
- package/dist/bridges/be76-plasma-beta.js.map +0 -1
- package/dist/bridges/be77-hagen-poiseuille.d.ts +0 -50
- package/dist/bridges/be77-hagen-poiseuille.d.ts.map +0 -1
- package/dist/bridges/be77-hagen-poiseuille.js +0 -39
- package/dist/bridges/be77-hagen-poiseuille.js.map +0 -1
- package/dist/bridges/be78-euler-buckling.d.ts +0 -44
- package/dist/bridges/be78-euler-buckling.d.ts.map +0 -1
- package/dist/bridges/be78-euler-buckling.js +0 -33
- package/dist/bridges/be78-euler-buckling.js.map +0 -1
- package/dist/bridges/be79-pull-in.d.ts +0 -33
- package/dist/bridges/be79-pull-in.d.ts.map +0 -1
- package/dist/bridges/be79-pull-in.js +0 -35
- package/dist/bridges/be79-pull-in.js.map +0 -1
- package/dist/bridges/be80-mott-gurney.d.ts +0 -52
- package/dist/bridges/be80-mott-gurney.d.ts.map +0 -1
- package/dist/bridges/be80-mott-gurney.js +0 -38
- package/dist/bridges/be80-mott-gurney.js.map +0 -1
- package/dist/bridges/be81-child-langmuir.d.ts +0 -33
- package/dist/bridges/be81-child-langmuir.d.ts.map +0 -1
- package/dist/bridges/be81-child-langmuir.js +0 -38
- package/dist/bridges/be81-child-langmuir.js.map +0 -1
- package/dist/bridges/be82-shockley-diode.d.ts +0 -32
- package/dist/bridges/be82-shockley-diode.d.ts.map +0 -1
- package/dist/bridges/be82-shockley-diode.js +0 -37
- package/dist/bridges/be82-shockley-diode.js.map +0 -1
- package/dist/bridges/be83-thomson.d.ts +0 -46
- package/dist/bridges/be83-thomson.d.ts.map +0 -1
- package/dist/bridges/be83-thomson.js +0 -32
- package/dist/bridges/be83-thomson.js.map +0 -1
- package/dist/bridges/be84-four-point.d.ts +0 -45
- package/dist/bridges/be84-four-point.d.ts.map +0 -1
- package/dist/bridges/be84-four-point.js +0 -34
- package/dist/bridges/be84-four-point.js.map +0 -1
- package/dist/bridges/be85-shot-noise.d.ts +0 -30
- package/dist/bridges/be85-shot-noise.d.ts.map +0 -1
- package/dist/bridges/be85-shot-noise.js +0 -32
- package/dist/bridges/be85-shot-noise.js.map +0 -1
- package/dist/bridges/be86-reynolds-analogy.d.ts +0 -45
- package/dist/bridges/be86-reynolds-analogy.d.ts.map +0 -1
- package/dist/bridges/be86-reynolds-analogy.js +0 -30
- package/dist/bridges/be86-reynolds-analogy.js.map +0 -1
- package/dist/bridges/be87-capacitor-noise.d.ts +0 -27
- package/dist/bridges/be87-capacitor-noise.d.ts.map +0 -1
- package/dist/bridges/be87-capacitor-noise.js +0 -32
- package/dist/bridges/be87-capacitor-noise.js.map +0 -1
- package/dist/bridges/be88-fermi-sea.d.ts +0 -31
- package/dist/bridges/be88-fermi-sea.d.ts.map +0 -1
- package/dist/bridges/be88-fermi-sea.js +0 -35
- package/dist/bridges/be88-fermi-sea.js.map +0 -1
- package/dist/bridges/be89-debye-cutoff.d.ts +0 -39
- package/dist/bridges/be89-debye-cutoff.d.ts.map +0 -1
- package/dist/bridges/be89-debye-cutoff.js +0 -28
- package/dist/bridges/be89-debye-cutoff.js.map +0 -1
- package/dist/bridges/be90-debye-heat.d.ts +0 -30
- package/dist/bridges/be90-debye-heat.d.ts.map +0 -1
- package/dist/bridges/be90-debye-heat.js +0 -35
- package/dist/bridges/be90-debye-heat.js.map +0 -1
- package/dist/bridges/be91-einstein-solid.d.ts +0 -30
- package/dist/bridges/be91-einstein-solid.d.ts.map +0 -1
- package/dist/bridges/be91-einstein-solid.js +0 -37
- package/dist/bridges/be91-einstein-solid.js.map +0 -1
- package/dist/bridges/be92-sommerfeld-heat.d.ts +0 -30
- package/dist/bridges/be92-sommerfeld-heat.d.ts.map +0 -1
- package/dist/bridges/be92-sommerfeld-heat.js +0 -34
- package/dist/bridges/be92-sommerfeld-heat.js.map +0 -1
- package/dist/bridges/be93-curie-weiss.d.ts +0 -41
- package/dist/bridges/be93-curie-weiss.d.ts.map +0 -1
- package/dist/bridges/be93-curie-weiss.js +0 -45
- package/dist/bridges/be93-curie-weiss.js.map +0 -1
- package/dist/bridges/be94-pauli-paramagnetism.d.ts +0 -30
- package/dist/bridges/be94-pauli-paramagnetism.d.ts.map +0 -1
- package/dist/bridges/be94-pauli-paramagnetism.js +0 -33
- package/dist/bridges/be94-pauli-paramagnetism.js.map +0 -1
- package/dist/bridges/be95-ginzburg-landau.d.ts +0 -46
- package/dist/bridges/be95-ginzburg-landau.d.ts.map +0 -1
- package/dist/bridges/be95-ginzburg-landau.js +0 -32
- package/dist/bridges/be95-ginzburg-landau.js.map +0 -1
- package/dist/bridges/be96-upper-critical.d.ts +0 -24
- package/dist/bridges/be96-upper-critical.d.ts.map +0 -1
- package/dist/bridges/be96-upper-critical.js +0 -27
- package/dist/bridges/be96-upper-critical.js.map +0 -1
- package/dist/bridges/be97-ambegaokar-baratoff.d.ts +0 -24
- package/dist/bridges/be97-ambegaokar-baratoff.d.ts.map +0 -1
- package/dist/bridges/be97-ambegaokar-baratoff.js +0 -30
- package/dist/bridges/be97-ambegaokar-baratoff.js.map +0 -1
- package/dist/bridges/be98-bcs-jump.d.ts +0 -40
- package/dist/bridges/be98-bcs-jump.d.ts.map +0 -1
- package/dist/bridges/be98-bcs-jump.js +0 -29
- package/dist/bridges/be98-bcs-jump.js.map +0 -1
- package/dist/bridges/be99-mass-action.d.ts +0 -33
- package/dist/bridges/be99-mass-action.d.ts.map +0 -1
- package/dist/bridges/be99-mass-action.js +0 -37
- package/dist/bridges/be99-mass-action.js.map +0 -1
- package/dist/bridges/bridge-equations.d.ts +0 -225
- package/dist/bridges/bridge-equations.d.ts.map +0 -1
- package/dist/bridges/bridge-equations.js +0 -226
- package/dist/bridges/bridge-equations.js.map +0 -1
- package/dist/bridges/condensed-r8-catalog.d.ts +0 -28
- package/dist/bridges/condensed-r8-catalog.d.ts.map +0 -1
- package/dist/bridges/condensed-r8-catalog.js +0 -272
- package/dist/bridges/condensed-r8-catalog.js.map +0 -1
- package/dist/bridges/condensed-r8.d.ts +0 -260
- package/dist/bridges/condensed-r8.d.ts.map +0 -1
- package/dist/bridges/condensed-r8.js +0 -329
- package/dist/bridges/condensed-r8.js.map +0 -1
- package/dist/bridges/engineering-r7-catalog.d.ts +0 -28
- package/dist/bridges/engineering-r7-catalog.d.ts.map +0 -1
- package/dist/bridges/engineering-r7-catalog.js +0 -172
- package/dist/bridges/engineering-r7-catalog.js.map +0 -1
- package/dist/bridges/engineering-r7.d.ts +0 -152
- package/dist/bridges/engineering-r7.d.ts.map +0 -1
- package/dist/bridges/engineering-r7.js +0 -208
- package/dist/bridges/engineering-r7.js.map +0 -1
- package/dist/bridges/equations/_be-helpers.d.ts +0 -80
- package/dist/bridges/equations/_be-helpers.d.ts.map +0 -1
- package/dist/bridges/equations/_be-helpers.js +0 -103
- package/dist/bridges/equations/_be-helpers.js.map +0 -1
- package/dist/bridges/equations/be-11-decoherence-master.d.ts +0 -82
- package/dist/bridges/equations/be-11-decoherence-master.d.ts.map +0 -1
- package/dist/bridges/equations/be-11-decoherence-master.js +0 -105
- package/dist/bridges/equations/be-11-decoherence-master.js.map +0 -1
- package/dist/bridges/equations/be-12-coherence-length.d.ts +0 -86
- package/dist/bridges/equations/be-12-coherence-length.d.ts.map +0 -1
- package/dist/bridges/equations/be-12-coherence-length.js +0 -120
- package/dist/bridges/equations/be-12-coherence-length.js.map +0 -1
- package/dist/bridges/equations/be-13-einstein-trace.d.ts +0 -136
- package/dist/bridges/equations/be-13-einstein-trace.d.ts.map +0 -1
- package/dist/bridges/equations/be-13-einstein-trace.js +0 -199
- package/dist/bridges/equations/be-13-einstein-trace.js.map +0 -1
- package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts +0 -73
- package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts.map +0 -1
- package/dist/bridges/equations/be-14-ryu-takayanagi.js +0 -101
- package/dist/bridges/equations/be-14-ryu-takayanagi.js.map +0 -1
- package/dist/bridges/equations/be-15-emergence.d.ts +0 -184
- package/dist/bridges/equations/be-15-emergence.d.ts.map +0 -1
- package/dist/bridges/equations/be-15-emergence.js +0 -208
- package/dist/bridges/equations/be-15-emergence.js.map +0 -1
- package/dist/bridges/equations/be-16-landauer.d.ts +0 -186
- package/dist/bridges/equations/be-16-landauer.d.ts.map +0 -1
- package/dist/bridges/equations/be-16-landauer.js +0 -198
- package/dist/bridges/equations/be-16-landauer.js.map +0 -1
- package/dist/bridges/equations/be-17-einstein-cartan.d.ts +0 -258
- package/dist/bridges/equations/be-17-einstein-cartan.d.ts.map +0 -1
- package/dist/bridges/equations/be-17-einstein-cartan.js +0 -301
- package/dist/bridges/equations/be-17-einstein-cartan.js.map +0 -1
- package/dist/bridges/equations/be-18-higgs-mass.d.ts +0 -71
- package/dist/bridges/equations/be-18-higgs-mass.d.ts.map +0 -1
- package/dist/bridges/equations/be-18-higgs-mass.js +0 -75
- package/dist/bridges/equations/be-18-higgs-mass.js.map +0 -1
- package/dist/bridges/equations/be-19-quantum-bounce.d.ts +0 -107
- package/dist/bridges/equations/be-19-quantum-bounce.d.ts.map +0 -1
- package/dist/bridges/equations/be-19-quantum-bounce.js +0 -196
- package/dist/bridges/equations/be-19-quantum-bounce.js.map +0 -1
- package/dist/bridges/equations/be-20-vacuum-energy.d.ts +0 -93
- package/dist/bridges/equations/be-20-vacuum-energy.d.ts.map +0 -1
- package/dist/bridges/equations/be-20-vacuum-energy.js +0 -142
- package/dist/bridges/equations/be-20-vacuum-energy.js.map +0 -1
- package/dist/bridges/equations/be-21-kss-bound.d.ts +0 -74
- package/dist/bridges/equations/be-21-kss-bound.d.ts.map +0 -1
- package/dist/bridges/equations/be-21-kss-bound.js +0 -97
- package/dist/bridges/equations/be-21-kss-bound.js.map +0 -1
- package/dist/bridges/equations/be-22-topological-entanglement.d.ts +0 -87
- package/dist/bridges/equations/be-22-topological-entanglement.d.ts.map +0 -1
- package/dist/bridges/equations/be-22-topological-entanglement.js +0 -111
- package/dist/bridges/equations/be-22-topological-entanglement.js.map +0 -1
- package/dist/bridges/equations/be-23-syk-planckian.d.ts +0 -95
- package/dist/bridges/equations/be-23-syk-planckian.d.ts.map +0 -1
- package/dist/bridges/equations/be-23-syk-planckian.js +0 -141
- package/dist/bridges/equations/be-23-syk-planckian.js.map +0 -1
- package/dist/bridges/equations/be-24-foerster-fret.d.ts +0 -87
- package/dist/bridges/equations/be-24-foerster-fret.d.ts.map +0 -1
- package/dist/bridges/equations/be-24-foerster-fret.js +0 -113
- package/dist/bridges/equations/be-24-foerster-fret.js.map +0 -1
- package/dist/bridges/equations/be-25-iit-phi.d.ts +0 -222
- package/dist/bridges/equations/be-25-iit-phi.d.ts.map +0 -1
- package/dist/bridges/equations/be-25-iit-phi.js +0 -255
- package/dist/bridges/equations/be-25-iit-phi.js.map +0 -1
- package/dist/bridges/equations/be-25-orch-or.d.ts +0 -93
- package/dist/bridges/equations/be-25-orch-or.d.ts.map +0 -1
- package/dist/bridges/equations/be-25-orch-or.js +0 -124
- package/dist/bridges/equations/be-25-orch-or.js.map +0 -1
- package/dist/bridges/equations/be-26-dna-tunneling.d.ts +0 -88
- package/dist/bridges/equations/be-26-dna-tunneling.d.ts.map +0 -1
- package/dist/bridges/equations/be-26-dna-tunneling.js +0 -142
- package/dist/bridges/equations/be-26-dna-tunneling.js.map +0 -1
- package/dist/bridges/equations/be-27-effective-temperature.d.ts +0 -87
- package/dist/bridges/equations/be-27-effective-temperature.d.ts.map +0 -1
- package/dist/bridges/equations/be-27-effective-temperature.js +0 -112
- package/dist/bridges/equations/be-27-effective-temperature.js.map +0 -1
- package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts +0 -181
- package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts.map +0 -1
- package/dist/bridges/equations/be-28-onsager-entropy-production.js +0 -199
- package/dist/bridges/equations/be-28-onsager-entropy-production.js.map +0 -1
- package/dist/bridges/equations/be-29-jarzynski.d.ts +0 -92
- package/dist/bridges/equations/be-29-jarzynski.d.ts.map +0 -1
- package/dist/bridges/equations/be-29-jarzynski.js +0 -127
- package/dist/bridges/equations/be-29-jarzynski.js.map +0 -1
- package/dist/bridges/equations/be-30-flm-first-law.d.ts +0 -102
- package/dist/bridges/equations/be-30-flm-first-law.d.ts.map +0 -1
- package/dist/bridges/equations/be-30-flm-first-law.js +0 -98
- package/dist/bridges/equations/be-30-flm-first-law.js.map +0 -1
- package/dist/bridges/equations/be-31-causal-set-bd.d.ts +0 -102
- package/dist/bridges/equations/be-31-causal-set-bd.d.ts.map +0 -1
- package/dist/bridges/equations/be-31-causal-set-bd.js +0 -119
- package/dist/bridges/equations/be-31-causal-set-bd.js.map +0 -1
- package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts +0 -110
- package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts.map +0 -1
- package/dist/bridges/equations/be-32-quantum-reference-frame.js +0 -145
- package/dist/bridges/equations/be-32-quantum-reference-frame.js.map +0 -1
- package/dist/bridges/equations/be-33-hertz-millis.d.ts +0 -102
- package/dist/bridges/equations/be-33-hertz-millis.d.ts.map +0 -1
- package/dist/bridges/equations/be-33-hertz-millis.js +0 -117
- package/dist/bridges/equations/be-33-hertz-millis.js.map +0 -1
- package/dist/bridges/equations/be-34-kibble-zurek.d.ts +0 -83
- package/dist/bridges/equations/be-34-kibble-zurek.d.ts.map +0 -1
- package/dist/bridges/equations/be-34-kibble-zurek.js +0 -139
- package/dist/bridges/equations/be-34-kibble-zurek.js.map +0 -1
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +0 -101
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts.map +0 -1
- package/dist/bridges/equations/be-35-conformal-bootstrap.js +0 -123
- package/dist/bridges/equations/be-35-conformal-bootstrap.js.map +0 -1
- package/dist/bridges/equations/be-36-gw-speed-bound.d.ts +0 -90
- package/dist/bridges/equations/be-36-gw-speed-bound.d.ts.map +0 -1
- package/dist/bridges/equations/be-36-gw-speed-bound.js +0 -106
- package/dist/bridges/equations/be-36-gw-speed-bound.js.map +0 -1
- package/dist/bridges/equations/be-37-shapiro-delay.d.ts +0 -264
- package/dist/bridges/equations/be-37-shapiro-delay.d.ts.map +0 -1
- package/dist/bridges/equations/be-37-shapiro-delay.js +0 -420
- package/dist/bridges/equations/be-37-shapiro-delay.js.map +0 -1
- package/dist/bridges/equations/be-38-mond.d.ts +0 -94
- package/dist/bridges/equations/be-38-mond.d.ts.map +0 -1
- package/dist/bridges/equations/be-38-mond.js +0 -114
- package/dist/bridges/equations/be-38-mond.js.map +0 -1
- package/dist/bridges/equations/be-39-asymptotic-safety.d.ts +0 -170
- package/dist/bridges/equations/be-39-asymptotic-safety.d.ts.map +0 -1
- package/dist/bridges/equations/be-39-asymptotic-safety.js +0 -263
- package/dist/bridges/equations/be-39-asymptotic-safety.js.map +0 -1
- package/dist/bridges/equations/be-40-composite-higgs.d.ts +0 -89
- package/dist/bridges/equations/be-40-composite-higgs.d.ts.map +0 -1
- package/dist/bridges/equations/be-40-composite-higgs.js +0 -149
- package/dist/bridges/equations/be-40-composite-higgs.js.map +0 -1
- package/dist/bridges/equations/be-41-swampland.d.ts +0 -73
- package/dist/bridges/equations/be-41-swampland.d.ts.map +0 -1
- package/dist/bridges/equations/be-41-swampland.js +0 -108
- package/dist/bridges/equations/be-41-swampland.js.map +0 -1
- package/dist/bridges/equations/be-42-hawking-temperature.d.ts +0 -72
- package/dist/bridges/equations/be-42-hawking-temperature.d.ts.map +0 -1
- package/dist/bridges/equations/be-42-hawking-temperature.js +0 -108
- package/dist/bridges/equations/be-42-hawking-temperature.js.map +0 -1
- package/dist/bridges/equations/be-43-er-epr.d.ts +0 -79
- package/dist/bridges/equations/be-43-er-epr.d.ts.map +0 -1
- package/dist/bridges/equations/be-43-er-epr.js +0 -106
- package/dist/bridges/equations/be-43-er-epr.js.map +0 -1
- package/dist/bridges/equations/be-44-soft-hair.d.ts +0 -157
- package/dist/bridges/equations/be-44-soft-hair.d.ts.map +0 -1
- package/dist/bridges/equations/be-44-soft-hair.js +0 -177
- package/dist/bridges/equations/be-44-soft-hair.js.map +0 -1
- package/dist/bridges/equations/be-45-tcc.d.ts +0 -122
- package/dist/bridges/equations/be-45-tcc.d.ts.map +0 -1
- package/dist/bridges/equations/be-45-tcc.js +0 -149
- package/dist/bridges/equations/be-45-tcc.js.map +0 -1
- package/dist/bridges/equations/be-46-multiverse-measure.d.ts +0 -169
- package/dist/bridges/equations/be-46-multiverse-measure.d.ts.map +0 -1
- package/dist/bridges/equations/be-46-multiverse-measure.js +0 -192
- package/dist/bridges/equations/be-46-multiverse-measure.js.map +0 -1
- package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts +0 -78
- package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts.map +0 -1
- package/dist/bridges/equations/be-47-bbn-dark-sector.js +0 -119
- package/dist/bridges/equations/be-47-bbn-dark-sector.js.map +0 -1
- package/dist/bridges/equations/be-48-grw-localization.d.ts +0 -91
- package/dist/bridges/equations/be-48-grw-localization.d.ts.map +0 -1
- package/dist/bridges/equations/be-48-grw-localization.js +0 -103
- package/dist/bridges/equations/be-48-grw-localization.js.map +0 -1
- package/dist/bridges/equations/be-49-quantum-darwinism.d.ts +0 -103
- package/dist/bridges/equations/be-49-quantum-darwinism.d.ts.map +0 -1
- package/dist/bridges/equations/be-49-quantum-darwinism.js +0 -117
- package/dist/bridges/equations/be-49-quantum-darwinism.js.map +0 -1
- package/dist/bridges/equations/be-50-wheeler-feynman.d.ts +0 -116
- package/dist/bridges/equations/be-50-wheeler-feynman.d.ts.map +0 -1
- package/dist/bridges/equations/be-50-wheeler-feynman.js +0 -215
- package/dist/bridges/equations/be-50-wheeler-feynman.js.map +0 -1
- package/dist/bridges/equations/be-53-yang-mills-beta.d.ts +0 -179
- package/dist/bridges/equations/be-53-yang-mills-beta.d.ts.map +0 -1
- package/dist/bridges/equations/be-53-yang-mills-beta.js +0 -187
- package/dist/bridges/equations/be-53-yang-mills-beta.js.map +0 -1
- package/dist/bridges/equations/be-54-randall-sundrum-brane.d.ts +0 -117
- package/dist/bridges/equations/be-54-randall-sundrum-brane.d.ts.map +0 -1
- package/dist/bridges/equations/be-54-randall-sundrum-brane.js +0 -209
- package/dist/bridges/equations/be-54-randall-sundrum-brane.js.map +0 -1
- package/dist/bridges/gravitational-lensing.d.ts +0 -73
- package/dist/bridges/gravitational-lensing.d.ts.map +0 -1
- package/dist/bridges/gravitational-lensing.js +0 -59
- package/dist/bridges/gravitational-lensing.js.map +0 -1
- package/dist/bridges/perihelion-precession-labeled.d.ts +0 -46
- package/dist/bridges/perihelion-precession-labeled.d.ts.map +0 -1
- package/dist/bridges/perihelion-precession-labeled.js +0 -54
- package/dist/bridges/perihelion-precession-labeled.js.map +0 -1
- package/dist/bridges/perihelion-precession.d.ts +0 -87
- package/dist/bridges/perihelion-precession.d.ts.map +0 -1
- package/dist/bridges/perihelion-precession.js +0 -82
- package/dist/bridges/perihelion-precession.js.map +0 -1
- package/dist/bridges/plasma-catalog.d.ts +0 -29
- package/dist/bridges/plasma-catalog.d.ts.map +0 -1
- package/dist/bridges/plasma-catalog.js +0 -427
- package/dist/bridges/plasma-catalog.js.map +0 -1
- package/dist/bridges/plasma-space.d.ts +0 -310
- package/dist/bridges/plasma-space.d.ts.map +0 -1
- package/dist/bridges/plasma-space.js +0 -262
- package/dist/bridges/plasma-space.js.map +0 -1
- package/dist/composition/edges/_catalog-helpers.d.ts +0 -38
- package/dist/composition/edges/_catalog-helpers.d.ts.map +0 -1
- package/dist/composition/edges/_catalog-helpers.js +0 -90
- package/dist/composition/edges/_catalog-helpers.js.map +0 -1
- package/dist/composition/edges/applied-physicist.d.ts +0 -181
- package/dist/composition/edges/applied-physicist.d.ts.map +0 -1
- package/dist/composition/edges/applied-physicist.js +0 -843
- package/dist/composition/edges/applied-physicist.js.map +0 -1
- package/dist/composition/edges/calibration.d.ts +0 -107
- package/dist/composition/edges/calibration.d.ts.map +0 -1
- package/dist/composition/edges/calibration.js +0 -559
- package/dist/composition/edges/calibration.js.map +0 -1
- package/dist/composition/edges/catalog-condensed-matter.d.ts +0 -65
- package/dist/composition/edges/catalog-condensed-matter.d.ts.map +0 -1
- package/dist/composition/edges/catalog-condensed-matter.js +0 -257
- package/dist/composition/edges/catalog-condensed-matter.js.map +0 -1
- package/dist/composition/edges/catalog-fields.d.ts +0 -68
- package/dist/composition/edges/catalog-fields.d.ts.map +0 -1
- package/dist/composition/edges/catalog-fields.js +0 -207
- package/dist/composition/edges/catalog-fields.js.map +0 -1
- package/dist/composition/edges/catalog-full.d.ts +0 -43
- package/dist/composition/edges/catalog-full.d.ts.map +0 -1
- package/dist/composition/edges/catalog-full.js +0 -73
- package/dist/composition/edges/catalog-full.js.map +0 -1
- package/dist/composition/edges/catalog-gravitation-cosmology.d.ts +0 -81
- package/dist/composition/edges/catalog-gravitation-cosmology.d.ts.map +0 -1
- package/dist/composition/edges/catalog-gravitation-cosmology.js +0 -275
- package/dist/composition/edges/catalog-gravitation-cosmology.js.map +0 -1
- package/dist/composition/edges/catalog-quantum.d.ts +0 -85
- package/dist/composition/edges/catalog-quantum.d.ts.map +0 -1
- package/dist/composition/edges/catalog-quantum.js +0 -297
- package/dist/composition/edges/catalog-quantum.js.map +0 -1
- package/dist/composition/edges/catalog-tranche.d.ts +0 -108
- package/dist/composition/edges/catalog-tranche.d.ts.map +0 -1
- package/dist/composition/edges/catalog-tranche.js +0 -304
- package/dist/composition/edges/catalog-tranche.js.map +0 -1
- package/dist/composition/edges/condensed-r5.d.ts +0 -105
- package/dist/composition/edges/condensed-r5.d.ts.map +0 -1
- package/dist/composition/edges/condensed-r5.js +0 -505
- package/dist/composition/edges/condensed-r5.js.map +0 -1
- package/dist/composition/edges/condensed-r8.d.ts +0 -30
- package/dist/composition/edges/condensed-r8.d.ts.map +0 -1
- package/dist/composition/edges/condensed-r8.js +0 -325
- package/dist/composition/edges/condensed-r8.js.map +0 -1
- package/dist/composition/edges/engineering-r7.d.ts +0 -20
- package/dist/composition/edges/engineering-r7.d.ts.map +0 -1
- package/dist/composition/edges/engineering-r7.js +0 -262
- package/dist/composition/edges/engineering-r7.js.map +0 -1
- package/dist/composition/edges/plasma-space.d.ts +0 -50
- package/dist/composition/edges/plasma-space.d.ts.map +0 -1
- package/dist/composition/edges/plasma-space.js +0 -481
- package/dist/composition/edges/plasma-space.js.map +0 -1
- package/dist/composition/edges/proved-seeds.d.ts +0 -39
- package/dist/composition/edges/proved-seeds.d.ts.map +0 -1
- package/dist/composition/edges/proved-seeds.js +0 -197
- package/dist/composition/edges/proved-seeds.js.map +0 -1
- package/dist/composition/quantities/_dims.d.ts +0 -45
- package/dist/composition/quantities/_dims.d.ts.map +0 -1
- package/dist/composition/quantities/_dims.js +0 -55
- package/dist/composition/quantities/_dims.js.map +0 -1
- package/dist/composition/quantities/applied-physicist.d.ts +0 -166
- package/dist/composition/quantities/applied-physicist.d.ts.map +0 -1
- package/dist/composition/quantities/applied-physicist.js +0 -543
- package/dist/composition/quantities/applied-physicist.js.map +0 -1
- package/dist/composition/quantities/common.d.ts +0 -69
- package/dist/composition/quantities/common.d.ts.map +0 -1
- package/dist/composition/quantities/common.js +0 -210
- package/dist/composition/quantities/common.js.map +0 -1
- package/dist/composition/quantities/condensed-matter.d.ts +0 -79
- package/dist/composition/quantities/condensed-matter.d.ts.map +0 -1
- package/dist/composition/quantities/condensed-matter.js +0 -238
- package/dist/composition/quantities/condensed-matter.js.map +0 -1
- package/dist/composition/quantities/condensed-r5.d.ts +0 -110
- package/dist/composition/quantities/condensed-r5.d.ts.map +0 -1
- package/dist/composition/quantities/condensed-r5.js +0 -359
- package/dist/composition/quantities/condensed-r5.js.map +0 -1
- package/dist/composition/quantities/condensed-r8.d.ts +0 -96
- package/dist/composition/quantities/condensed-r8.d.ts.map +0 -1
- package/dist/composition/quantities/condensed-r8.js +0 -107
- package/dist/composition/quantities/condensed-r8.js.map +0 -1
- package/dist/composition/quantities/engineering-r7.d.ts +0 -82
- package/dist/composition/quantities/engineering-r7.d.ts.map +0 -1
- package/dist/composition/quantities/engineering-r7.js +0 -92
- package/dist/composition/quantities/engineering-r7.js.map +0 -1
- package/dist/composition/quantities/fields.d.ts +0 -69
- package/dist/composition/quantities/fields.d.ts.map +0 -1
- package/dist/composition/quantities/fields.js +0 -210
- package/dist/composition/quantities/fields.js.map +0 -1
- package/dist/composition/quantities/gravitation-cosmology.d.ts +0 -71
- package/dist/composition/quantities/gravitation-cosmology.d.ts.map +0 -1
- package/dist/composition/quantities/gravitation-cosmology.js +0 -215
- package/dist/composition/quantities/gravitation-cosmology.js.map +0 -1
- package/dist/composition/quantities/plasma-space.d.ts +0 -178
- package/dist/composition/quantities/plasma-space.d.ts.map +0 -1
- package/dist/composition/quantities/plasma-space.js +0 -185
- package/dist/composition/quantities/plasma-space.js.map +0 -1
- package/dist/composition/quantities/quantum.d.ts +0 -63
- package/dist/composition/quantities/quantum.d.ts.map +0 -1
- package/dist/composition/quantities/quantum.js +0 -190
- package/dist/composition/quantities/quantum.js.map +0 -1
- package/dist/numerical/be37-covariant-eikonal.d.ts.map +0 -1
- package/dist/numerical/be37-covariant-eikonal.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dimension-spec.js","sourceRoot":"","sources":["../../src/dimensional/dimension-spec.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dimension-spec.js","sourceRoot":"","sources":["../../src/dimensional/dimension-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exact unit scales.
|
|
3
|
+
*
|
|
4
|
+
* A unit's scale to SI is a rational number times one floating factor that
|
|
5
|
+
* holds its irrational part (π for an angle, ln 2 for a bit). Prefixes,
|
|
6
|
+
* products, quotients and integer powers multiply the rationals exactly, so
|
|
7
|
+
* `g/cm^3` is 1000 and `72 mN/m` is 0.072 with no float noise to round away.
|
|
8
|
+
* The one rounding is {@link scaleToNumber}, which rounds the rational
|
|
9
|
+
* correctly and then multiplies by the irrational factor once.
|
|
10
|
+
*
|
|
11
|
+
* A decimal literal is read digit for digit. A JavaScript number is read
|
|
12
|
+
* through its shortest round-trip decimal (`String(x)`), which is the
|
|
13
|
+
* literal a constant was written with.
|
|
14
|
+
*
|
|
15
|
+
* @module dimensional/exact-scale
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
/** `num / den × irrational`, with `den > 0` and the fraction in lowest terms. @internal */
|
|
19
|
+
export interface ExactScale {
|
|
20
|
+
readonly num: bigint;
|
|
21
|
+
readonly den: bigint;
|
|
22
|
+
/** The factor no rational states (π, ln 2). 1 for a rational scale. */
|
|
23
|
+
readonly irrational: number;
|
|
24
|
+
}
|
|
25
|
+
/** The scale 1. @internal */
|
|
26
|
+
export declare const UNIT_SCALE: ExactScale;
|
|
27
|
+
/**
|
|
28
|
+
* The exact value of a decimal literal (`72`, `0.45359237`, `1.602176634e-19`),
|
|
29
|
+
* or null when `text` is not one.
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
export declare function decimalScale(text: string): ExactScale | null;
|
|
33
|
+
/** The exact scale a finite JavaScript number was written as. @internal */
|
|
34
|
+
export declare function scaleOf(x: number): ExactScale;
|
|
35
|
+
/** `num / den`, exactly. @internal */
|
|
36
|
+
export declare function ratioScale(num: number | bigint, den: number | bigint): ExactScale;
|
|
37
|
+
/** A factor no rational states, such as π or ln 2. @internal */
|
|
38
|
+
export declare function irrationalScale(x: number): ExactScale;
|
|
39
|
+
/** `a × b × …`. @internal */
|
|
40
|
+
export declare function multiplyScales(...factors: readonly ExactScale[]): ExactScale;
|
|
41
|
+
/** `a / b`. @internal */
|
|
42
|
+
export declare function divideScales(a: ExactScale, b: ExactScale): ExactScale;
|
|
43
|
+
/**
|
|
44
|
+
* `a ^ n`. An integer power stays exact. A fractional power has no exact
|
|
45
|
+
* rational in general, so it becomes one floating factor.
|
|
46
|
+
* @internal
|
|
47
|
+
*/
|
|
48
|
+
export declare function powerScale(a: ExactScale, n: number): ExactScale;
|
|
49
|
+
/** `a + b`: exact when both are rational multiples of the same irrational factor. @internal */
|
|
50
|
+
export declare function addScales(a: ExactScale, b: ExactScale): ExactScale;
|
|
51
|
+
/** The scale as a double: the rational rounded once, times the irrational factor. @internal */
|
|
52
|
+
export declare function scaleToNumber(s: ExactScale): number;
|
|
53
|
+
/**
|
|
54
|
+
* The two sides of a unit text or a scale expression under the single-solidus
|
|
55
|
+
* convention of ISO 80000-1: everything after the first `/` is the
|
|
56
|
+
* denominator, so a chain is one denominator (`km/s/Mpc` is km/(s·Mpc), and
|
|
57
|
+
* `W/m*K` is W/(m·K), not (W/m)·K). The denominator comes back as one
|
|
58
|
+
* `*`-joined product, each `/`-part's outer parentheses dropped. `units.ts`
|
|
59
|
+
* and {@link readScaleExpression} both split here, so a unit text and a scale
|
|
60
|
+
* expression in `data/units.json` read a `/` the same way.
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
export declare function solidusSides(text: string): {
|
|
64
|
+
readonly numerator: string;
|
|
65
|
+
readonly denominator: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* The exact value of a scale expression, the form `data/units.json` stores:
|
|
69
|
+
* factors joined by `*`, then optionally `/` and the denominator's factors,
|
|
70
|
+
* each a decimal literal or a name with an optional integer power
|
|
71
|
+
* (`4.1868*453.59237/1.8`, `pi/180`, `lbf/inch^2`). A `/` follows the unit
|
|
72
|
+
* grammar ({@link solidusSides}): `a/b*c` is a/(b·c). `resolve` gives a name
|
|
73
|
+
* its scale and returns undefined for a name it does not know, which throws
|
|
74
|
+
* here. A decimal literal is read digit for digit, so the result is the
|
|
75
|
+
* rational the text states.
|
|
76
|
+
* @internal
|
|
77
|
+
*/
|
|
78
|
+
export declare function readScaleExpression(text: string, resolve: (name: string) => ExactScale | undefined): ExactScale;
|
|
79
|
+
//# sourceMappingURL=exact-scale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exact-scale.d.ts","sourceRoot":"","sources":["../../src/dimensional/exact-scale.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,2FAA2F;AAC3F,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAmBD,6BAA6B;AAC7B,eAAO,MAAM,UAAU,EAAE,UAAgD,CAAC;AAI1E;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAW5D;AAED,2EAA2E;AAC3E,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAG7C;AAED,sCAAsC;AACtC,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAEjF;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAGrD;AAED,6BAA6B;AAC7B,wBAAgB,cAAc,CAAC,GAAG,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,UAAU,CAU5E;AAED,yBAAyB;AACzB,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAGrE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAO/D;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAGlE;AAwDD,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAGnD;AAID;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CASvG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,GAAG,UAAU,CAiB/G"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exact unit scales.
|
|
3
|
+
*
|
|
4
|
+
* A unit's scale to SI is a rational number times one floating factor that
|
|
5
|
+
* holds its irrational part (π for an angle, ln 2 for a bit). Prefixes,
|
|
6
|
+
* products, quotients and integer powers multiply the rationals exactly, so
|
|
7
|
+
* `g/cm^3` is 1000 and `72 mN/m` is 0.072 with no float noise to round away.
|
|
8
|
+
* The one rounding is {@link scaleToNumber}, which rounds the rational
|
|
9
|
+
* correctly and then multiplies by the irrational factor once.
|
|
10
|
+
*
|
|
11
|
+
* A decimal literal is read digit for digit. A JavaScript number is read
|
|
12
|
+
* through its shortest round-trip decimal (`String(x)`), which is the
|
|
13
|
+
* literal a constant was written with.
|
|
14
|
+
*
|
|
15
|
+
* @module dimensional/exact-scale
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
function gcd(a, b) {
|
|
19
|
+
let x = a < 0n ? -a : a;
|
|
20
|
+
let y = b < 0n ? -b : b;
|
|
21
|
+
while (y !== 0n)
|
|
22
|
+
[x, y] = [y, x % y];
|
|
23
|
+
return x;
|
|
24
|
+
}
|
|
25
|
+
function make(num, den, irrational) {
|
|
26
|
+
if (den === 0n)
|
|
27
|
+
throw new RangeError('exact scale: zero denominator');
|
|
28
|
+
if (den < 0n) {
|
|
29
|
+
num = -num;
|
|
30
|
+
den = -den;
|
|
31
|
+
}
|
|
32
|
+
const g = gcd(num, den);
|
|
33
|
+
return g > 1n ? { num: num / g, den: den / g, irrational } : { num, den, irrational };
|
|
34
|
+
}
|
|
35
|
+
/** The scale 1. @internal */
|
|
36
|
+
export const UNIT_SCALE = { num: 1n, den: 1n, irrational: 1 };
|
|
37
|
+
const DECIMAL = /^([+-]?)(\d*)(?:\.(\d*))?(?:[eE]([+-]?\d+))?$/;
|
|
38
|
+
/**
|
|
39
|
+
* The exact value of a decimal literal (`72`, `0.45359237`, `1.602176634e-19`),
|
|
40
|
+
* or null when `text` is not one.
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
export function decimalScale(text) {
|
|
44
|
+
const m = DECIMAL.exec(text.trim());
|
|
45
|
+
if (m === null)
|
|
46
|
+
return null;
|
|
47
|
+
const whole = m[2] ?? '';
|
|
48
|
+
const fraction = m[3] ?? '';
|
|
49
|
+
if (whole === '' && fraction === '')
|
|
50
|
+
return null;
|
|
51
|
+
const exponent = Number(m[4] ?? '0') - fraction.length;
|
|
52
|
+
if (!Number.isSafeInteger(exponent) || Math.abs(exponent) > 10_000)
|
|
53
|
+
return null;
|
|
54
|
+
let num = BigInt(whole + fraction);
|
|
55
|
+
if (m[1] === '-')
|
|
56
|
+
num = -num;
|
|
57
|
+
return exponent >= 0 ? make(num * 10n ** BigInt(exponent), 1n, 1) : make(num, 10n ** BigInt(-exponent), 1);
|
|
58
|
+
}
|
|
59
|
+
/** The exact scale a finite JavaScript number was written as. @internal */
|
|
60
|
+
export function scaleOf(x) {
|
|
61
|
+
if (!Number.isFinite(x))
|
|
62
|
+
throw new RangeError(`exact scale: ${x} is not finite`);
|
|
63
|
+
return decimalScale(String(x));
|
|
64
|
+
}
|
|
65
|
+
/** `num / den`, exactly. @internal */
|
|
66
|
+
export function ratioScale(num, den) {
|
|
67
|
+
return make(BigInt(num), BigInt(den), 1);
|
|
68
|
+
}
|
|
69
|
+
/** A factor no rational states, such as π or ln 2. @internal */
|
|
70
|
+
export function irrationalScale(x) {
|
|
71
|
+
if (!Number.isFinite(x))
|
|
72
|
+
throw new RangeError(`exact scale: ${x} is not finite`);
|
|
73
|
+
return { num: 1n, den: 1n, irrational: x };
|
|
74
|
+
}
|
|
75
|
+
/** `a × b × …`. @internal */
|
|
76
|
+
export function multiplyScales(...factors) {
|
|
77
|
+
let num = 1n;
|
|
78
|
+
let den = 1n;
|
|
79
|
+
let irrational = 1;
|
|
80
|
+
for (const f of factors) {
|
|
81
|
+
num *= f.num;
|
|
82
|
+
den *= f.den;
|
|
83
|
+
irrational *= f.irrational;
|
|
84
|
+
}
|
|
85
|
+
return make(num, den, irrational);
|
|
86
|
+
}
|
|
87
|
+
/** `a / b`. @internal */
|
|
88
|
+
export function divideScales(a, b) {
|
|
89
|
+
if (b.num === 0n)
|
|
90
|
+
throw new RangeError('exact scale: division by zero');
|
|
91
|
+
return make(a.num * b.den, a.den * b.num, a.irrational / b.irrational);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* `a ^ n`. An integer power stays exact. A fractional power has no exact
|
|
95
|
+
* rational in general, so it becomes one floating factor.
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
export function powerScale(a, n) {
|
|
99
|
+
if (Number.isInteger(n)) {
|
|
100
|
+
const k = BigInt(Math.abs(n));
|
|
101
|
+
const up = make(a.num ** k, a.den ** k, a.irrational ** Math.abs(n));
|
|
102
|
+
return n >= 0 ? up : divideScales(UNIT_SCALE, up);
|
|
103
|
+
}
|
|
104
|
+
return irrationalScale(scaleToNumber(a) ** n);
|
|
105
|
+
}
|
|
106
|
+
/** `a + b`: exact when both are rational multiples of the same irrational factor. @internal */
|
|
107
|
+
export function addScales(a, b) {
|
|
108
|
+
if (a.irrational === b.irrational)
|
|
109
|
+
return make(a.num * b.den + b.num * a.den, a.den * b.den, a.irrational);
|
|
110
|
+
return irrationalScale(scaleToNumber(a) + scaleToNumber(b));
|
|
111
|
+
}
|
|
112
|
+
/** The fewest significant digits kept before the sticky digit; far beyond a double's 17. */
|
|
113
|
+
const MIN_DIGITS = 40;
|
|
114
|
+
/** Decimal places of `1 / den` when it terminates (`den` = 2^a·5^b): max(a, b). Null otherwise. */
|
|
115
|
+
function terminatingPlaces(den) {
|
|
116
|
+
let d = den;
|
|
117
|
+
let twos = 0;
|
|
118
|
+
let fives = 0;
|
|
119
|
+
while (d % 2n === 0n) {
|
|
120
|
+
d /= 2n;
|
|
121
|
+
twos++;
|
|
122
|
+
}
|
|
123
|
+
while (d % 5n === 0n) {
|
|
124
|
+
d /= 5n;
|
|
125
|
+
fives++;
|
|
126
|
+
}
|
|
127
|
+
return d === 1n ? Math.max(twos, fives) : null;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* The rational `num / den` (`den > 0`), reduced, rounded once to the nearest double.
|
|
131
|
+
*
|
|
132
|
+
* A terminating quotient (`den` = 2^a·5^b) is written out exactly, every digit,
|
|
133
|
+
* and parsed: a tie between two doubles is a dyadic rational, so it always
|
|
134
|
+
* lands here and rounds half to even. Any other quotient is not a tie, and it
|
|
135
|
+
* is at least `1 / (den·2^54)` of its magnitude away from every tie; truncating
|
|
136
|
+
* it to `max(40, digits(den) + 20)` significant digits stays closer than that,
|
|
137
|
+
* and a sticky `1` puts the string strictly inside the truncation interval, so
|
|
138
|
+
* the string rounds the way the quotient does for any denominator.
|
|
139
|
+
*/
|
|
140
|
+
function rationalToNumber(num, den) {
|
|
141
|
+
if (num === 0n)
|
|
142
|
+
return 0;
|
|
143
|
+
const negative = num < 0n;
|
|
144
|
+
const g = gcd(num, den);
|
|
145
|
+
const a = (negative ? -num : num) / g;
|
|
146
|
+
den /= g;
|
|
147
|
+
const places = terminatingPlaces(den);
|
|
148
|
+
if (places !== null) {
|
|
149
|
+
const value = Number(`${(a * 10n ** BigInt(places)) / den}e-${places}`);
|
|
150
|
+
return negative ? -value : value;
|
|
151
|
+
}
|
|
152
|
+
const digits = Math.max(MIN_DIGITS, den.toString().length + 20);
|
|
153
|
+
const shift = digits - (a.toString().length - den.toString().length);
|
|
154
|
+
let q;
|
|
155
|
+
if (shift >= 0) {
|
|
156
|
+
q = (a * 10n ** BigInt(shift)) / den;
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
q = a / (den * 10n ** BigInt(-shift));
|
|
160
|
+
}
|
|
161
|
+
// Not terminating, so the remainder is never zero: the sticky digit is always due.
|
|
162
|
+
const value = Number(`${q.toString()}1e${-(shift + 1)}`);
|
|
163
|
+
return negative ? -value : value;
|
|
164
|
+
}
|
|
165
|
+
/** The scale as a double: the rational rounded once, times the irrational factor. @internal */
|
|
166
|
+
export function scaleToNumber(s) {
|
|
167
|
+
const rational = rationalToNumber(s.num, s.den);
|
|
168
|
+
return s.irrational === 1 ? rational : rational * s.irrational;
|
|
169
|
+
}
|
|
170
|
+
const FACTOR = /^([^*/^\s]+)(?:\^([+-]?\d+))?$/;
|
|
171
|
+
/**
|
|
172
|
+
* The two sides of a unit text or a scale expression under the single-solidus
|
|
173
|
+
* convention of ISO 80000-1: everything after the first `/` is the
|
|
174
|
+
* denominator, so a chain is one denominator (`km/s/Mpc` is km/(s·Mpc), and
|
|
175
|
+
* `W/m*K` is W/(m·K), not (W/m)·K). The denominator comes back as one
|
|
176
|
+
* `*`-joined product, each `/`-part's outer parentheses dropped. `units.ts`
|
|
177
|
+
* and {@link readScaleExpression} both split here, so a unit text and a scale
|
|
178
|
+
* expression in `data/units.json` read a `/` the same way.
|
|
179
|
+
* @internal
|
|
180
|
+
*/
|
|
181
|
+
export function solidusSides(text) {
|
|
182
|
+
const parts = text.split('/');
|
|
183
|
+
return {
|
|
184
|
+
numerator: parts[0],
|
|
185
|
+
denominator: parts
|
|
186
|
+
.slice(1)
|
|
187
|
+
.map((part) => part.replace(/^\((.*)\)$/, '$1'))
|
|
188
|
+
.join('*'),
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* The exact value of a scale expression, the form `data/units.json` stores:
|
|
193
|
+
* factors joined by `*`, then optionally `/` and the denominator's factors,
|
|
194
|
+
* each a decimal literal or a name with an optional integer power
|
|
195
|
+
* (`4.1868*453.59237/1.8`, `pi/180`, `lbf/inch^2`). A `/` follows the unit
|
|
196
|
+
* grammar ({@link solidusSides}): `a/b*c` is a/(b·c). `resolve` gives a name
|
|
197
|
+
* its scale and returns undefined for a name it does not know, which throws
|
|
198
|
+
* here. A decimal literal is read digit for digit, so the result is the
|
|
199
|
+
* rational the text states.
|
|
200
|
+
* @internal
|
|
201
|
+
*/
|
|
202
|
+
export function readScaleExpression(text, resolve) {
|
|
203
|
+
const product = (side) => {
|
|
204
|
+
let scale = UNIT_SCALE;
|
|
205
|
+
for (const part of side.split('*')) {
|
|
206
|
+
const m = FACTOR.exec(part);
|
|
207
|
+
if (m === null)
|
|
208
|
+
throw new RangeError(`exact scale: '${text}' is not a product of factors`);
|
|
209
|
+
const atom = m[1];
|
|
210
|
+
const base = decimalScale(atom) ?? resolve(atom);
|
|
211
|
+
if (base === undefined)
|
|
212
|
+
throw new RangeError(`exact scale: '${text}' names '${atom}', which is not a known scale`);
|
|
213
|
+
scale = multiplyScales(scale, m[2] === undefined ? base : powerScale(base, Number(m[2])));
|
|
214
|
+
}
|
|
215
|
+
return scale;
|
|
216
|
+
};
|
|
217
|
+
const trimmed = text.trim();
|
|
218
|
+
const { numerator, denominator } = solidusSides(trimmed);
|
|
219
|
+
const top = product(numerator);
|
|
220
|
+
return trimmed.includes('/') ? divideScales(top, product(denominator)) : top;
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=exact-scale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exact-scale.js","sourceRoot":"","sources":["../../src/dimensional/exact-scale.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Names a formula may use that are not leaves of {@link CONSTANTS}
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* Names a formula may use that are not leaves of {@link CONSTANTS}: the
|
|
3
|
+
* non-canonical rows of the constant registry. Spreading them into
|
|
4
|
+
* `CONSTANTS` would bake them into the canonical graph (`CANONICAL_CONSTANTS`
|
|
5
|
+
* spreads that table). They are an overlay for dimensional assignment and for
|
|
6
|
+
* `upt eval` only.
|
|
7
7
|
*
|
|
8
8
|
* @module dimensional/formula-names
|
|
9
9
|
*/
|
|
10
10
|
import type { Dimension } from './types.js';
|
|
11
|
-
/** Vacuum permittivity, the same CODATA value `CONSTANTS.epsilon_0` holds. */
|
|
12
|
-
export declare const EPS0_SI = 8.8541878128e-12;
|
|
13
|
-
/** Vacuum permeability from ε₀ and the exact c. */
|
|
14
|
-
export declare const MU0_SI: number;
|
|
15
11
|
/** One formula-only name. @internal */
|
|
16
12
|
export interface FormulaName {
|
|
17
13
|
readonly name: string;
|
|
@@ -19,9 +15,8 @@ export interface FormulaName {
|
|
|
19
15
|
readonly value: number;
|
|
20
16
|
}
|
|
21
17
|
/**
|
|
22
|
-
* Overlay names
|
|
23
|
-
* so it is not listed here.
|
|
24
|
-
* curvature extension (the frozen `CE-friedmann` entry is the flat term).
|
|
18
|
+
* Overlay names: the registry rows a canonical equation may not bake. `eps0`
|
|
19
|
+
* is a spelling of `epsilon_0`, so it is not listed here.
|
|
25
20
|
* @internal
|
|
26
21
|
*/
|
|
27
22
|
export declare const FORMULA_NAMED: readonly FormulaName[];
|
|
@@ -44,14 +39,22 @@ export declare const DIMENSION_RENAMES: readonly DimensionRename[];
|
|
|
44
39
|
*
|
|
45
40
|
* A group is not a pair of hubs. `T` and `temp` are the same temperature
|
|
46
41
|
* whether or not the word `temperature` is also present. `Th_K` and `Tc_K`
|
|
47
|
-
* are two temperatures and are not in the temperature group.
|
|
42
|
+
* are two temperatures and are not in the temperature group. `k_B` and
|
|
43
|
+
* `boltzmann-constant` are one scale. `specific-heat` and
|
|
44
|
+
* `specific-heat-capacity` are one quantity. This array is
|
|
48
45
|
* the only spelling list: the name table holds it by reference, and a
|
|
49
46
|
* temperature binding asks {@link isTemperatureName}.
|
|
50
47
|
*
|
|
51
48
|
* A dimension rename is a different fact. It applies only when the symbol
|
|
52
49
|
* carries that dimension, so a time coordinate named `T` stays `T`.
|
|
53
50
|
*/
|
|
51
|
+
/** Synonym groups projected from the quantity registry's aliases. */
|
|
54
52
|
export declare const SYNONYM_GROUPS: readonly (readonly string[])[];
|
|
53
|
+
/**
|
|
54
|
+
* The registry id for `name`, or for the same spelling with `_` written as `-`.
|
|
55
|
+
* A short symbol that is not an id stays unresolved. Dimension is not consulted.
|
|
56
|
+
*/
|
|
57
|
+
export declare function quantityIdForSpelling(name: string): string | undefined;
|
|
55
58
|
/** The group `name` belongs to, comparing `_` and `-` as the same character. */
|
|
56
59
|
export declare function synonymGroup(name: string): readonly string[] | undefined;
|
|
57
60
|
/**
|
|
@@ -59,6 +62,14 @@ export declare function synonymGroup(name: string): readonly string[] | undefine
|
|
|
59
62
|
* A declared kelvin unit is a separate fact the binding reader already has.
|
|
60
63
|
*/
|
|
61
64
|
export declare function isTemperatureName(name: string): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Whether an affine temperature on this quantity is an interval or a point.
|
|
67
|
+
*
|
|
68
|
+
* The registry declares `kind`. An interval is a difference. A name the
|
|
69
|
+
* registry does not declare is an absolute point. The spelling of the name
|
|
70
|
+
* is not the role.
|
|
71
|
+
*/
|
|
72
|
+
export declare function temperatureQuantityRole(name: string): 'absolute' | 'difference';
|
|
62
73
|
/**
|
|
63
74
|
* Thrown when one quantity is bound under two spellings and the numbers differ.
|
|
64
75
|
* The formula is not run. The message names both spellings.
|
|
@@ -66,6 +77,12 @@ export declare function isTemperatureName(name: string): boolean;
|
|
|
66
77
|
export declare class SynonymDisagreementError extends Error {
|
|
67
78
|
constructor(message: string);
|
|
68
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* The error for spellings of one quantity that carry different numbers, or
|
|
82
|
+
* null when they agree. Every caller that refuses a disagreement builds its
|
|
83
|
+
* message here.
|
|
84
|
+
*/
|
|
85
|
+
export declare function synonymDisagreement(present: readonly string[], values: Readonly<Record<string, number | undefined>>): SynonymDisagreementError | null;
|
|
69
86
|
/**
|
|
70
87
|
* Refuse two spellings of one quantity that carry different numbers.
|
|
71
88
|
* The message names the keys the caller typed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula-names.d.ts","sourceRoot":"","sources":["../../src/dimensional/formula-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"formula-names.d.ts","sourceRoot":"","sources":["../../src/dimensional/formula-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5C,uCAAuC;AACvC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAE/C,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,qBAAqB,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAEtE;AAED,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAKvD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,qEAAqE;AACrE,eAAO,MAAM,cAAc,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAgC,CAAC;AAI1F;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKtE;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAGxE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,CAE/E;AAED;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GACnD,wBAAwB,GAAG,IAAI,CAMjC;AAOD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAKrF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAYlF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,EACjC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,MAAM,GAAG,IAAI,CAmBf"}
|
|
@@ -1,43 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Names a formula may use that are not leaves of {@link CONSTANTS}
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* Names a formula may use that are not leaves of {@link CONSTANTS}: the
|
|
3
|
+
* non-canonical rows of the constant registry. Spreading them into
|
|
4
|
+
* `CONSTANTS` would bake them into the canonical graph (`CANONICAL_CONSTANTS`
|
|
5
|
+
* spreads that table). They are an overlay for dimensional assignment and for
|
|
6
|
+
* `upt eval` only.
|
|
7
7
|
*
|
|
8
8
|
* @module dimensional/formula-names
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
/** μ₀ = 1/(ε₀ c²), [M L T⁻² I⁻²]. */
|
|
14
|
-
const PERMEABILITY = { L: 1, M: 1, T: -2, I: -2, Theta: 0, N: 0, J: 0 };
|
|
15
|
-
/** N_A — [N⁻¹]. */
|
|
16
|
-
const PER_AMOUNT = { L: 0, M: 0, T: 0, I: 0, Theta: 0, N: -1, J: 0 };
|
|
17
|
-
/** Faraday constant — charge per amount, [T I N⁻¹]. */
|
|
18
|
-
const FARADAY = { L: 0, M: 0, T: 1, I: 1, Theta: 0, N: -1, J: 0 };
|
|
19
|
-
/** Vacuum permittivity, the same CODATA value `CONSTANTS.epsilon_0` holds. */
|
|
20
|
-
export const EPS0_SI = 8.8541878128e-12;
|
|
21
|
-
/** Vacuum permeability from ε₀ and the exact c. */
|
|
22
|
-
export const MU0_SI = 1 / (EPS0_SI * C_SI * C_SI);
|
|
10
|
+
import { MASS, TEMPERATURE } from './types.js';
|
|
11
|
+
import { CONSTANT_REGISTRY } from './symbolic-constants.js';
|
|
12
|
+
import { allQuantityRecords, foldName, quantityRecord, synonymGroupsFromRegistry } from './quantity-registry.js';
|
|
23
13
|
/**
|
|
24
|
-
* Overlay names
|
|
25
|
-
* so it is not listed here.
|
|
26
|
-
* curvature extension (the frozen `CE-friedmann` entry is the flat term).
|
|
14
|
+
* Overlay names: the registry rows a canonical equation may not bake. `eps0`
|
|
15
|
+
* is a spelling of `epsilon_0`, so it is not listed here.
|
|
27
16
|
* @internal
|
|
28
17
|
*/
|
|
29
|
-
export const FORMULA_NAMED =
|
|
30
|
-
{ name: 'm_e', dim: MASS, value: M_E_SI },
|
|
31
|
-
{ name: 'electron_mass', dim: MASS, value: M_E_SI },
|
|
32
|
-
{ name: 'e_charge', dim: CHARGE, value: E_SI },
|
|
33
|
-
{ name: 'mu_0', dim: PERMEABILITY, value: MU0_SI },
|
|
34
|
-
{ name: 'm_p', dim: MASS, value: M_PROTON_SI },
|
|
35
|
-
{ name: 'm_proton', dim: MASS, value: M_PROTON_SI },
|
|
36
|
-
{ name: 'N_A', dim: PER_AMOUNT, value: N_A_SI },
|
|
37
|
-
{ name: 'F', dim: FARADAY, value: FARADAY_SI },
|
|
38
|
-
{ name: 'curvature_k', dim: DIMENSIONLESS, value: 0 },
|
|
39
|
-
{ name: 'scale_factor', dim: LENGTH, value: 1 },
|
|
40
|
-
];
|
|
18
|
+
export const FORMULA_NAMED = CONSTANT_REGISTRY.filter((row) => !row.canonical).map((row) => ({ name: row.name, dim: row.dim, value: row.value }));
|
|
41
19
|
/** Name → dimension for the formula overlay. Does not override a catalog entry. @internal */
|
|
42
20
|
export function formulaNameDimensions() {
|
|
43
21
|
return new Map(FORMULA_NAMED.map((n) => [n.name, n.dim]));
|
|
@@ -58,19 +36,30 @@ export const DIMENSION_RENAMES = [
|
|
|
58
36
|
*
|
|
59
37
|
* A group is not a pair of hubs. `T` and `temp` are the same temperature
|
|
60
38
|
* whether or not the word `temperature` is also present. `Th_K` and `Tc_K`
|
|
61
|
-
* are two temperatures and are not in the temperature group.
|
|
39
|
+
* are two temperatures and are not in the temperature group. `k_B` and
|
|
40
|
+
* `boltzmann-constant` are one scale. `specific-heat` and
|
|
41
|
+
* `specific-heat-capacity` are one quantity. This array is
|
|
62
42
|
* the only spelling list: the name table holds it by reference, and a
|
|
63
43
|
* temperature binding asks {@link isTemperatureName}.
|
|
64
44
|
*
|
|
65
45
|
* A dimension rename is a different fact. It applies only when the symbol
|
|
66
46
|
* carries that dimension, so a time coordinate named `T` stays `T`.
|
|
67
47
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
48
|
+
/** Synonym groups projected from the quantity registry's aliases. */
|
|
49
|
+
export const SYNONYM_GROUPS = synonymGroupsFromRegistry();
|
|
50
|
+
const QUANTITY_IDS = new Set(allQuantityRecords().map((row) => row.id));
|
|
51
|
+
/**
|
|
52
|
+
* The registry id for `name`, or for the same spelling with `_` written as `-`.
|
|
53
|
+
* A short symbol that is not an id stays unresolved. Dimension is not consulted.
|
|
54
|
+
*/
|
|
55
|
+
export function quantityIdForSpelling(name) {
|
|
56
|
+
if (QUANTITY_IDS.has(name))
|
|
57
|
+
return name;
|
|
58
|
+
const hyphen = foldName(name);
|
|
59
|
+
if (hyphen !== name && QUANTITY_IDS.has(hyphen))
|
|
60
|
+
return hyphen;
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
74
63
|
/** The group `name` belongs to, comparing `_` and `-` as the same character. */
|
|
75
64
|
export function synonymGroup(name) {
|
|
76
65
|
const folded = foldName(name);
|
|
@@ -84,6 +73,16 @@ export function isTemperatureName(name) {
|
|
|
84
73
|
const group = synonymGroup(name);
|
|
85
74
|
return group !== undefined && group.includes('temperature');
|
|
86
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Whether an affine temperature on this quantity is an interval or a point.
|
|
78
|
+
*
|
|
79
|
+
* The registry declares `kind`. An interval is a difference. A name the
|
|
80
|
+
* registry does not declare is an absolute point. The spelling of the name
|
|
81
|
+
* is not the role.
|
|
82
|
+
*/
|
|
83
|
+
export function temperatureQuantityRole(name) {
|
|
84
|
+
return quantityRecord(name)?.kind === 'interval' ? 'difference' : 'absolute';
|
|
85
|
+
}
|
|
87
86
|
/**
|
|
88
87
|
* Thrown when one quantity is bound under two spellings and the numbers differ.
|
|
89
88
|
* The formula is not run. The message names both spellings.
|
|
@@ -94,6 +93,20 @@ export class SynonymDisagreementError extends Error {
|
|
|
94
93
|
this.name = 'SynonymDisagreementError';
|
|
95
94
|
}
|
|
96
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* The error for spellings of one quantity that carry different numbers, or
|
|
98
|
+
* null when they agree. Every caller that refuses a disagreement builds its
|
|
99
|
+
* message here.
|
|
100
|
+
*/
|
|
101
|
+
export function synonymDisagreement(present, values) {
|
|
102
|
+
if (present.length < 2)
|
|
103
|
+
return null;
|
|
104
|
+
const first = values[present[0]];
|
|
105
|
+
if (!present.some((key) => values[key] !== first))
|
|
106
|
+
return null;
|
|
107
|
+
const shown = present.map((key) => `${key}=${values[key]}`).join(', ');
|
|
108
|
+
return new SynonymDisagreementError(`${present.join(' and ')} are one quantity and disagree (${shown})`);
|
|
109
|
+
}
|
|
97
110
|
/** Spellings of one group that `values` actually binds. */
|
|
98
111
|
function presentSpellings(group, values) {
|
|
99
112
|
return Object.keys(values).filter((key) => group.some((member) => member === key || foldName(member) === foldName(key)));
|
|
@@ -104,14 +117,9 @@ function presentSpellings(group, values) {
|
|
|
104
117
|
*/
|
|
105
118
|
export function assertSynonymAgreement(values) {
|
|
106
119
|
for (const group of SYNONYM_GROUPS) {
|
|
107
|
-
const
|
|
108
|
-
if (
|
|
109
|
-
|
|
110
|
-
const first = values[present[0]];
|
|
111
|
-
if (present.some((key) => values[key] !== first)) {
|
|
112
|
-
const shown = present.map((key) => `${key}=${values[key]}`).join(', ');
|
|
113
|
-
throw new SynonymDisagreementError(`${present.join(' and ')} are one quantity and disagree (${shown})`);
|
|
114
|
-
}
|
|
120
|
+
const disagreement = synonymDisagreement(presentSpellings(group, values), values);
|
|
121
|
+
if (disagreement !== null)
|
|
122
|
+
throw disagreement;
|
|
115
123
|
}
|
|
116
124
|
}
|
|
117
125
|
/**
|