mirror of
https://gitlab.com/c3d/db48x.git
synced 2024-09-29 05:36:58 +02:00
Release v0.4.12: Emergency bug fixes, filesystem access
A few quick bug fixes related to issues found in 0.4.11. New features: * `STO` and `RCL` to file (#375) * Parsing of text containing quotes (#562) Improvements: * Rework file load/save dialog boxes * Preliminary plumbing for statistics functions Bugs: * Error loading state files that contain directories (#559) * Font setting for result was taken from editor font (#560) * Crash running the `Shapes` demo (#563) Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
This commit is contained in:
parent
d04638f0f8
commit
5a2c710e49
6 changed files with 452 additions and 59 deletions
|
@ -96,7 +96,7 @@ Vector and matrices follow their own arithmetic rules. Vectors are
|
|||
one-dimensional, matrices are two-dimensional. DB48X also supports tables with a
|
||||
higher number of dimensions, but only offers limited operations on them.
|
||||
|
||||
DB48X implements vector addition, subtraction, multipplication and division,
|
||||
DB48X implements vector addition, subtraction, multiplication and division,
|
||||
which apply component-wise. Multiplication and division are an extension
|
||||
compared to the HP48.
|
||||
|
||||
|
@ -144,13 +144,15 @@ separated values, and is a common interchange format for spreadsheet data.
|
|||
Here is an example of file that would let you have a units menu called `Money`
|
||||
to convert between various monetary units:
|
||||
|
||||
`"Money"`
|
||||
`"USD", "1_USD"`
|
||||
`"EUR", "1.07_USD"`
|
||||
`"GBP", "1.24_USD"`
|
||||
`"CAD", "0.73_USD"`
|
||||
`"AUD", "0.65_USD"`
|
||||
`"CHF", "1.11_USD"`
|
||||
```
|
||||
"Money"
|
||||
"USD", "1_USD"
|
||||
"EUR", "1.07_USD"
|
||||
"GBP", "1.24_USD"
|
||||
"CAD", "0.73_USD"
|
||||
"AUD", "0.65_USD"
|
||||
"CHF", "1.11_USD"
|
||||
```
|
||||
|
||||
* All values must be placed between quotes. Separators between text values are
|
||||
mostly ignored.
|
||||
|
@ -194,12 +196,14 @@ The menu name `"=Cycle"` is reserved to define sequences of units that the
|
|||
`Cycle` command (bound to the _EEX_ key) will recognize as special. For example,
|
||||
you can ensure that `mm` and `in` convert to one another as follows:
|
||||
|
||||
`"=Cycle"`
|
||||
`"in", "mm"`
|
||||
`"mm", "in"`
|
||||
`"USD", "EUR"`
|
||||
`"EUR", "CHF"`
|
||||
`"CHF", "USD"`
|
||||
```
|
||||
"=Cycle"
|
||||
"in", "mm"
|
||||
"mm", "in"
|
||||
"USD", "EUR"
|
||||
"EUR", "CHF"
|
||||
"CHF", "USD"
|
||||
```
|
||||
|
||||
If you do provide a `Cycle` customization for a unit, other normal behaviours of
|
||||
the `Cycle` command for units are disabled, notably conversion between various
|
||||
|
@ -207,4 +211,6 @@ relevant scales and conversion between fractions and decimal. To force a
|
|||
particular conversion to happen in decimal, you can override the definition of
|
||||
the corresponding unit in the units file, for example:
|
||||
|
||||
`"in", "25.4_mm"`
|
||||
```
|
||||
"in", "25.4_mm"
|
||||
```
|
||||
|
|
|
@ -1,12 +1,34 @@
|
|||
# Release notes
|
||||
|
||||
Release 0.4.11: Debugging, Units, Settings
|
||||
## Release v0.4.12: Emergency bug fixes
|
||||
|
||||
Release v0.4.12: Emergency bug fixes, filesystem access
|
||||
|
||||
A few quick bug fixes related to issues found in 0.4.11.
|
||||
|
||||
### New features
|
||||
|
||||
* `STO` and `RCL` to file (#375)
|
||||
* Parsing of text containing quotes (#562)
|
||||
|
||||
### Improvements
|
||||
|
||||
* Rework file load/save dialog boxes
|
||||
* Preliminary plumbing for statistics functions
|
||||
|
||||
### Bugs
|
||||
|
||||
* Error loading state files that contain directories (#559)
|
||||
* Font setting for result was taken from editor font (#560)
|
||||
* Crash running the `Shapes` demo (#563)
|
||||
|
||||
## Release 0.4.11: Debugging, Units, Settings
|
||||
|
||||
This release implements debugging, infinite RPL recursion, mixed
|
||||
fractions, customizable units cycling, and restores missing entries in
|
||||
the units menu.
|
||||
|
||||
## New features
|
||||
### New features
|
||||
|
||||
* Allow customization of `Cycle` for units (#534)
|
||||
* Allow infinite recursion in RPL code (#537)
|
||||
|
@ -15,13 +37,13 @@ the units menu.
|
|||
* `BeepOn` and `SilentBeepOn` features (#280)
|
||||
* `ScreenCapture` and keyboard shortcut (#434)
|
||||
|
||||
## Bugs
|
||||
### Bugs
|
||||
|
||||
* Accept `2.3 FIX` and `#0 Background` (#557)
|
||||
* Do not parse `67.200525` as a `decimal32` (#551)
|
||||
* Bump low battery voltage to 2.550V (#553)
|
||||
|
||||
## Improvements
|
||||
### Improvements
|
||||
|
||||
* Catalog shows all commands *containing* typed text (#556)
|
||||
* Reorganize the units menu (#550) and restore missing units
|
||||
|
@ -33,3 +55,106 @@ the units menu.
|
|||
* Remove the `execute()` RPL callback, rely on `evaluate()`
|
||||
* Optimize allocation of 1-byte vs 2-byte opcodes
|
||||
* Render `abs` as `abs` and not `norm` (accept `norm` while parsing)
|
||||
|
||||
## Release v0.4.10: Performance and units file
|
||||
|
||||
This release focuses on display performance optimization and support
|
||||
for unit data files.
|
||||
|
||||
### New features
|
||||
|
||||
* Cycle command for units (#517)
|
||||
* Possibility to load units from config/units.csv file (#496, #544)
|
||||
* Internal: debug_printf facility (#541)
|
||||
* ShowBuiltinUnits and HideBuiltinUnits settings (#542)
|
||||
* Provide config/units.csv example file (#543)
|
||||
* Build units menu from units file (#544)
|
||||
|
||||
### Bugs
|
||||
|
||||
* Possible memory corruption in expressions
|
||||
* Calculator lock-up trying with unit conversions in numeric mode (#529)
|
||||
* Numerator and divisor no longer truncated to 32-bit (#539)
|
||||
* Correctly save LastArg for interactive operations (#540)
|
||||
|
||||
### Improvements
|
||||
|
||||
* Optimize the font cache, makes stack drawing faster in SCI mode (#526)
|
||||
* Add TypeName to object menu (#527)
|
||||
* Regroup units in units menu by scale (#528)
|
||||
* Status of implementation and performance data in documentation (#530)
|
||||
* Performance: Reduce frequency of busy cursor drawing (#531)
|
||||
* Performance: Reimplement range-based type checkig (#532)
|
||||
* Performance: Focused -O3 optimizations on DM42 (#533)
|
||||
* Makefile: Install target installs demo and config (#547)
|
||||
* Garbage collector for menu labels (#548)
|
||||
|
||||
|
||||
## Release 0.4.9 - Support for units
|
||||
|
||||
This release focuses on support for units, but also adds a large number of other
|
||||
fixes and improvements.
|
||||
|
||||
### New features
|
||||
|
||||
* Power-off message indicating low-battery situation (#521)
|
||||
* Add ConvertToUnixPrefix command and SI prefix menu keys (#513)
|
||||
* Recognize all units that exist in the HP48, and a few more (#491)
|
||||
* UFACT (FactorUnit) command (#512)
|
||||
* Unit simplification, e.g. turn 1_m^2*s/s/m into 1_m (#506)
|
||||
* Converting unity units to numbers (#502)
|
||||
* →Unit command (#501)
|
||||
* UnitValue (UVAL) command (#493)
|
||||
* Implement "kibibytes" (KiB) and power-of-two SI prefixes (#492)
|
||||
* Unit arithmetic (#481)
|
||||
* Add B->R and R->B to BasesMenu (#488)
|
||||
* Implement term reordering capability in rewrite (#484)
|
||||
* BaseUnits (UBase) command (#483)
|
||||
* Unit parsing for complex units, e.g. 1_cm^2 (#482)
|
||||
* Unit arithmetic (#481) including automatic conversions (#480)
|
||||
* Convert command (#480)
|
||||
* Implement the Cycle command for unit objects
|
||||
* Add Å character for angstroem (#477)
|
||||
* Add Merge state to State system menu (#475)
|
||||
* Use Unicode font to display the name of a program when executing it (#469)
|
||||
* Allow incremental search to find digits and Unicode (#468)
|
||||
* Add tool glyph to user interface font
|
||||
|
||||
### Bug fixes
|
||||
|
||||
* Do not parse symbols beyond input buffer (#524)
|
||||
* Parse unit menu entries as expressions, not symbols (#523)
|
||||
* Fix reduced-precision arithmetic (#521)
|
||||
* Do not parse empty denominator as zero, e.g. 2/s (#520)
|
||||
* Do not parse a fraction inside a power, e.g. X^2/3 (#519)
|
||||
* Convert fractions to decimal in numeric mode (#516)
|
||||
* Do not emit mantissa_error for valid numbers (#515)
|
||||
* Apply negation correctly on unit objects (#500)
|
||||
* Do not emit separator after trailing 0 in integer decimals (#489)
|
||||
* Do not emit extra spacing before decimal separator (#485)
|
||||
* Fix stack depth in one error case of evaluate_function()
|
||||
* Fix display of next/previous icons for large menus (#478)
|
||||
* Clear settings when loading a state (#474)
|
||||
* Fix separators in whole part of decimal numbers when setting is not 3 (#464)
|
||||
* Parse (sin x)²+(cos x)² correctly, as well as HP67 Mach example (#427)
|
||||
|
||||
### Improvements
|
||||
|
||||
* Rename equation as expression (#518) and labelText as label_text
|
||||
* Do not update LastArg except for command line (#511)
|
||||
* ToolsMenu: Connect units to the UnitsConversionMenu (#514)
|
||||
* Display unit using / and ·, e.g. 1_m·s^2/A (#507)
|
||||
* Show units menu for inverse units as mm⁻¹ (#503)
|
||||
* Display battery level more accurately, i.e. consider 2.6V "low" (#476)
|
||||
* No longer acccept empty equations or parentheses, e.g. 1+() (#487)
|
||||
* Make StandardDisplay mode obey MinimumSignificantDigits (#462)
|
||||
* Add algebraic evaluation function for easier evaluation in C++ code
|
||||
* Reimplement unit type as a derivative of complex (#471)
|
||||
* documentation: Use 🟨 and 🟦 for more commands (#467)
|
||||
* Swap Search and Copy commands in EditorMenu (#466)
|
||||
* STO stores variables at beginning of directory (#462)
|
||||
* documentation: Add quickstart guide, used for video recording
|
||||
* documentation: Add links to YouTube videos
|
||||
* documentation: Add release notes
|
||||
* documentation: Some typos and other improvements
|
||||
* documentation: Rework section on keyboard mappings
|
||||
|
|
169
help/db48x.md
169
help/db48x.md
|
@ -1599,7 +1599,7 @@ Vector and matrices follow their own arithmetic rules. Vectors are
|
|||
one-dimensional, matrices are two-dimensional. DB48X also supports tables with a
|
||||
higher number of dimensions, but only offers limited operations on them.
|
||||
|
||||
DB48X implements vector addition, subtraction, multipplication and division,
|
||||
DB48X implements vector addition, subtraction, multiplication and division,
|
||||
which apply component-wise. Multiplication and division are an extension
|
||||
compared to the HP48.
|
||||
|
||||
|
@ -1647,13 +1647,15 @@ separated values, and is a common interchange format for spreadsheet data.
|
|||
Here is an example of file that would let you have a units menu called `Money`
|
||||
to convert between various monetary units:
|
||||
|
||||
`"Money"`
|
||||
`"USD", "1_USD"`
|
||||
`"EUR", "1.07_USD"`
|
||||
`"GBP", "1.24_USD"`
|
||||
`"CAD", "0.73_USD"`
|
||||
`"AUD", "0.65_USD"`
|
||||
`"CHF", "1.11_USD"`
|
||||
```
|
||||
"Money"
|
||||
"USD", "1_USD"
|
||||
"EUR", "1.07_USD"
|
||||
"GBP", "1.24_USD"
|
||||
"CAD", "0.73_USD"
|
||||
"AUD", "0.65_USD"
|
||||
"CHF", "1.11_USD"
|
||||
```
|
||||
|
||||
* All values must be placed between quotes. Separators between text values are
|
||||
mostly ignored.
|
||||
|
@ -1697,12 +1699,14 @@ The menu name `"=Cycle"` is reserved to define sequences of units that the
|
|||
`Cycle` command (bound to the _EEX_ key) will recognize as special. For example,
|
||||
you can ensure that `mm` and `in` convert to one another as follows:
|
||||
|
||||
`"=Cycle"`
|
||||
`"in", "mm"`
|
||||
`"mm", "in"`
|
||||
`"USD", "EUR"`
|
||||
`"EUR", "CHF"`
|
||||
`"CHF", "USD"`
|
||||
```
|
||||
"=Cycle"
|
||||
"in", "mm"
|
||||
"mm", "in"
|
||||
"USD", "EUR"
|
||||
"EUR", "CHF"
|
||||
"CHF", "USD"
|
||||
```
|
||||
|
||||
If you do provide a `Cycle` customization for a unit, other normal behaviours of
|
||||
the `Cycle` command for units are disabled, notably conversion between various
|
||||
|
@ -1710,16 +1714,40 @@ relevant scales and conversion between fractions and decimal. To force a
|
|||
particular conversion to happen in decimal, you can override the definition of
|
||||
the corresponding unit in the units file, for example:
|
||||
|
||||
`"in", "25.4_mm"`
|
||||
```
|
||||
"in", "25.4_mm"
|
||||
```
|
||||
# Release notes
|
||||
|
||||
Release 0.4.11: Debugging, Units, Settings
|
||||
## Release v0.4.12: Emergency bug fixes
|
||||
|
||||
Release v0.4.12: Emergency bug fixes, filesystem access
|
||||
|
||||
A few quick bug fixes related to issues found in 0.4.11.
|
||||
|
||||
### New features
|
||||
|
||||
* `STO` and `RCL` to file (#375)
|
||||
* Parsing of text containing quotes (#562)
|
||||
|
||||
### Improvements
|
||||
|
||||
* Rework file load/save dialog boxes
|
||||
* Preliminary plumbing for statistics functions
|
||||
|
||||
### Bugs
|
||||
|
||||
* Error loading state files that contain directories (#559)
|
||||
* Font setting for result was taken from editor font (#560)
|
||||
* Crash running the `Shapes` demo (#563)
|
||||
|
||||
## Release 0.4.11: Debugging, Units, Settings
|
||||
|
||||
This release implements debugging, infinite RPL recursion, mixed
|
||||
fractions, customizable units cycling, and restores missing entries in
|
||||
the units menu.
|
||||
|
||||
## New features
|
||||
### New features
|
||||
|
||||
* Allow customization of `Cycle` for units (#534)
|
||||
* Allow infinite recursion in RPL code (#537)
|
||||
|
@ -1728,13 +1756,13 @@ the units menu.
|
|||
* `BeepOn` and `SilentBeepOn` features (#280)
|
||||
* `ScreenCapture` and keyboard shortcut (#434)
|
||||
|
||||
## Bugs
|
||||
### Bugs
|
||||
|
||||
* Accept `2.3 FIX` and `#0 Background` (#557)
|
||||
* Do not parse `67.200525` as a `decimal32` (#551)
|
||||
* Bump low battery voltage to 2.550V (#553)
|
||||
|
||||
## Improvements
|
||||
### Improvements
|
||||
|
||||
* Catalog shows all commands *containing* typed text (#556)
|
||||
* Reorganize the units menu (#550) and restore missing units
|
||||
|
@ -1746,6 +1774,109 @@ the units menu.
|
|||
* Remove the `execute()` RPL callback, rely on `evaluate()`
|
||||
* Optimize allocation of 1-byte vs 2-byte opcodes
|
||||
* Render `abs` as `abs` and not `norm` (accept `norm` while parsing)
|
||||
|
||||
## Release v0.4.10: Performance and units file
|
||||
|
||||
This release focuses on display performance optimization and support
|
||||
for unit data files.
|
||||
|
||||
### New features
|
||||
|
||||
* Cycle command for units (#517)
|
||||
* Possibility to load units from config/units.csv file (#496, #544)
|
||||
* Internal: debug_printf facility (#541)
|
||||
* ShowBuiltinUnits and HideBuiltinUnits settings (#542)
|
||||
* Provide config/units.csv example file (#543)
|
||||
* Build units menu from units file (#544)
|
||||
|
||||
### Bugs
|
||||
|
||||
* Possible memory corruption in expressions
|
||||
* Calculator lock-up trying with unit conversions in numeric mode (#529)
|
||||
* Numerator and divisor no longer truncated to 32-bit (#539)
|
||||
* Correctly save LastArg for interactive operations (#540)
|
||||
|
||||
### Improvements
|
||||
|
||||
* Optimize the font cache, makes stack drawing faster in SCI mode (#526)
|
||||
* Add TypeName to object menu (#527)
|
||||
* Regroup units in units menu by scale (#528)
|
||||
* Status of implementation and performance data in documentation (#530)
|
||||
* Performance: Reduce frequency of busy cursor drawing (#531)
|
||||
* Performance: Reimplement range-based type checkig (#532)
|
||||
* Performance: Focused -O3 optimizations on DM42 (#533)
|
||||
* Makefile: Install target installs demo and config (#547)
|
||||
* Garbage collector for menu labels (#548)
|
||||
|
||||
|
||||
## Release 0.4.9 - Support for units
|
||||
|
||||
This release focuses on support for units, but also adds a large number of other
|
||||
fixes and improvements.
|
||||
|
||||
### New features
|
||||
|
||||
* Power-off message indicating low-battery situation (#521)
|
||||
* Add ConvertToUnixPrefix command and SI prefix menu keys (#513)
|
||||
* Recognize all units that exist in the HP48, and a few more (#491)
|
||||
* UFACT (FactorUnit) command (#512)
|
||||
* Unit simplification, e.g. turn 1_m^2*s/s/m into 1_m (#506)
|
||||
* Converting unity units to numbers (#502)
|
||||
* →Unit command (#501)
|
||||
* UnitValue (UVAL) command (#493)
|
||||
* Implement "kibibytes" (KiB) and power-of-two SI prefixes (#492)
|
||||
* Unit arithmetic (#481)
|
||||
* Add B->R and R->B to BasesMenu (#488)
|
||||
* Implement term reordering capability in rewrite (#484)
|
||||
* BaseUnits (UBase) command (#483)
|
||||
* Unit parsing for complex units, e.g. 1_cm^2 (#482)
|
||||
* Unit arithmetic (#481) including automatic conversions (#480)
|
||||
* Convert command (#480)
|
||||
* Implement the Cycle command for unit objects
|
||||
* Add Å character for angstroem (#477)
|
||||
* Add Merge state to State system menu (#475)
|
||||
* Use Unicode font to display the name of a program when executing it (#469)
|
||||
* Allow incremental search to find digits and Unicode (#468)
|
||||
* Add tool glyph to user interface font
|
||||
|
||||
### Bug fixes
|
||||
|
||||
* Do not parse symbols beyond input buffer (#524)
|
||||
* Parse unit menu entries as expressions, not symbols (#523)
|
||||
* Fix reduced-precision arithmetic (#521)
|
||||
* Do not parse empty denominator as zero, e.g. 2/s (#520)
|
||||
* Do not parse a fraction inside a power, e.g. X^2/3 (#519)
|
||||
* Convert fractions to decimal in numeric mode (#516)
|
||||
* Do not emit mantissa_error for valid numbers (#515)
|
||||
* Apply negation correctly on unit objects (#500)
|
||||
* Do not emit separator after trailing 0 in integer decimals (#489)
|
||||
* Do not emit extra spacing before decimal separator (#485)
|
||||
* Fix stack depth in one error case of evaluate_function()
|
||||
* Fix display of next/previous icons for large menus (#478)
|
||||
* Clear settings when loading a state (#474)
|
||||
* Fix separators in whole part of decimal numbers when setting is not 3 (#464)
|
||||
* Parse (sin x)²+(cos x)² correctly, as well as HP67 Mach example (#427)
|
||||
|
||||
### Improvements
|
||||
|
||||
* Rename equation as expression (#518) and labelText as label_text
|
||||
* Do not update LastArg except for command line (#511)
|
||||
* ToolsMenu: Connect units to the UnitsConversionMenu (#514)
|
||||
* Display unit using / and ·, e.g. 1_m·s^2/A (#507)
|
||||
* Show units menu for inverse units as mm⁻¹ (#503)
|
||||
* Display battery level more accurately, i.e. consider 2.6V "low" (#476)
|
||||
* No longer acccept empty equations or parentheses, e.g. 1+() (#487)
|
||||
* Make StandardDisplay mode obey MinimumSignificantDigits (#462)
|
||||
* Add algebraic evaluation function for easier evaluation in C++ code
|
||||
* Reimplement unit type as a derivative of complex (#471)
|
||||
* documentation: Use 🟨 and 🟦 for more commands (#467)
|
||||
* Swap Search and Copy commands in EditorMenu (#466)
|
||||
* STO stores variables at beginning of directory (#462)
|
||||
* documentation: Add quickstart guide, used for video recording
|
||||
* documentation: Add links to YouTube videos
|
||||
* documentation: Add release notes
|
||||
* documentation: Some typos and other improvements
|
||||
* documentation: Rework section on keyboard mappings
|
||||
# Implementation status
|
||||
|
||||
This section documents the implementation status for all HP50 RPL commands as
|
||||
|
|
169
help/db50x.md
169
help/db50x.md
|
@ -1599,7 +1599,7 @@ Vector and matrices follow their own arithmetic rules. Vectors are
|
|||
one-dimensional, matrices are two-dimensional. DB50X also supports tables with a
|
||||
higher number of dimensions, but only offers limited operations on them.
|
||||
|
||||
DB50X implements vector addition, subtraction, multipplication and division,
|
||||
DB50X implements vector addition, subtraction, multiplication and division,
|
||||
which apply component-wise. Multiplication and division are an extension
|
||||
compared to the HP48.
|
||||
|
||||
|
@ -1647,13 +1647,15 @@ separated values, and is a common interchange format for spreadsheet data.
|
|||
Here is an example of file that would let you have a units menu called `Money`
|
||||
to convert between various monetary units:
|
||||
|
||||
`"Money"`
|
||||
`"USD", "1_USD"`
|
||||
`"EUR", "1.07_USD"`
|
||||
`"GBP", "1.24_USD"`
|
||||
`"CAD", "0.73_USD"`
|
||||
`"AUD", "0.65_USD"`
|
||||
`"CHF", "1.11_USD"`
|
||||
```
|
||||
"Money"
|
||||
"USD", "1_USD"
|
||||
"EUR", "1.07_USD"
|
||||
"GBP", "1.24_USD"
|
||||
"CAD", "0.73_USD"
|
||||
"AUD", "0.65_USD"
|
||||
"CHF", "1.11_USD"
|
||||
```
|
||||
|
||||
* All values must be placed between quotes. Separators between text values are
|
||||
mostly ignored.
|
||||
|
@ -1697,12 +1699,14 @@ The menu name `"=Cycle"` is reserved to define sequences of units that the
|
|||
`Cycle` command (bound to the _EEX_ key) will recognize as special. For example,
|
||||
you can ensure that `mm` and `in` convert to one another as follows:
|
||||
|
||||
`"=Cycle"`
|
||||
`"in", "mm"`
|
||||
`"mm", "in"`
|
||||
`"USD", "EUR"`
|
||||
`"EUR", "CHF"`
|
||||
`"CHF", "USD"`
|
||||
```
|
||||
"=Cycle"
|
||||
"in", "mm"
|
||||
"mm", "in"
|
||||
"USD", "EUR"
|
||||
"EUR", "CHF"
|
||||
"CHF", "USD"
|
||||
```
|
||||
|
||||
If you do provide a `Cycle` customization for a unit, other normal behaviours of
|
||||
the `Cycle` command for units are disabled, notably conversion between various
|
||||
|
@ -1710,16 +1714,40 @@ relevant scales and conversion between fractions and decimal. To force a
|
|||
particular conversion to happen in decimal, you can override the definition of
|
||||
the corresponding unit in the units file, for example:
|
||||
|
||||
`"in", "25.4_mm"`
|
||||
```
|
||||
"in", "25.4_mm"
|
||||
```
|
||||
# Release notes
|
||||
|
||||
Release 0.4.11: Debugging, Units, Settings
|
||||
## Release v0.4.12: Emergency bug fixes
|
||||
|
||||
Release v0.4.12: Emergency bug fixes, filesystem access
|
||||
|
||||
A few quick bug fixes related to issues found in 0.4.11.
|
||||
|
||||
### New features
|
||||
|
||||
* `STO` and `RCL` to file (#375)
|
||||
* Parsing of text containing quotes (#562)
|
||||
|
||||
### Improvements
|
||||
|
||||
* Rework file load/save dialog boxes
|
||||
* Preliminary plumbing for statistics functions
|
||||
|
||||
### Bugs
|
||||
|
||||
* Error loading state files that contain directories (#559)
|
||||
* Font setting for result was taken from editor font (#560)
|
||||
* Crash running the `Shapes` demo (#563)
|
||||
|
||||
## Release 0.4.11: Debugging, Units, Settings
|
||||
|
||||
This release implements debugging, infinite RPL recursion, mixed
|
||||
fractions, customizable units cycling, and restores missing entries in
|
||||
the units menu.
|
||||
|
||||
## New features
|
||||
### New features
|
||||
|
||||
* Allow customization of `Cycle` for units (#534)
|
||||
* Allow infinite recursion in RPL code (#537)
|
||||
|
@ -1728,13 +1756,13 @@ the units menu.
|
|||
* `BeepOn` and `SilentBeepOn` features (#280)
|
||||
* `ScreenCapture` and keyboard shortcut (#434)
|
||||
|
||||
## Bugs
|
||||
### Bugs
|
||||
|
||||
* Accept `2.3 FIX` and `#0 Background` (#557)
|
||||
* Do not parse `67.200525` as a `decimal32` (#551)
|
||||
* Bump low battery voltage to 2.550V (#553)
|
||||
|
||||
## Improvements
|
||||
### Improvements
|
||||
|
||||
* Catalog shows all commands *containing* typed text (#556)
|
||||
* Reorganize the units menu (#550) and restore missing units
|
||||
|
@ -1746,6 +1774,109 @@ the units menu.
|
|||
* Remove the `execute()` RPL callback, rely on `evaluate()`
|
||||
* Optimize allocation of 1-byte vs 2-byte opcodes
|
||||
* Render `abs` as `abs` and not `norm` (accept `norm` while parsing)
|
||||
|
||||
## Release v0.4.10: Performance and units file
|
||||
|
||||
This release focuses on display performance optimization and support
|
||||
for unit data files.
|
||||
|
||||
### New features
|
||||
|
||||
* Cycle command for units (#517)
|
||||
* Possibility to load units from config/units.csv file (#496, #544)
|
||||
* Internal: debug_printf facility (#541)
|
||||
* ShowBuiltinUnits and HideBuiltinUnits settings (#542)
|
||||
* Provide config/units.csv example file (#543)
|
||||
* Build units menu from units file (#544)
|
||||
|
||||
### Bugs
|
||||
|
||||
* Possible memory corruption in expressions
|
||||
* Calculator lock-up trying with unit conversions in numeric mode (#529)
|
||||
* Numerator and divisor no longer truncated to 32-bit (#539)
|
||||
* Correctly save LastArg for interactive operations (#540)
|
||||
|
||||
### Improvements
|
||||
|
||||
* Optimize the font cache, makes stack drawing faster in SCI mode (#526)
|
||||
* Add TypeName to object menu (#527)
|
||||
* Regroup units in units menu by scale (#528)
|
||||
* Status of implementation and performance data in documentation (#530)
|
||||
* Performance: Reduce frequency of busy cursor drawing (#531)
|
||||
* Performance: Reimplement range-based type checkig (#532)
|
||||
* Performance: Focused -O3 optimizations on DM32 (#533)
|
||||
* Makefile: Install target installs demo and config (#547)
|
||||
* Garbage collector for menu labels (#548)
|
||||
|
||||
|
||||
## Release 0.4.9 - Support for units
|
||||
|
||||
This release focuses on support for units, but also adds a large number of other
|
||||
fixes and improvements.
|
||||
|
||||
### New features
|
||||
|
||||
* Power-off message indicating low-battery situation (#521)
|
||||
* Add ConvertToUnixPrefix command and SI prefix menu keys (#513)
|
||||
* Recognize all units that exist in the HP48, and a few more (#491)
|
||||
* UFACT (FactorUnit) command (#512)
|
||||
* Unit simplification, e.g. turn 1_m^2*s/s/m into 1_m (#506)
|
||||
* Converting unity units to numbers (#502)
|
||||
* →Unit command (#501)
|
||||
* UnitValue (UVAL) command (#493)
|
||||
* Implement "kibibytes" (KiB) and power-of-two SI prefixes (#492)
|
||||
* Unit arithmetic (#481)
|
||||
* Add B->R and R->B to BasesMenu (#488)
|
||||
* Implement term reordering capability in rewrite (#484)
|
||||
* BaseUnits (UBase) command (#483)
|
||||
* Unit parsing for complex units, e.g. 1_cm^2 (#482)
|
||||
* Unit arithmetic (#481) including automatic conversions (#480)
|
||||
* Convert command (#480)
|
||||
* Implement the Cycle command for unit objects
|
||||
* Add Å character for angstroem (#477)
|
||||
* Add Merge state to State system menu (#475)
|
||||
* Use Unicode font to display the name of a program when executing it (#469)
|
||||
* Allow incremental search to find digits and Unicode (#468)
|
||||
* Add tool glyph to user interface font
|
||||
|
||||
### Bug fixes
|
||||
|
||||
* Do not parse symbols beyond input buffer (#524)
|
||||
* Parse unit menu entries as expressions, not symbols (#523)
|
||||
* Fix reduced-precision arithmetic (#521)
|
||||
* Do not parse empty denominator as zero, e.g. 2/s (#520)
|
||||
* Do not parse a fraction inside a power, e.g. X^2/3 (#519)
|
||||
* Convert fractions to decimal in numeric mode (#516)
|
||||
* Do not emit mantissa_error for valid numbers (#515)
|
||||
* Apply negation correctly on unit objects (#500)
|
||||
* Do not emit separator after trailing 0 in integer decimals (#489)
|
||||
* Do not emit extra spacing before decimal separator (#485)
|
||||
* Fix stack depth in one error case of evaluate_function()
|
||||
* Fix display of next/previous icons for large menus (#478)
|
||||
* Clear settings when loading a state (#474)
|
||||
* Fix separators in whole part of decimal numbers when setting is not 3 (#464)
|
||||
* Parse (sin x)²+(cos x)² correctly, as well as HP67 Mach example (#427)
|
||||
|
||||
### Improvements
|
||||
|
||||
* Rename equation as expression (#518) and labelText as label_text
|
||||
* Do not update LastArg except for command line (#511)
|
||||
* ToolsMenu: Connect units to the UnitsConversionMenu (#514)
|
||||
* Display unit using / and ·, e.g. 1_m·s^2/A (#507)
|
||||
* Show units menu for inverse units as mm⁻¹ (#503)
|
||||
* Display battery level more accurately, i.e. consider 2.6V "low" (#476)
|
||||
* No longer acccept empty equations or parentheses, e.g. 1+() (#487)
|
||||
* Make StandardDisplay mode obey MinimumSignificantDigits (#462)
|
||||
* Add algebraic evaluation function for easier evaluation in C++ code
|
||||
* Reimplement unit type as a derivative of complex (#471)
|
||||
* documentation: Use 🟨 and 🟦 for more commands (#467)
|
||||
* Swap Search and Copy commands in EditorMenu (#466)
|
||||
* STO stores variables at beginning of directory (#462)
|
||||
* documentation: Add quickstart guide, used for video recording
|
||||
* documentation: Add links to YouTube videos
|
||||
* documentation: Add release notes
|
||||
* documentation: Some typos and other improvements
|
||||
* documentation: Rework section on keyboard mappings
|
||||
# Implementation status
|
||||
|
||||
This section documents the implementation status for all HP50 RPL commands as
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
#define QSPI_DATA_SIZE 1545676
|
||||
#define QSPI_DATA_SIZE 1548260
|
||||
#define QSPI_DATA_CRC 0x000cfed6
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
#define QSPI_DATA_SIZE 1542508
|
||||
#define QSPI_DATA_SIZE 1544940
|
||||
#define QSPI_DATA_CRC 0x000cfed6
|
||||
|
||||
|
|
Loading…
Reference in a new issue