Find a file
2022-02-22 16:35:05 +01:00
doc #211: moved rpn.1 2018-08-12 11:35:14 +02:00
linenoise-ng@6a37ee0e9f #215: permit autocompletion on empty lines 2018-08-15 00:22:33 +02:00
liv #217: version 2.3.2 2018-08-15 19:58:10 +02:00
mpreal@c45d0d522c refactoring I (objects) 2022-02-16 00:24:26 +01:00
src Add missing input.cpp and input.hpp 2022-02-22 16:34:17 +01:00
test test framework accepts script names as string again 2022-02-20 23:55:06 +01:00
.gitignore Add debug and release dirs in .gitignore 2022-02-22 16:35:05 +01:00
.gitmodules refactoring I (objects) 2022-02-16 00:24:26 +01:00
Changelog.md Changelog update + add TODO.md 2022-02-21 00:03:16 +01:00
CMakeLists.txt Add lexer and input classes 2022-02-21 16:01:49 +01:00
GENERATION.md #217: version 2.3.2 2018-08-15 19:58:10 +02:00
LICENSE #35: CMake 2017-06-10 18:44:51 +02:00
MANUAL.md #217: version 2.3.2 2018-08-15 19:58:10 +02:00
METHODS.md #202: added METHODS.md 2018-05-06 13:47:49 +02:00
README.md #8: added functions date, time, ticks 2018-08-15 18:06:52 +02:00
TODO.md Changelog update + add TODO.md 2022-02-21 00:03:16 +01:00

rpn - Reverse Polish Notation language License: LGPLv3

a math functional language using reverse polish notation

rpn> 1 2 + 2 sqrt
2> 3
1> 1.4142135623730950488

arbitrary precision provided by GNU MPFR

rpn> 256 prec
rpn> pi
3.1415926535897932384626433832795028841971693993751058209749445923078164062862
rpn>

variables, programs

rpn> << rot * swap 2 / chs dup sq rot - sqrt >> 'quad' sto
rpn> << -> x y << x y + ln >> >> 'P' sto

and a bunch of functions

rpn> 
Display all 150 possibilities? (y or n)
nop      pow      fp       >=       dupn     next     sto*     exp
help     sqrt     min      <        pick     step     sto/     expm
h        sq       max      <=       depth    ift      sneg     log10
?        sqr      re       !=       roll     ifte     sinv     alog10
quit     abs      im       ==       rolld    do       eval     exp10
q        dec      conj     and      over     until    ->       log2
exit     hex      arg      or       ->str    unti     pi       alog2
test     bin      c->r     xor      str->    while    sin      exp2
version  base     r->c     not      chr      whil     asin     sinh
uname    sign     p->r     same     num      repeat   cos      asinh
history  %        r->p     swap     size     repea    acos     cosh
+        %CH      std      drop     pos      sto      tan      acosh
-        mod      fix      drop2    sub      rcl      atan     tanh
chs      fact     sci      dropn    if       purge    d->r     atanh
neg      mant     prec     del      then     vars     r->d     time
*        xpon     round    erase    else     clusr    e        date
/        floor    default  rot      end      edit     ln       ticks
inv      ceil     type     dup      start    sto+     log
^        ip       >        dup2     for      sto-     lnp1

Download

deb, rpm and tgz files can be found there

Manual

A reference manual is provided here

Methods

Development methods are set at this page

Generation

Generation instructions can be found here

Contact, contribution, bug report

Please email me at louis@rubet.fr

You can also use github issues and pull requests