mirror of
https://github.com/c3d/DB48X-on-DM42.git
synced 2024-09-28 03:20:53 +02:00
Release 0.6.4 "Healing": Testing and fixes
This release focuses on heavy testing of the new variable-precision decimal stack. Adding tests also means finding bugs. Another significant change is support for fixed-precision hardware-accelerated floating point, using 32-bit and 64-bit IEEE754 binary floating-point representation. Since this uses a binary format, some decimal values do not map to decimal correctly. For example, displaying 1.2 with a large number of decimals will show residue, because 1.2 does not have an exact (zero-terminated) representation in binary. New features: * plotting: Make refresh rate configurable * menu: Add `/` key to `FractionsMenu` * hwfp: Add support for hardware-accelerated floating-point * menus: Add hardware floating-point flag to `MathModesMenu` * ui: Allow multiple uses of `.` to insert DMS separators * HMS: Editing of HMS values in HMS format Bug fixes: * stats: Fix crash on `variance` with single-column statistics * algebraic: Clear error before evaluating the function * functions: Correctly emit a type error for non-algebraics * ui: Make sure we save stack if closing the editor * logical: Fix mask for rotate left with 64-bit size * logical: Make sure we save args for single-argument logicals * flags: Update flags on `FlipFlag`, consume them from `BinaryToFlags` * stack: Show multi-line objects correctly * lists: Returns `Bad argument value` for index with bad arguments * lists: Return an empty list for tail of empty list * arithmetic: `→Frac` should not error on integers * power: Do not shut down during `WAIT` if on USB power Improvements: * menu: Shorten the labels `→QIter` and `→QPrec` to avoid scrolling * stack: Avoid running same code twice on simulator * ids: Add aliases for hardware floating point * functions: Optimize abs and neg * ui: Replace calls to `rt.insert` with calls to `insert` * menu: Reorganize fractions menu * dms: Do the DMS conversion using fractions * list: Adjust multi-line rendering * copyright: Update copyright to 2024 * text: Return null text when indexing past end of text Testing: * tests: Increase the delay for help to draw * tests: Add tests for hardware-accelerated floating-point * tests: Add shifts and rotate tests * tests: Check flag functions * tests: Test DMS and HMS operations * tests: Add test for `integrate` using decimal values * tests: Test multi-line stack display * tests: Add tests for `GETI` * tests: Min and max commands * tests: Repair last regression test * tests: Check behaviour of 0^0 * tests: Avoid string overflow in case of very long message Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
This commit is contained in:
parent
c7be6b14ec
commit
2dbbec4ad7
7 changed files with 218 additions and 12 deletions
|
@ -1,5 +1,71 @@
|
|||
# Release notes
|
||||
|
||||
## Release 0.6.4 "Healing": Testing and fixes
|
||||
|
||||
This release focuses on heavy testing of the new variable-precision
|
||||
decimal stack. Adding tests also means finding bugs.
|
||||
|
||||
Another significant change is support for fixed-precision
|
||||
hardware-accelerated floating point, using 32-bit and 64-bit IEEE754
|
||||
binary floating-point representation. Since this uses a binary format,
|
||||
some decimal values do not map to decimal correctly. For example,
|
||||
displaying 1.2 with a large number of decimals will show residue,
|
||||
because 1.2 does not have an exact (zero-terminated) representation in
|
||||
binary.
|
||||
|
||||
### New features:
|
||||
|
||||
* plotting: Make refresh rate configurable
|
||||
* menu: Add `/` key to `FractionsMenu`
|
||||
* hwfp: Add support for hardware-accelerated floating-point
|
||||
* menus: Add hardware floating-point flag to `MathModesMenu`
|
||||
* ui: Allow multiple uses of `.` to insert DMS separators
|
||||
* HMS: Editing of HMS values in HMS format
|
||||
|
||||
### Bug fixes:
|
||||
|
||||
* stats: Fix crash on `variance` with single-column statistics
|
||||
* algebraic: Clear error before evaluating the function
|
||||
* functions: Correctly emit a type error for non-algebraics
|
||||
* ui: Make sure we save stack if closing the editor
|
||||
* logical: Fix mask for rotate left with 64-bit size
|
||||
* logical: Make sure we save args for single-argument logicals
|
||||
* flags: Update flags on `FlipFlag`, consume them from `BinaryToFlags`
|
||||
* stack: Show multi-line objects correctly
|
||||
* lists: Returns `Bad argument value` for index with bad arguments
|
||||
* lists: Return an empty list for tail of empty list
|
||||
* arithmetic: `→Frac` should not error on integers
|
||||
* power: Do not shut down during `WAIT` if on USB power
|
||||
|
||||
### Improvements:
|
||||
|
||||
* menu: Shorten the labels `→QIter` and `→QPrec` to avoid scrolling
|
||||
* stack: Avoid running same code twice on simulator
|
||||
* ids: Add aliases for hardware floating point
|
||||
* functions: Optimize abs and neg
|
||||
* ui: Replace calls to `rt.insert` with calls to `insert`
|
||||
* menu: Reorganize fractions menu
|
||||
* dms: Do the DMS conversion using fractions
|
||||
* list: Adjust multi-line rendering
|
||||
* copyright: Update copyright to 2024
|
||||
* text: Return null text when indexing past end of text
|
||||
|
||||
### Testing:
|
||||
|
||||
* tests: Increase the delay for help to draw
|
||||
* tests: Add tests for hardware-accelerated floating-point
|
||||
* tests: Add shifts and rotate tests
|
||||
* tests: Check flag functions
|
||||
* tests: Test DMS and HMS operations
|
||||
* tests: Add test for `integrate` using decimal values
|
||||
* tests: Test multi-line stack display
|
||||
* tests: Add tests for `GETI`
|
||||
* tests: Min and max commands
|
||||
* tests: Repair last regression test
|
||||
* tests: Check behaviour of 0^0
|
||||
* tests: Avoid string overflow in case of very long message
|
||||
|
||||
|
||||
## Release 0.6.3 "Come and See": Repair test suite
|
||||
|
||||
The focus of this release was to reactivate the test suite and fix the
|
||||
|
|
|
@ -117,16 +117,24 @@ For 1000 loops, comparing variable-precision decimal with the earlier Intel deci
|
|||
| 0.6.4 (VP6) | 6905 | 5623 |
|
||||
| 0.5.2 (ID) | 2154 | 1434 |
|
||||
|
||||
| | DM32 (ms) | DM42 (ms) |
|
||||
|--------------|--------------------------------------------|--------------------------------------------|
|
||||
| Version | HW7 | HW16 | VP6 | VP12 | VP24 | VP36 | HW7 | HW16 | VP6 | VP12 | VP24 | VP36 |
|
||||
| 0.5.2 (ID) | 2154 | | | | | | 1434 | | | | | |
|
||||
| 0.6.0 (Note) | | | | | 23773 | | | | | | 17685 | |
|
||||
| 0.6.2 | | | 7436 | 16017 | 34898 | 62012 | | | 5842 | 10782 | 23714 | 42269 |
|
||||
| 0.6.4 | 1414 | 1719 | 6905 | 13720 | 32346 | 60259 | 422 | 705 | 5623 | 10548 | 23811 | 42363 |
|
||||
Time in millisecond for 1000 loops:
|
||||
|
||||
Note: Results for 0.6.0 are artificially good because intermediate computations
|
||||
were not made with increased precision.
|
||||
| DM32 Version | HW7 | HW16 | VP6 | VP12 | VP24 | VP36 |
|
||||
|--------------|------|------|------|-------|-------|-------|
|
||||
| 0.6.4 | 1414 | 1719 | 6905 | 13720 | 32346 | 60259 |
|
||||
| 0.6.2 | | | 7436 | 16017 | 34898 | 62012 |
|
||||
| 0.6.0 (Note) | | | | | 23773 | |
|
||||
| 0.5.2 (ID) | 2154 | | | | | |
|
||||
|
||||
| DM42 Version | HW7 | HW16 | VP6 | VP12 | VP24 | VP36 |
|
||||
|--------------|------|------|------|-------|-------|-------|
|
||||
| 0.6.4 | 422 | 705 | 5623 | 10548 | 23811 | 42363 |
|
||||
| 0.6.2 | | | 5842 | 10782 | 23714 | 42269 |
|
||||
| 0.6.0 (Note) | | | | | 17685 | |
|
||||
| 0.5.2 (ID) | 1434 | | | | | |
|
||||
|
||||
Note: Results for 0.6.0 with variable precision are rtificially good because
|
||||
intermediate computations were not made with increased precision.
|
||||
|
||||
|
||||
## Drawing `sin X` with `FunctionPlot`
|
||||
|
|
|
@ -1794,6 +1794,72 @@ the corresponding unit in the units file, for example:
|
|||
```
|
||||
# Release notes
|
||||
|
||||
## Release 0.6.4 "Healing": Testing and fixes
|
||||
|
||||
This release focuses on heavy testing of the new variable-precision
|
||||
decimal stack. Adding tests also means finding bugs.
|
||||
|
||||
Another significant change is support for fixed-precision
|
||||
hardware-accelerated floating point, using 32-bit and 64-bit IEEE754
|
||||
binary floating-point representation. Since this uses a binary format,
|
||||
some decimal values do not map to decimal correctly. For example,
|
||||
displaying 1.2 with a large number of decimals will show residue,
|
||||
because 1.2 does not have an exact (zero-terminated) representation in
|
||||
binary.
|
||||
|
||||
### New features:
|
||||
|
||||
* plotting: Make refresh rate configurable
|
||||
* menu: Add `/` key to `FractionsMenu`
|
||||
* hwfp: Add support for hardware-accelerated floating-point
|
||||
* menus: Add hardware floating-point flag to `MathModesMenu`
|
||||
* ui: Allow multiple uses of `.` to insert DMS separators
|
||||
* HMS: Editing of HMS values in HMS format
|
||||
|
||||
### Bug fixes:
|
||||
|
||||
* stats: Fix crash on `variance` with single-column statistics
|
||||
* algebraic: Clear error before evaluating the function
|
||||
* functions: Correctly emit a type error for non-algebraics
|
||||
* ui: Make sure we save stack if closing the editor
|
||||
* logical: Fix mask for rotate left with 64-bit size
|
||||
* logical: Make sure we save args for single-argument logicals
|
||||
* flags: Update flags on `FlipFlag`, consume them from `BinaryToFlags`
|
||||
* stack: Show multi-line objects correctly
|
||||
* lists: Returns `Bad argument value` for index with bad arguments
|
||||
* lists: Return an empty list for tail of empty list
|
||||
* arithmetic: `→Frac` should not error on integers
|
||||
* power: Do not shut down during `WAIT` if on USB power
|
||||
|
||||
### Improvements:
|
||||
|
||||
* menu: Shorten the labels `→QIter` and `→QPrec` to avoid scrolling
|
||||
* stack: Avoid running same code twice on simulator
|
||||
* ids: Add aliases for hardware floating point
|
||||
* functions: Optimize abs and neg
|
||||
* ui: Replace calls to `rt.insert` with calls to `insert`
|
||||
* menu: Reorganize fractions menu
|
||||
* dms: Do the DMS conversion using fractions
|
||||
* list: Adjust multi-line rendering
|
||||
* copyright: Update copyright to 2024
|
||||
* text: Return null text when indexing past end of text
|
||||
|
||||
### Testing:
|
||||
|
||||
* tests: Increase the delay for help to draw
|
||||
* tests: Add tests for hardware-accelerated floating-point
|
||||
* tests: Add shifts and rotate tests
|
||||
* tests: Check flag functions
|
||||
* tests: Test DMS and HMS operations
|
||||
* tests: Add test for `integrate` using decimal values
|
||||
* tests: Test multi-line stack display
|
||||
* tests: Add tests for `GETI`
|
||||
* tests: Min and max commands
|
||||
* tests: Repair last regression test
|
||||
* tests: Check behaviour of 0^0
|
||||
* tests: Avoid string overflow in case of very long message
|
||||
|
||||
|
||||
## Release 0.6.3 "Come and See": Repair test suite
|
||||
|
||||
The focus of this release was to reactivate the test suite and fix the
|
||||
|
|
|
@ -1794,6 +1794,72 @@ the corresponding unit in the units file, for example:
|
|||
```
|
||||
# Release notes
|
||||
|
||||
## Release 0.6.4 "Healing": Testing and fixes
|
||||
|
||||
This release focuses on heavy testing of the new variable-precision
|
||||
decimal stack. Adding tests also means finding bugs.
|
||||
|
||||
Another significant change is support for fixed-precision
|
||||
hardware-accelerated floating point, using 32-bit and 64-bit IEEE754
|
||||
binary floating-point representation. Since this uses a binary format,
|
||||
some decimal values do not map to decimal correctly. For example,
|
||||
displaying 1.2 with a large number of decimals will show residue,
|
||||
because 1.2 does not have an exact (zero-terminated) representation in
|
||||
binary.
|
||||
|
||||
### New features:
|
||||
|
||||
* plotting: Make refresh rate configurable
|
||||
* menu: Add `/` key to `FractionsMenu`
|
||||
* hwfp: Add support for hardware-accelerated floating-point
|
||||
* menus: Add hardware floating-point flag to `MathModesMenu`
|
||||
* ui: Allow multiple uses of `.` to insert DMS separators
|
||||
* HMS: Editing of HMS values in HMS format
|
||||
|
||||
### Bug fixes:
|
||||
|
||||
* stats: Fix crash on `variance` with single-column statistics
|
||||
* algebraic: Clear error before evaluating the function
|
||||
* functions: Correctly emit a type error for non-algebraics
|
||||
* ui: Make sure we save stack if closing the editor
|
||||
* logical: Fix mask for rotate left with 64-bit size
|
||||
* logical: Make sure we save args for single-argument logicals
|
||||
* flags: Update flags on `FlipFlag`, consume them from `BinaryToFlags`
|
||||
* stack: Show multi-line objects correctly
|
||||
* lists: Returns `Bad argument value` for index with bad arguments
|
||||
* lists: Return an empty list for tail of empty list
|
||||
* arithmetic: `→Frac` should not error on integers
|
||||
* power: Do not shut down during `WAIT` if on USB power
|
||||
|
||||
### Improvements:
|
||||
|
||||
* menu: Shorten the labels `→QIter` and `→QPrec` to avoid scrolling
|
||||
* stack: Avoid running same code twice on simulator
|
||||
* ids: Add aliases for hardware floating point
|
||||
* functions: Optimize abs and neg
|
||||
* ui: Replace calls to `rt.insert` with calls to `insert`
|
||||
* menu: Reorganize fractions menu
|
||||
* dms: Do the DMS conversion using fractions
|
||||
* list: Adjust multi-line rendering
|
||||
* copyright: Update copyright to 2024
|
||||
* text: Return null text when indexing past end of text
|
||||
|
||||
### Testing:
|
||||
|
||||
* tests: Increase the delay for help to draw
|
||||
* tests: Add tests for hardware-accelerated floating-point
|
||||
* tests: Add shifts and rotate tests
|
||||
* tests: Check flag functions
|
||||
* tests: Test DMS and HMS operations
|
||||
* tests: Add test for `integrate` using decimal values
|
||||
* tests: Test multi-line stack display
|
||||
* tests: Add tests for `GETI`
|
||||
* tests: Min and max commands
|
||||
* tests: Repair last regression test
|
||||
* tests: Check behaviour of 0^0
|
||||
* tests: Avoid string overflow in case of very long message
|
||||
|
||||
|
||||
## Release 0.6.3 "Come and See": Repair test suite
|
||||
|
||||
The focus of this release was to reactivate the test suite and fix the
|
||||
|
|
2
recorder
2
recorder
|
@ -1 +1 @@
|
|||
Subproject commit 9b1b214ab22828367b37819624ff5739a104685a
|
||||
Subproject commit 8b0b079b5462a75db285dd0a240735cb052c131c
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
#define QSPI_DATA_SIZE 190020
|
||||
#define QSPI_DATA_SIZE 191052
|
||||
#define QSPI_DATA_CRC 0x000cfed6
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
#define QSPI_DATA_SIZE 189588
|
||||
#define QSPI_DATA_SIZE 190620
|
||||
#define QSPI_DATA_CRC 0x000cfed6
|
||||
|
||||
|
|
Loading…
Reference in a new issue