universal-physics-tensor 6.1.0 → 8.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 +5 -5
- 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 +15273 -0
- package/data/bridge-catalog.schema.json +116 -0
- package/data/confrontation-sources.md +137 -0
- package/data/quantities.json +9743 -0
- package/data/schemas/atlas-record.v0.json +236 -0
- package/data/schemas/discovery-run.v0.json +203 -0
- 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 +304 -1
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +341 -1
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +7 -1
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +10 -85
- package/dist/atlas/physjs-ref.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-load.d.ts +34 -0
- package/dist/bridges/catalog-load.d.ts.map +1 -0
- package/dist/bridges/catalog-load.js +89 -0
- package/dist/bridges/catalog-load.js.map +1 -0
- package/dist/bridges/catalog-types.d.ts +119 -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/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +30 -8
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +14 -27
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +83 -354
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +19 -0
- package/dist/bridges/expr-parse.d.ts.map +1 -0
- package/dist/bridges/expr-parse.js +269 -0
- package/dist/bridges/expr-parse.js.map +1 -0
- package/dist/bridges/holds.d.ts +22 -0
- package/dist/bridges/holds.d.ts.map +1 -0
- package/dist/bridges/holds.js +266 -0
- package/dist/bridges/holds.js.map +1 -0
- package/dist/bridges/index.d.ts +18 -352
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +17 -3306
- package/dist/bridges/index.js.map +1 -1
- 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/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +5 -4
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +1 -1
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +7 -3
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.js +1 -1
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- package/dist/canonical/entries/mechanics.js +1 -1
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +1 -1
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.js +1 -1
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +1 -1
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +2 -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/kepler-rv.d.ts.map +1 -1
- package/dist/cases/kepler-rv.js +7 -3
- 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.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +18 -1
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.js +1 -1
- package/dist/cli/commands/atlas.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/eval.d.ts.map +1 -1
- package/dist/cli/commands/eval.js +11 -1
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +44 -27
- 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 +16 -3
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/map.js +1 -1
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +15 -3
- 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 +5 -4
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/search-index.d.ts +1 -1
- package/dist/cli/search-index.js +1 -1
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli-api.d.ts +13 -2
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +13 -2
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/aliases.d.ts +10 -29
- package/dist/composition/aliases.d.ts.map +1 -1
- package/dist/composition/aliases.js +17 -66
- package/dist/composition/aliases.js.map +1 -1
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +4 -3
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +12 -7
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +78 -20
- package/dist/composition/canonical-graph.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 -45
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +26 -22
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +18 -0
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +103 -18
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +6 -0
- 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 -13
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +6 -13
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/quantities.d.ts +11 -26
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +29 -28
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/user-equation.d.ts +3 -20
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +8 -55
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/constants.d.ts +14 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +16 -0
- package/dist/core/constants.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +1 -0
- 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 +32 -62
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +55 -76
- 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 +22 -214
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/formula-names.d.ts +65 -0
- package/dist/dimensional/formula-names.d.ts.map +1 -1
- package/dist/dimensional/formula-names.js +150 -2
- 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 +33 -0
- package/dist/dimensional/quantity-registry.d.ts.map +1 -0
- package/dist/dimensional/quantity-registry.js +49 -0
- package/dist/dimensional/quantity-registry.js.map +1 -0
- package/dist/dimensional/units.d.ts +4 -2
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +274 -60
- package/dist/dimensional/units.js.map +1 -1
- package/dist/index.d.ts +23 -59
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -45
- package/dist/index.js.map +1 -1
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +75 -24
- 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/gl4-integrator.d.ts +6 -3
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +6 -3
- 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/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/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/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/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
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kebab catalog names are one token. A parser that treats `-` as subtraction
|
|
3
|
+
* splits them. Longest match first, so a longer declared name wins over a
|
|
4
|
+
* shorter one that is its suffix.
|
|
5
|
+
*
|
|
6
|
+
* @module dimensional/hyphen-names
|
|
7
|
+
*/
|
|
8
|
+
function escapeRegExp(s) {
|
|
9
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Rewrite declared kebab-case names to underscores. Names without a hyphen
|
|
13
|
+
* stay. A hyphen that is not a declared name stays subtraction.
|
|
14
|
+
*/
|
|
15
|
+
export function rewriteCatalogHyphens(text, catalogNames) {
|
|
16
|
+
const names = [...catalogNames]
|
|
17
|
+
.filter((n) => n.includes('-'))
|
|
18
|
+
.sort((a, b) => b.length - a.length || a.localeCompare(b));
|
|
19
|
+
let out = text;
|
|
20
|
+
for (const name of names) {
|
|
21
|
+
const underscored = name.replace(/-/g, '_');
|
|
22
|
+
const re = new RegExp(`(?<![A-Za-z0-9_])${escapeRegExp(name)}(?![A-Za-z0-9_])`, 'g');
|
|
23
|
+
out = out.replace(re, underscored);
|
|
24
|
+
}
|
|
25
|
+
return out;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=hyphen-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyphen-names.js","sourceRoot":"","sources":["../../src/dimensional/hyphen-names.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,YAAoD;IAEpD,MAAM,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC;SAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,oBAAoB,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;QACrF,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The quantity registry. Canonical id, aliases, dimension, and whether an
|
|
3
|
+
* affine temperature is an absolute point or an interval. Synonym groups and
|
|
4
|
+
* the temperature role are projections of this table.
|
|
5
|
+
*
|
|
6
|
+
* @module dimensional/quantity-registry
|
|
7
|
+
*/
|
|
8
|
+
import type { Dimension } from './types.js';
|
|
9
|
+
/** Declared role of an affine temperature quantity. */
|
|
10
|
+
export type QuantityKind = 'absolute' | 'interval';
|
|
11
|
+
/** A carrier that enters a same-sign transport rule. */
|
|
12
|
+
export type SignRole = 'charge' | 'mobility';
|
|
13
|
+
/** One quantity. `graphNode` is false for a spelling that is not a graph node. */
|
|
14
|
+
export interface QuantityRecord {
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly symbol: string;
|
|
17
|
+
readonly dimension: Dimension;
|
|
18
|
+
readonly attributes: Readonly<Record<string, string>>;
|
|
19
|
+
readonly kind?: QuantityKind;
|
|
20
|
+
readonly aliases?: readonly string[];
|
|
21
|
+
readonly signRole?: SignRole;
|
|
22
|
+
readonly graphNode: boolean;
|
|
23
|
+
}
|
|
24
|
+
/** Every quantity record, graph nodes and spellings. */
|
|
25
|
+
export declare function allQuantityRecords(): readonly QuantityRecord[];
|
|
26
|
+
/** The record `name` spells, comparing `_` and `-` as the same character. */
|
|
27
|
+
export declare function quantityRecord(name: string): QuantityRecord | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Synonym groups projected from declared aliases. The canonical id is first.
|
|
30
|
+
* A quantity with no alias is not a group.
|
|
31
|
+
*/
|
|
32
|
+
export declare function synonymGroupsFromRegistry(): readonly (readonly string[])[];
|
|
33
|
+
//# sourceMappingURL=quantity-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quantity-registry.d.ts","sourceRoot":"","sources":["../../src/dimensional/quantity-registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,uDAAuD;AACvD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;AAEnD,wDAAwD;AACxD,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE7C,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AA0BD,wDAAwD;AACxD,wBAAgB,kBAAkB,IAAI,SAAS,cAAc,EAAE,CAE9D;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEvE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAQ1E"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The quantity registry. Canonical id, aliases, dimension, and whether an
|
|
3
|
+
* affine temperature is an absolute point or an interval. Synonym groups and
|
|
4
|
+
* the temperature role are projections of this table.
|
|
5
|
+
*
|
|
6
|
+
* @module dimensional/quantity-registry
|
|
7
|
+
*/
|
|
8
|
+
import { readFileSync } from 'node:fs';
|
|
9
|
+
import { dirname, join } from 'node:path';
|
|
10
|
+
import { fileURLToPath } from 'node:url';
|
|
11
|
+
const foldName = (s) => s.replace(/_/g, '-');
|
|
12
|
+
function loadQuantities() {
|
|
13
|
+
const path = join(dirname(fileURLToPath(import.meta.url)), '../../data/quantities.json');
|
|
14
|
+
const parsed = JSON.parse(readFileSync(path, 'utf8'));
|
|
15
|
+
return parsed.quantities;
|
|
16
|
+
}
|
|
17
|
+
const QUANTITIES = loadQuantities();
|
|
18
|
+
const BY_KEY = new Map();
|
|
19
|
+
for (const row of QUANTITIES) {
|
|
20
|
+
BY_KEY.set(row.id, row);
|
|
21
|
+
BY_KEY.set(foldName(row.id), row);
|
|
22
|
+
for (const alias of row.aliases ?? []) {
|
|
23
|
+
BY_KEY.set(alias, row);
|
|
24
|
+
BY_KEY.set(foldName(alias), row);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** Every quantity record, graph nodes and spellings. */
|
|
28
|
+
export function allQuantityRecords() {
|
|
29
|
+
return QUANTITIES;
|
|
30
|
+
}
|
|
31
|
+
/** The record `name` spells, comparing `_` and `-` as the same character. */
|
|
32
|
+
export function quantityRecord(name) {
|
|
33
|
+
return BY_KEY.get(name) ?? BY_KEY.get(foldName(name));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Synonym groups projected from declared aliases. The canonical id is first.
|
|
37
|
+
* A quantity with no alias is not a group.
|
|
38
|
+
*/
|
|
39
|
+
export function synonymGroupsFromRegistry() {
|
|
40
|
+
const groups = [];
|
|
41
|
+
for (const row of QUANTITIES) {
|
|
42
|
+
const aliases = row.aliases ?? [];
|
|
43
|
+
if (aliases.length === 0)
|
|
44
|
+
continue;
|
|
45
|
+
groups.push([row.id, ...aliases]);
|
|
46
|
+
}
|
|
47
|
+
return groups;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=quantity-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quantity-registry.js","sourceRoot":"","sources":["../../src/dimensional/quantity-registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAyBzC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAE7D,SAAS,cAAc;IACrB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAiB,CAAC;IACtE,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;AAEpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;AACjD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,kBAAkB;IAChC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -3,8 +3,8 @@ import type { Dimension } from './types.js';
|
|
|
3
3
|
export interface ParsedUnit {
|
|
4
4
|
readonly scale: number;
|
|
5
5
|
readonly dim: Dimension;
|
|
6
|
-
/**
|
|
7
|
-
readonly affine?: 'celsius';
|
|
6
|
+
/** Set only for a lone affine temperature, which needs a reading. */
|
|
7
|
+
readonly affine?: 'celsius' | 'fahrenheit';
|
|
8
8
|
}
|
|
9
9
|
/** Thrown for any input that does not parse as a value with a known unit. @public */
|
|
10
10
|
export declare class UnitError extends Error {
|
|
@@ -21,6 +21,8 @@ export declare function unitConventionNotes(given: string): string[];
|
|
|
21
21
|
export declare function parseUnit(text: string): ParsedUnit;
|
|
22
22
|
/** How a temperature value is read: as a point on the scale, or as a difference. @public */
|
|
23
23
|
export type TemperatureReading = 'absolute' | 'difference';
|
|
24
|
+
/** Kelvin added when this affine unit is an absolute point. @internal */
|
|
25
|
+
export declare function affineAbsoluteOffsetK(id: 'celsius' | 'fahrenheit'): number;
|
|
24
26
|
/**
|
|
25
27
|
* Convert `raw` (`<number>[unit]`) into `target` (a unit expression). A bare
|
|
26
28
|
* number is taken to be in `target` already. The dimensions must agree.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../src/dimensional/units.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../src/dimensional/units.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5C,mEAAmE;AACnE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CAC5C;AAED,qFAAqF;AACrF,qBAAa,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAmUD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAgB3D;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAUlD;AAED,4FAA4F;AAC5F,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,YAAY,CAAC;AAE3D,yEAAyE;AACzE,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM,CAI1E;AASD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,kBAA+B,GACvC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA0BlC;AA6CD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,GAChB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,GAAG,SAAS,CAU/C;AAOD,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAErD;AAED,4GAA4G;AAC5G,wBAAgB,UAAU,IAAI;IAC5B,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;CACxB,CAEA"}
|
|
@@ -6,15 +6,30 @@
|
|
|
6
6
|
* `W/m*K` both mean W·m⁻¹·K⁻¹). An exact symbol is matched before a prefixed
|
|
7
7
|
* one, so `min` is a minute, `Pa` a pascal and `mm` a millimetre.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* An affine temperature (`degC`, `°C`, `degF`, `°F`) is accepted only alone.
|
|
10
|
+
* The kelvin value is `value × scale + offset` for an absolute reading and
|
|
11
|
+
* `value × scale` for a difference. Rankine is proportional (`°R × 5/9`), not
|
|
12
|
+
* affine. The caller decides which reading, from the quantity's role.
|
|
13
13
|
*
|
|
14
14
|
* An exact symbol wins over a prefix: `T` is the tesla and `Ts` is a
|
|
15
|
-
* terasecond; `G` is the gauss and `GPa` is a gigapascal
|
|
16
|
-
*
|
|
17
|
-
* `K²` are `K^2`.
|
|
15
|
+
* terasecond; `G` is the gauss and `GPa` is a gigapascal; `P` is the poise
|
|
16
|
+
* and `PV` is still a petavolt. A glued positive exponent is that power when
|
|
17
|
+
* the letters are already a unit, so `K2` and `K²` are `K^2`.
|
|
18
|
+
*
|
|
19
|
+
* A token with no separator is one factor when the whole token is an exact
|
|
20
|
+
* unit or a prefix plus a unit, with an optional exponent. That reading
|
|
21
|
+
* wins on a bare token, so `ms` stays a millisecond, `mm` a millimetre,
|
|
22
|
+
* `mK` a millikelvin, and `Ts` a terasecond. Inside a larger expression the
|
|
23
|
+
* prefixed reading competes with a heterogeneous product (`mK` is millikelvin
|
|
24
|
+
* or metre·kelvin; `ms` is millisecond or metre·second). A homogeneous power
|
|
25
|
+
* does not compete (`mm` is a millimetre, not metre·metre). `parseUnit` names
|
|
26
|
+
* every remaining reading and refuses. `convertValue` keeps the one reading
|
|
27
|
+
* whose dimension is the declared unit. A token that is not one factor is a
|
|
28
|
+
* product when exactly one split exists: `m2K` is `m^2·K`, `Vs` is `V·s`,
|
|
29
|
+
* and `cm^2/Vs` is `cm^2/(V·s)`. Zero splits are an unknown unit. Two or more
|
|
30
|
+
* splits name each reading and are refused (`mAs` is milliampere·second or
|
|
31
|
+
* metre·ampere·second). An unknown token that ends in a digit stays unknown
|
|
32
|
+
* when it is not that product.
|
|
18
33
|
* `AU` is the same exact metre count as `au`. `Msun` is `M_SUN_SI` kilograms; `Msun_iau` is
|
|
19
34
|
* `GM_SUN_SI / G_SI`. `myr` is a milliyear because `m` is the SI prefix.
|
|
20
35
|
* `eV` takes an SI prefix, so `GeV` is 10⁹ eV in joules. `nat` is the
|
|
@@ -90,67 +105,252 @@ const UNITS = new Map([
|
|
|
90
105
|
// IAU-style parsec; the prefix applies, so `Mpc` is a megaparsec.
|
|
91
106
|
['pc', [3.0856775814913673e16, D({ L: 1 }), true]],
|
|
92
107
|
['ly', [C_SI * 365.25 * 86400, D({ L: 1 }), false]],
|
|
108
|
+
// CGPM 1964: 1 L = 1 dm³ = 10⁻³ m³ exactly. Prefixable, so mL is a millilitre.
|
|
109
|
+
// `l` is the same litre. Bare `mL` stays the prefix; `mol/mL` competes with metre·litre.
|
|
110
|
+
['L', [1e-3, D({ L: 3 }), true]],
|
|
111
|
+
['l', [1e-3, D({ L: 3 }), true]],
|
|
112
|
+
// Thermochemical calorie: 1 cal_th = 4.184 J exactly (NIST). Not cal_IT = 4.1868 J.
|
|
113
|
+
// Prefixable, so kcal is 4184 J.
|
|
114
|
+
['cal', [4.184, JOULE, true]],
|
|
115
|
+
// International Steam Table BTU: cal_IT × (lb/g) / (°F per 1.8 °C).
|
|
116
|
+
// 4.1868 × 453.59237 / 1.8 J exactly. Not the thermochemical calorie.
|
|
117
|
+
['BTU', [(4.1868 * 453.59237) / 1.8, JOULE, false]],
|
|
118
|
+
// psi = lbf/in². lbf = 0.45359237 kg × 9.80665 m/s² (1959 pound × standard gravity).
|
|
119
|
+
// inch = 0.0254 m exactly.
|
|
120
|
+
['psi', [(0.45359237 * 9.80665) / (0.0254 * 0.0254), D({ L: -1, M: 1, T: -2 }), false]],
|
|
121
|
+
// torr = 1/760 of a standard atmosphere = 101325/760 Pa exactly. Prefixable (mtorr).
|
|
122
|
+
['torr', [101325 / 760, D({ L: -1, M: 1, T: -2 }), true]],
|
|
123
|
+
// Conventional millimetre of mercury, 133.322387415 Pa exactly (NIST SP 811).
|
|
124
|
+
// Not the torr, and not `mm` × `Hg`.
|
|
125
|
+
['mmHg', [133.322387415, D({ L: -1, M: 1, T: -2 }), false]],
|
|
126
|
+
// Poise = 0.1 Pa·s exactly. Prefixable, so cP = 10⁻³ Pa·s. Exact `P` wins over peta.
|
|
127
|
+
['P', [0.1, D({ L: -1, M: 1, T: -1 }), true]],
|
|
128
|
+
// Rankine is proportional: K = °R × 5/9. Not affine.
|
|
129
|
+
['degR', [5 / 9, D({ Theta: 1 }), false]],
|
|
130
|
+
['°R', [5 / 9, D({ Theta: 1 }), false]],
|
|
131
|
+
// Revolutions per minute = 1/60 Hz. Prefixable, so krpm is a kilorevolution per minute.
|
|
132
|
+
['rpm', [1 / 60, D({ T: -1 }), true]],
|
|
133
|
+
// Mechanical horsepower = 550 ft·lbf/s. ft = 0.3048 m.
|
|
134
|
+
['hp', [550 * 0.3048 * 0.45359237 * 9.80665, D({ L: 2, M: 1, T: -3 }), false]],
|
|
93
135
|
]);
|
|
94
136
|
const CELSIUS_OFFSET_K = 273.15;
|
|
137
|
+
const FAHRENHEIT_SCALE = 5 / 9;
|
|
138
|
+
/** Lone spellings. A compound that contains one is refused. */
|
|
139
|
+
const AFFINE = [
|
|
140
|
+
{ id: 'celsius', scale: 1, offset: CELSIUS_OFFSET_K, symbols: ['degC', '°C'] },
|
|
141
|
+
{
|
|
142
|
+
id: 'fahrenheit',
|
|
143
|
+
scale: FAHRENHEIT_SCALE,
|
|
144
|
+
offset: CELSIUS_OFFSET_K - 32 * FAHRENHEIT_SCALE,
|
|
145
|
+
symbols: ['degF', '°F'],
|
|
146
|
+
},
|
|
147
|
+
];
|
|
148
|
+
function affineRow(text) {
|
|
149
|
+
return AFFINE.find((row) => row.symbols.includes(text));
|
|
150
|
+
}
|
|
95
151
|
const PREFIXES = new Map([
|
|
96
152
|
['Y', 1e24], ['Z', 1e21], ['E', 1e18], ['P', 1e15], ['T', 1e12], ['G', 1e9], ['M', 1e6], ['k', 1e3],
|
|
97
153
|
['h', 1e2], ['da', 1e1], ['d', 1e-1], ['c', 1e-2], ['m', 1e-3], ['u', 1e-6], ['µ', 1e-6], ['μ', 1e-6],
|
|
98
154
|
['n', 1e-9], ['p', 1e-12], ['f', 1e-15], ['a', 1e-18], ['z', 1e-21], ['y', 1e-24],
|
|
99
155
|
]);
|
|
100
156
|
function parseSymbol(sym) {
|
|
157
|
+
const parsed = trySymbol(sym);
|
|
158
|
+
if (parsed !== null)
|
|
159
|
+
return parsed;
|
|
160
|
+
throw new UnitError(`unknown unit '${sym}'`);
|
|
161
|
+
}
|
|
162
|
+
function trySymbol(sym) {
|
|
101
163
|
const exact = UNITS.get(sym);
|
|
102
164
|
if (exact !== undefined)
|
|
103
165
|
return [exact[0], exact[1]];
|
|
104
166
|
for (const [p, f] of PREFIXES) {
|
|
105
|
-
if (!sym.startsWith(p))
|
|
167
|
+
if (!sym.startsWith(p) || sym.length === p.length)
|
|
106
168
|
continue;
|
|
107
169
|
const base = UNITS.get(sym.slice(p.length));
|
|
108
170
|
if (base !== undefined && base[2])
|
|
109
171
|
return [f * base[0], base[1]];
|
|
110
172
|
}
|
|
111
|
-
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
/** One factor, or null when `token` is not exactly one unit with an optional exponent. */
|
|
176
|
+
function tryOneFactor(token) {
|
|
177
|
+
let base = token;
|
|
178
|
+
let exp = 1;
|
|
179
|
+
const caret = /^(.+)\^([+-]?\d+)$/.exec(token);
|
|
180
|
+
if (caret !== null) {
|
|
181
|
+
base = caret[1];
|
|
182
|
+
exp = Number(caret[2]);
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
const uni = /^(.*?)([¹²³])$/.exec(token);
|
|
186
|
+
const superExp = uni === null ? undefined : SUPERSCRIPT[uni[2]];
|
|
187
|
+
if (uni !== null && superExp !== undefined && uni[1].length > 0) {
|
|
188
|
+
base = uni[1];
|
|
189
|
+
exp = superExp;
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
const glued = /^(.*?)([1-9]\d*)$/.exec(token);
|
|
193
|
+
if (glued !== null && glued[1].length > 0 && trySymbol(glued[1]) !== null) {
|
|
194
|
+
base = glued[1];
|
|
195
|
+
exp = Number(glued[2]);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
const parsed = trySymbol(base);
|
|
200
|
+
if (parsed === null || !Number.isFinite(exp))
|
|
201
|
+
return null;
|
|
202
|
+
return { base, exp, scale: parsed[0], dim: parsed[1] };
|
|
203
|
+
}
|
|
204
|
+
function formatReading(factors) {
|
|
205
|
+
return factors.map((factor) => (factor.exp === 1 ? factor.base : `${factor.base}^${factor.exp}`)).join('·');
|
|
206
|
+
}
|
|
207
|
+
/** The unprefixed unit a prefix spelling attaches to, or null when `symbol` is exact. */
|
|
208
|
+
function attachedUnit(symbol) {
|
|
209
|
+
if (UNITS.has(symbol))
|
|
210
|
+
return null;
|
|
211
|
+
for (const [prefix] of PREFIXES) {
|
|
212
|
+
if (!symbol.startsWith(prefix) || symbol.length === prefix.length)
|
|
213
|
+
continue;
|
|
214
|
+
const base = symbol.slice(prefix.length);
|
|
215
|
+
const row = UNITS.get(base);
|
|
216
|
+
if (row !== undefined && row[2])
|
|
217
|
+
return base;
|
|
218
|
+
}
|
|
219
|
+
return null;
|
|
112
220
|
}
|
|
113
|
-
const SUPERSCRIPT = { '¹': 1, '²': 2, '³': 3 };
|
|
114
221
|
/**
|
|
115
|
-
* A
|
|
116
|
-
*
|
|
117
|
-
*
|
|
222
|
+
* A product of the same unprefixed unit the prefix attaches to (`mm` = m·m,
|
|
223
|
+
* `mm2` = m·m²). Powers are written `m2` / `m^2`, so this reading does not
|
|
224
|
+
* compete with the prefix.
|
|
118
225
|
*/
|
|
119
|
-
function
|
|
120
|
-
const
|
|
121
|
-
if (
|
|
122
|
-
return
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
if (
|
|
135
|
-
|
|
226
|
+
function homogeneousPower(single, product) {
|
|
227
|
+
const unit = attachedUnit(single.base);
|
|
228
|
+
if (unit === null)
|
|
229
|
+
return false;
|
|
230
|
+
return product.every((factor) => factor.base === unit && attachedUnit(factor.base) === null);
|
|
231
|
+
}
|
|
232
|
+
/** Every way to split `token` into one or more factors. A one-factor token is included. */
|
|
233
|
+
function segmentations(token) {
|
|
234
|
+
const ways = Array.from({ length: token.length + 1 }, () => []);
|
|
235
|
+
ways[0].push([]);
|
|
236
|
+
for (let i = 0; i < token.length; i++) {
|
|
237
|
+
if (ways[i].length === 0)
|
|
238
|
+
continue;
|
|
239
|
+
for (let j = i + 1; j <= token.length; j++) {
|
|
240
|
+
const factor = tryOneFactor(token.slice(i, j));
|
|
241
|
+
if (factor === null)
|
|
242
|
+
continue;
|
|
243
|
+
for (const prev of ways[i])
|
|
244
|
+
ways[j].push([...prev, factor]);
|
|
136
245
|
}
|
|
137
246
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
247
|
+
const unique = new Map();
|
|
248
|
+
for (const way of ways[token.length])
|
|
249
|
+
unique.set(formatReading(way), way);
|
|
250
|
+
return [...unique.values()];
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Ways to read one token. A bare expression keeps a one-factor reading and
|
|
254
|
+
* does not also split it. Inside a compound, a prefixed factor also competes
|
|
255
|
+
* with each heterogeneous product. A homogeneous power does not.
|
|
256
|
+
*/
|
|
257
|
+
function tokenWays(token, compete) {
|
|
258
|
+
const single = tryOneFactor(token);
|
|
259
|
+
if (single !== null && !compete)
|
|
260
|
+
return [[single]];
|
|
261
|
+
const products = segmentations(token).filter((way) => way.length > 1);
|
|
262
|
+
const extra = single === null ? products : products.filter((way) => !homogeneousPower(single, way));
|
|
263
|
+
const ways = [];
|
|
264
|
+
if (single !== null)
|
|
265
|
+
ways.push([single]);
|
|
266
|
+
for (const way of extra)
|
|
267
|
+
ways.push(way);
|
|
268
|
+
const unique = new Map();
|
|
269
|
+
for (const way of ways)
|
|
270
|
+
unique.set(formatReading(way), way);
|
|
271
|
+
const list = [...unique.values()];
|
|
272
|
+
if (list.length === 0)
|
|
273
|
+
throw new UnitError(`unknown unit '${token}'`);
|
|
274
|
+
return list;
|
|
275
|
+
}
|
|
276
|
+
function cartesian(lists) {
|
|
277
|
+
let acc = [[]];
|
|
278
|
+
for (const list of lists) {
|
|
279
|
+
const next = [];
|
|
280
|
+
for (const prev of acc)
|
|
281
|
+
for (const item of list)
|
|
282
|
+
next.push([...prev, item]);
|
|
283
|
+
acc = next;
|
|
284
|
+
}
|
|
285
|
+
return acc;
|
|
141
286
|
}
|
|
142
|
-
function
|
|
287
|
+
function sideTokens(text) {
|
|
288
|
+
return text.split(/[*·\s]+/).filter((part) => part.length > 0);
|
|
289
|
+
}
|
|
290
|
+
function formatSide(tokens) {
|
|
291
|
+
return tokens.map((factors) => formatReading(factors)).join('·');
|
|
292
|
+
}
|
|
293
|
+
function formatExpression(num, den) {
|
|
294
|
+
const numerator = formatSide(num);
|
|
295
|
+
if (den.length === 0)
|
|
296
|
+
return numerator;
|
|
297
|
+
const denominator = formatSide(den);
|
|
298
|
+
return denominator.includes('·') ? `${numerator}/(${denominator})` : `${numerator}/${denominator}`;
|
|
299
|
+
}
|
|
300
|
+
function accumulate(tokens, sign) {
|
|
143
301
|
let scale = 1;
|
|
144
302
|
let dim = DIMENSIONLESS;
|
|
145
|
-
for (const
|
|
146
|
-
const
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
303
|
+
for (const factors of tokens) {
|
|
304
|
+
for (const factor of factors) {
|
|
305
|
+
const n = sign * factor.exp;
|
|
306
|
+
scale *= factor.scale ** n;
|
|
307
|
+
dim = multiply(dim, power(factor.dim, n));
|
|
308
|
+
}
|
|
151
309
|
}
|
|
152
310
|
return { scale, dim };
|
|
153
311
|
}
|
|
312
|
+
/** Every dimensionally distinct spelling of one unit expression. */
|
|
313
|
+
function unitReadings(text) {
|
|
314
|
+
const t = text.trim();
|
|
315
|
+
if (t === '' || t === '1')
|
|
316
|
+
return [{ scale: 1, dim: DIMENSIONLESS, label: '1' }];
|
|
317
|
+
const affine = affineRow(t);
|
|
318
|
+
if (affine !== undefined) {
|
|
319
|
+
return [{ scale: affine.scale, dim: D({ Theta: 1 }), affine: affine.id, label: t }];
|
|
320
|
+
}
|
|
321
|
+
if (AFFINE.some((row) => row.symbols.some((symbol) => t.includes(symbol))) ||
|
|
322
|
+
/deg\s+[CFcf]|°\s*[CFcf]/.test(t)) {
|
|
323
|
+
throw new UnitError('an affine temperature cannot be part of a compound unit; give K');
|
|
324
|
+
}
|
|
325
|
+
const parts = t.split('/');
|
|
326
|
+
if (parts.length > 2)
|
|
327
|
+
throw new UnitError(`'${t}' has more than one '/'; put the whole denominator after one '/'`);
|
|
328
|
+
const compete = /[*·/\s]/.test(t);
|
|
329
|
+
const numerator = sideTokens(parts[0]);
|
|
330
|
+
const denominatorText = parts.length === 1 ? '' : parts[1].replace(/^\((.*)\)$/, '$1');
|
|
331
|
+
const denominator = denominatorText === '' ? [] : sideTokens(denominatorText);
|
|
332
|
+
// `/s` is a dimensionless numerator over seconds. A bare `/` is not a unit.
|
|
333
|
+
if (numerator.length === 0 && denominator.length === 0)
|
|
334
|
+
throw new UnitError(`unknown unit '${t}'`);
|
|
335
|
+
const numWays = numerator.map((token) => tokenWays(token, compete));
|
|
336
|
+
const denWays = denominator.map((token) => tokenWays(token, compete));
|
|
337
|
+
const numCombos = numerator.length === 0 ? [[]] : cartesian(numWays);
|
|
338
|
+
const denCombos = denominator.length === 0 ? [[]] : cartesian(denWays);
|
|
339
|
+
const unique = new Map();
|
|
340
|
+
for (const num of numCombos) {
|
|
341
|
+
for (const den of denCombos) {
|
|
342
|
+
const n = accumulate(num, 1);
|
|
343
|
+
const d = accumulate(den, -1);
|
|
344
|
+
const label = formatExpression(num, den);
|
|
345
|
+
unique.set(label, { scale: n.scale * d.scale, dim: multiply(n.dim, d.dim), label });
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
return [...unique.values()];
|
|
349
|
+
}
|
|
350
|
+
function ambiguousMessage(text, readings) {
|
|
351
|
+
return `'${text}' is ambiguous: ${readings.map((reading) => reading.label).join(' or ')}`;
|
|
352
|
+
}
|
|
353
|
+
const SUPERSCRIPT = { '¹': 1, '²': 2, '³': 3 };
|
|
154
354
|
/**
|
|
155
355
|
* Spellings that convert correctly and still mean something else to a reader.
|
|
156
356
|
* `myr` is a milliyear, `Msun` is `M_SUN_SI`, bare `G` is the gauss, bare `T`
|
|
@@ -172,27 +372,35 @@ export function unitConventionNotes(given) {
|
|
|
172
372
|
notes.push('bare T is the tesla; Ts is a terasecond');
|
|
173
373
|
if (symbols.includes('A'))
|
|
174
374
|
notes.push('bare A is the ampere, not the angstrom; write angstrom or Å for 10^-10 m');
|
|
375
|
+
if (symbols.includes('P'))
|
|
376
|
+
notes.push('bare P is the poise (0.1 Pa·s); PV is still a petavolt');
|
|
175
377
|
return notes;
|
|
176
378
|
}
|
|
177
379
|
/** Parse a unit expression; the empty string is dimensionless. @public */
|
|
178
380
|
export function parseUnit(text) {
|
|
179
381
|
const t = text.trim();
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
return
|
|
382
|
+
const readings = unitReadings(t);
|
|
383
|
+
if (readings.length !== 1)
|
|
384
|
+
throw new UnitError(ambiguousMessage(t, readings));
|
|
385
|
+
const reading = readings[0];
|
|
386
|
+
return {
|
|
387
|
+
scale: reading.scale,
|
|
388
|
+
dim: reading.dim,
|
|
389
|
+
...(reading.affine !== undefined ? { affine: reading.affine } : {}),
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
/** Kelvin added when this affine unit is an absolute point. @internal */
|
|
393
|
+
export function affineAbsoluteOffsetK(id) {
|
|
394
|
+
const row = AFFINE.find((candidate) => candidate.id === id);
|
|
395
|
+
if (row === undefined)
|
|
396
|
+
throw new UnitError(`unknown affine temperature '${id}'`);
|
|
397
|
+
return row.offset;
|
|
398
|
+
}
|
|
399
|
+
/** Kelvin from an affine or proportional reading. A difference drops the offset. */
|
|
400
|
+
function kelvinFrom(value, unit, reading) {
|
|
401
|
+
const row = unit.affine === undefined ? undefined : AFFINE.find((candidate) => candidate.id === unit.affine);
|
|
402
|
+
const offset = row !== undefined && reading === 'absolute' ? row.offset : 0;
|
|
403
|
+
return value * unit.scale + offset;
|
|
196
404
|
}
|
|
197
405
|
/**
|
|
198
406
|
* Convert `raw` (`<number>[unit]`) into `target` (a unit expression). A bare
|
|
@@ -211,15 +419,21 @@ export function convertValue(raw, target, reading = 'absolute') {
|
|
|
211
419
|
throw new UnitError(`'${raw}' is not a finite number`);
|
|
212
420
|
if (given === '')
|
|
213
421
|
return { value: v, given };
|
|
214
|
-
const
|
|
422
|
+
const readings = unitReadings(given);
|
|
215
423
|
const to = parseUnit(target);
|
|
216
424
|
if (to.affine !== undefined)
|
|
217
425
|
throw new UnitError(`a declared unit cannot be affine ('${target}')`);
|
|
218
|
-
|
|
426
|
+
const matched = readings.filter((candidate) => equals(candidate.dim, to.dim));
|
|
427
|
+
if (matched.length !== 1) {
|
|
428
|
+
if (readings.length > 1)
|
|
429
|
+
throw new UnitError(ambiguousMessage(given, readings));
|
|
430
|
+
const from = readings[0];
|
|
431
|
+
if (from === undefined)
|
|
432
|
+
throw new UnitError(`unknown unit '${given}'`);
|
|
219
433
|
throw new UnitError(`'${given}' is ${format(from.dim)}, but this input is ${format(to.dim)} (${target || 'dimensionless'})`);
|
|
220
434
|
}
|
|
221
|
-
const
|
|
222
|
-
const local = (v
|
|
435
|
+
const from = matched[0];
|
|
436
|
+
const local = kelvinFrom(v, from, reading) / to.scale;
|
|
223
437
|
// MathTS `unit` + `toSI` is the conversion when it reads the same quantity.
|
|
224
438
|
// A temperature difference must not take the absolute offset `toSI` adds.
|
|
225
439
|
// `bit` is ln 2 nat here; MathTS reads `bit` as 1. Symbols MathTS does not
|