Skip to content

Commit 8d25be4

Browse files
authored
Merge pull request #1584 from IETS3/bugfix/negative_metric_scaling_for_units_joule_and_watt_1583
Allow negative metric scalings for units Joule, Coulomb and Watt
2 parents 8cc1b08 + a5a618f commit 8d25be4

File tree

3 files changed

+22
-12
lines changed

3 files changed

+22
-12
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ All notable changes to this project are documented in this file.
55
Format of the log is _loosely_ based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66
The project does _not_ follow Semantic Versioning and the changes are documented in reverse chronological order, grouped by calendar month.
77

8+
## January 2026
9+
10+
### Fixed
11+
12+
- Physical units: The units `Joule`, `Coulomb` and `Watt` can now have also prefixes with negative metric scaling, e.g., `mW` (Milliwatt). Additionally, some typos have been corrected in the physical units documentation.
13+
14+
815
## December 2025
916

1017
### Added

code/languages/org.iets3.opensource/solutions/org.iets3.core.expr.typetags.physunits.documentation/models/org.iets3.core.expr.typetags.physunits.documentation.mps

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -805,7 +805,7 @@
805805
<ref role="1_0GAl" node="4Zdo13zi0G7" resolve="Units" />
806806
</node>
807807
<node concept="19SUe$" id="4Zdo13zi0Gw" role="19SJt6">
808-
<property role="19SUeA" value=" support multiplication, division, and exponents with integers or fractions in their specification. There are intentions to simplify them and convert between different operations. All operations are implemented as operations of a mathematical group. Exponents in specifications are automatically sorted in ascending order for positive exponents and descending order for negative exponents. This behavior can be overwritten through the extension point." />
808+
<property role="19SUeA" value=" support multiplication, division, and exponents with integers or fractions in their specification. There are intentions to simplify them and convert between different operations. All operations are implemented as operations of a mathematical group. Exponents in specifications are automatically sorted in ascending order for positive exponents and descending order for negative exponents. This behavior can be overwritten through the extension point." />
809809
</node>
810810
</node>
811811
</node>
@@ -867,7 +867,7 @@
867867
<node concept="1_0LV8" id="18bX8lHAGCd" role="1_0VJ0">
868868
<node concept="19SGf9" id="18bX8lHAGCe" role="1_0LWR">
869869
<node concept="19SUe$" id="18bX8lHAGCf" role="19SJt6">
870-
<property role="19SUeA" value="A physical unit is a standardized value that is used to measure and compare physical quantities. For example, the meter is a unit of length, and the kilogram is a unit of mass. length and mass are the quantities. &#10;Units must have a symbol name and can also have an optional unit name. The must reference a quantity that can be automatically derived via an intention.&#10;&#10;They support different scaling methods: no-scaling, metric scaling (= metric prefixes), and binary scaling (= binary prefixes), and have their type derived from the referenced quantity:" />
870+
<property role="19SUeA" value="A physical unit is a standardized value that is used to measure and compare physical quantities. For example, the meter is a unit of length, and the kilogram is a unit of mass. Length and mass are the quantities. &#10;Units must have a symbol name and can also have an optional unit name. They must reference a quantity that can be automatically derived via an intention.&#10;&#10;They support different scaling methods: no scaling, metric scaling (i.e., metric prefixes), and binary scaling (i.e., binary prefixes), and have their type derived from the referenced quantity:" />
871871
</node>
872872
</node>
873873
</node>
@@ -1017,7 +1017,7 @@
10171017
</node>
10181018
</node>
10191019
<node concept="19SUe$" id="7vDNpxu7bbM" role="19SJt6">
1020-
<property role="19SUeA" value=") should execute the conversion between 2 referenced units. They reference a source and a target unit that each can have an optional prefix. The " />
1020+
<property role="19SUeA" value=") should execute the conversion between two referenced units. They reference a source and a target unit that each can have an optional prefix. The " />
10211021
</node>
10221022
<node concept="28N2ik" id="7vDNpxu7bjt" role="19SJt6">
10231023
<node concept="19SGf9" id="7vDNpxu7bju" role="$DsGW">
@@ -1027,7 +1027,7 @@
10271027
</node>
10281028
</node>
10291029
<node concept="19SUe$" id="7vDNpxu7bjw" role="19SJt6">
1030-
<property role="19SUeA" value="expression refers to the converted value itself. The return type can be specified as well:&#10;" />
1030+
<property role="19SUeA" value=" expression refers to the converted value itself. The return type can be specified as well:&#10;" />
10311031
</node>
10321032
</node>
10331033
</node>
@@ -1119,7 +1119,7 @@
11191119
<node concept="1_0LV8" id="7Kcvgw17ewj" role="1_0VJ0">
11201120
<node concept="19SGf9" id="7Kcvgw17ewk" role="1_0LWR">
11211121
<node concept="19SUe$" id="7Kcvgw17ewl" role="19SJt6">
1122-
<property role="19SUeA" value="This also works for expressions with binary prefixes:" />
1122+
<property role="19SUeA" value="&#10;This also works for expressions with binary prefixes:" />
11231123
</node>
11241124
</node>
11251125
</node>
@@ -1145,6 +1145,7 @@
11451145
</node>
11461146
</node>
11471147
</node>
1148+
<node concept="1_1sxE" id="4$KsaoAh7W2" role="1_0VJ0" />
11481149
<node concept="1_0VNX" id="7Kcvgw17eEt" role="1_0VJ0">
11491150
<property role="TrG5h" value="ImplicitConversions" />
11501151
<property role="1_0VJr" value="Implicit Conversions" />
@@ -1257,6 +1258,7 @@
12571258
<ref role="3nadW_" to="i3ya:14aBVbMOlEH" resolve="NoConvertExpression" />
12581259
</node>
12591260
</node>
1261+
<node concept="1_1sxE" id="4$KsaoAhk2u" role="1_0VJ0" />
12601262
<node concept="1_0VNX" id="7Kcvgw17jwk" role="1_0VJ0">
12611263
<property role="TrG5h" value="EagerConversionRules" />
12621264
<property role="1_0VJr" value="Eager Conversion Rules" />
@@ -1316,6 +1318,7 @@
13161318
</node>
13171319
</node>
13181320
</node>
1321+
<node concept="1_1sxE" id="4$KsaoAhw8U" role="1_0VJ0" />
13191322
<node concept="1_0VNX" id="18bX8lHGsd7" role="1_0VJ0">
13201323
<property role="TrG5h" value="StandardLibrary" />
13211324
<property role="1_0VJr" value="Standard Library" />
@@ -1345,12 +1348,12 @@
13451348
<node concept="1jUjqm" id="18bX8lHGshV" role="19SJt6">
13461349
<node concept="19SGf9" id="18bX8lHGshW" role="$DsGW">
13471350
<node concept="19SUe$" id="18bX8lHGshX" role="19SJt6">
1348-
<property role="19SUeA" value="1Kbyte = 1000 byte but 1kib = 1024 b" />
1351+
<property role="19SUeA" value="1Kbyte = 1000 byte but 1kib = 1024 b" />
13491352
</node>
13501353
</node>
13511354
</node>
13521355
<node concept="19SUe$" id="18bX8lHGshY" role="19SJt6">
1353-
<property role="19SUeA" value="&#10; &#10;Translated into English: 1 kilobyte equals 1000 bytes and 1 kibibyte (binary kilobyte) equals 1024 binary bytes." />
1356+
<property role="19SUeA" value="&#10; &#10;Translated into English: 1 kilobyte equals 1000 bytes and 1 ki-byte (binary kilobyte) equals 1024 binary bytes." />
13541357
</node>
13551358
</node>
13561359
</node>

