mirror of
https://github.com/louisrubet/rpn
synced 2025-01-13 20:01:25 +01:00
2.3 KiB
2.3 KiB
Changelog
- Better parser (now called lexer)
- Use of mpreal instead of raw mpfr for calc on reals
- Use of C++ complex class
- Removing old memory management, efficient but poorly maintainable
- Enhanced code quality and memory usage checks
- Added CircleCI checks: passing functional tests and valgrind mem checks at each pull request
- SonarCloud integration, Sonar way profile
- clang-format now based on google style
- google c++ style guide applied
- Test files are now markdown (.md) files, tests result are slightly changed
- Delivery as flatpak and snap
New
«
and»
are now valid as program delimiters.<<
and>>
are still valid- added
norm
as a synonym ofabs
test
command can also take a symbol as a parameter ; if the symbol contains a valid- entering the sign after the base (ex: 0x-1e2) is allowed
Compatibility is broken on these points
<< <<
doesn't input as<< << >> >>
but as<< << >>
1 2+
not allowed anymore, keep1 2 +
, this corrects bad behaviors like3b114
pushing3b11
and4
- complexes are written in the form
(1,2)
instead of(1, 2)
(space is removed) - removed useless
unti
,repea
,whil
(prev.existing for HP28S compatibility) - removed
sqr
function, please usesq
instead (prev.existing for HP28S compatibility) - the binary prefix is always 0b on display, but still can be 0b, 0B, 2b or 2B at input
- the hex prefix is always 0x on display, but still can be 0x, 0X or 16B at input
mant
andxpon
now give binary significand and exponent, as it is the norm in standard libs (libC, standard C++, mpfr, gmp)dupn
,roll
,rolld
are not leaving anymore their argument in front of the stack in case of errorsub
now only accepts boundaries between 1 and the string length- rpn is not delivered as deb and rpm anymore, since it is too much bound to particular OS
sto/
bug correction: 3 'a' sto/ now correctly does a/3 -> a (although it did 3/a -> a)sto+
sto-
sto*
sto/
don't accept anymore the syntax'varname' value stoX
, but onlyvalue 'varname' stoX
, ex:3 'a' sto*
missing tests
- nested loops / if / while / do + access to local variables
- les arguments d'une fonction en erreur doivent ils êre consommés ? ex embettant : sto+
- sto+ * - / : ajouter des cas de test avec type incorrects