Opened 7 years ago
Last modified 8 days ago
#162 assigned question
§23.1 does not define "<floating-point-number>"
Reported by: | Josh | Owned by: | Simon Cox |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | help | Keywords: | |
Cc: |
Description
§23.1 states that Special units are defined with:
`
The BNF for the special expression is <special-unit> ::= <function-symbol>“(”<floating-point-number>“ ”<term>“)” The function symbols are defined as needed.
`
But there is no language explaining what <floating-point-number>
means. Does it relate back to any definitions in §21 or §22? Perhaps it has something to do with one or more of the components in the quadruple s = (u, fs, fs-1, α)
?
Some explanation would help.
Change History (3)
comment:1 Changed 6 years ago by
comment:2 Changed 10 days ago by
Component: | → help |
---|---|
Owner: | set to Simon Cox |
Status: | new → assigned |
comment:3 Changed 8 days ago by
There is a good argument to use xsd:decimal
in preference to xsd:float
or xsd:double
for transfer - see https://arxiv.org/abs/2011.08077 . In XML (and RDF) representations there is a particular risk around 0.1, 0.01, 0.001 etc which are not exactly equal to 1/10, 1/100, 1/1000 etc in the digital approximation. So there is a case for replacing all the multipliers in the ucum-essence.xml file with xsd:decimal
throughout.
I'd be interested in other views here.
Yes, floating point number has an assumed definition as decimal with optional scientific notation. There are additional consideration that relate to the implicit specification of the number of significant digits. These issues have been discussed in another work (the HL7 v3 Data Types standard).
We have tried to keep this outside the UCUM specification, because we might have to include standardization of real numbers in computer notation into UCUM.
You may use the Java floating point notation for an example. Most other languages, e.g., SQL are quite similar and differences occur only in edge cases.
In the writing of numbers internally we use some rules:
But this is of interest only in the internal notation we might use in any formal data tables. The UCUM standard as published in text does not make that distinction.
Perhaps we should speak about this, but for us floating point number is a primitive.