code/languages/org.iets3.opensource/solutions/org.iets3.core.expr.typetags.phyunits.si/models/org.iets3.core.expr.typetags.phyunits.si.units.mps

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1897,7 +1897,7 @@
18971897
<property role="TrG5h" value="J" />
18981898
<property role="1xMkt3" value="true" />
18991899
<property role="1o$tow" value="joule (energy)" />
1900-
<property role="22P1Ek" value="4zqoYUyQ7z3/metric_positive" />
1900+
<property role="22P1Ek" value="2hbaSyABMZN/metric" />
19011901
<ref role="Rn5ok" node="3xM68GMigY_" resolve="energy" />
19021902
<node concept="CIsGf" id="6q45UTzs0Xv" role="4gtQf">
19031903
<node concept="wW8yL" id="1eut2v5J4Rq" role="CIi4h">
@@ -1914,7 +1914,7 @@
19141914
<property role="TrG5h" value="J" />
19151915
<property role="1xMkt3" value="true" />
19161916
<property role="1o$tow" value="joule (work)" />
1917-
<property role="22P1Ek" value="4zqoYUyQ7z3/metric_positive" />
1917+
<property role="22P1Ek" value="2hbaSyABMZN/metric" />
19181918
<ref role="Rn5ok" node="70JbBC5F9LU" resolve="work" />
19191919
<node concept="CIsGf" id="70JbBC5M$rl" role="4gtQf">
19201920
<node concept="wW8yL" id="1eut2v5SLRx" role="CIi4h">
@@ -1931,7 +1931,7 @@
19311931
<property role="TrG5h" value="J" />
19321932
<property role="1xMkt3" value="true" />
19331933
<property role="1o$tow" value="joule (heat)" />
1934-
<property role="22P1Ek" value="4zqoYUyQ7z3/metric_positive" />
1934+
<property role="22P1Ek" value="2hbaSyABMZN/metric" />
19351935
<ref role="Rn5ok" node="70JbBC5GdMI" resolve="heat" />
19361936
<node concept="CIsGf" id="70JbBC5NCZ6" role="4gtQf">
19371937
<node concept="wW8yL" id="1eut2v5W2zx" role="CIi4h">
@@ -1948,7 +1948,7 @@
19481948
<property role="TrG5h" value="W" />
19491949
<property role="1xMkt3" value="true" />
19501950
<property role="1o$tow" value="watt (power)" />
1951-
<property role="22P1Ek" value="4zqoYUyQ7z3/metric_positive" />
1951+
<property role="22P1Ek" value="2hbaSyABMZN/metric" />
19521952
<ref role="Rn5ok" node="3xM68GMigYu" resolve="power" />
19531953
<node concept="CIsGf" id="6q45UTzs0Xz" role="4gtQf">
19541954
<node concept="2Wclh2" id="69VksCD_3tA" role="CIi4h">
@@ -1983,7 +1983,7 @@
19831983
<property role="TrG5h" value="C" />
19841984
<property role="1xMkt3" value="true" />
19851985
<property role="1o$tow" value="coulomb" />
1986-
<property role="22P1Ek" value="4zqoYUyQ7z3/metric_positive" />
1986+
<property role="22P1Ek" value="2hbaSyABMZN/metric" />
19871987
<ref role="Rn5ok" node="3xM68GMigY7" resolve="electric charge" />
19881988
<node concept="CIsGf" id="6q45UTzs0XD" role="4gtQf">
19891989
<node concept="wW8yL" id="6q45UTzs0XE" role="CIi4h">

0 commit comments

Comments
 (0)