-
Task
-
Resolution: Unresolved
-
P4
-
None
-
6.0.0
-
generic
-
generic
The difference between two timestamp quantities is a timespan quantity, as returned by IQuantity.subtract(IQuantity). While there is general support for linear kinds-of-quantities like timespan, the only non-linear kind-of-quantity currently supported is timestamp.
But there are many other physical kinds-of-quantities that are non-linear in the sense that two quantities cannot be meaningfully added, but their difference is a linear quantity. Examples include time of day, temperature and memory address.
At least memory address is a content type that we currently have in flight recordings, and while it could be treated as an opaque identifier, there might also be benefits to treating it as a kind-of-quantity whose delta is amount of memory.
Additionally, the corresponding units to such kinds-of-quantities could possibly simplify the implementation of JMC-3567 by using them to specify graph axes.
The IQuantity implementation hierarchy has already been generalized to support changes like this. What remains are mostly in the IUnit implementations and formatting support.