Switch to using the built-in data files by default, and extending them
with teh configuration file.
The `ShowBuiltinConstants`, `ShowBuiltinCharacters` and
`ShowBuiltinUnits` are not on by default. The size of the
corresponding `config/*.csv` files are reduced to a really simple
example.
Fixes: #1052
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Some constant values from the HP50G advanced reference manual do not match the
latest data from CODATA.
Fixes: #1045
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
We want to be able to have adjusted (short) labels, yet get a
full-precision value, so base the lookup on the name of the constant
instead of its value.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
There was a prefix in the editor in the first iteration of the
implementation for constants. This was actually a good idea, since it
lets us distinguish if you really want a constant or a normal symbol.
One of the main benefits is that there is no namespace clash. For
example, you can again use the `g` name, since the g constant will
actually be (cst) g. This was breaking the part in the Demo that used
`g` as a value for the level of green.
Visually, added three characters that show as (cst), (eq) and (lib) in
the text editor, in order to know what kind of name we are dealing
with.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Instead of identifying a constant using a name, use an index in the
constants list, which takes less space and is more efficient at
runtime.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Add support for the `InfinityValue` (-22) flag, described in the
HP50G as the "Infinite result exception" flag.
When the flag is set, infinite results are returned either as symbolic
constant infinity `∞` or as its value, currently defined as
`9.99999E999999`.
Whether the infinity value is returned symbolically or numerially
depends on the `NumericalConstants` (-2) and `NumericalResults` (-3)
flags.
Fixes: #835
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Dynamic constants menu, similar to units menu, which is populated
either from an internal table, or from `config/constants.csv`
Fixes: #497
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>