mirror of
https://github.com/louisrubet/rpn
synced 2025-01-15 03:41:25 +01:00
697 lines
11 KiB
Text
697 lines
11 KiB
Text
## COMPLEX
|
|
|
|
default erase
|
|
|
|
# entry (1)
|
|
(1,2) ( 1,2) (1 ,2) (1, 2) (1,2 )
|
|
-> stack should be (1,2), (1,2), (1,2), (1,2), (1,2)
|
|
erase
|
|
|
|
# entry (2)
|
|
(1.3,2.444555
|
|
-> stack should be (1.3,2.444555)
|
|
erase
|
|
|
|
# entry (3)
|
|
(1,
|
|
-> stack should be (1,0)
|
|
erase
|
|
|
|
# entry (4)
|
|
(nan,+inf)
|
|
-> stack should be (nan,inf)
|
|
erase
|
|
|
|
# entry (5)
|
|
(0x1234,0x10.10)
|
|
-> stack should be (0x1.234p+12,0x1.01p+4)
|
|
erase
|
|
|
|
# entry (6)
|
|
(0b11,0b101)
|
|
-> stack should be (3,5)
|
|
erase
|
|
|
|
# add (1)
|
|
(1.2,2.3) (1,2) +
|
|
-> stack should be (2.2,4.3)
|
|
erase
|
|
|
|
# add (2)
|
|
(1.2,2.3) (1,2)+
|
|
-> stack should be (2.2,4.3)
|
|
erase
|
|
|
|
# add (3)
|
|
(1.2,2.3) 3+
|
|
-> stack should be (4.2,2.3)
|
|
erase
|
|
|
|
# add (4)
|
|
3 (1.2,2.3)+
|
|
-> stack should be (4.2,2.3)
|
|
erase
|
|
|
|
# sub (1)
|
|
(1.2,2.3) (2,2) -
|
|
-> stack should be (-0.8,0.3)
|
|
erase
|
|
|
|
# sub (2)
|
|
(1.2,2.3) (1,2)-
|
|
-> stack should be (0.2,0.3)
|
|
erase
|
|
|
|
# sub (3)
|
|
(1.2,2.3) 1-
|
|
-> stack should be (0.2,2.3)
|
|
erase
|
|
|
|
# sub (4)
|
|
1 (1.2,2.3) -
|
|
-> stack should be (-0.2,2.3)
|
|
erase
|
|
|
|
# mul (1)
|
|
(1,2) (3,4) *
|
|
-> stack should be (-5,10)
|
|
erase
|
|
|
|
# mul (2)
|
|
(3,4) (1,2) *
|
|
-> stack should be (-5,10)
|
|
erase
|
|
|
|
# mul (3)
|
|
(3,4) 2 *
|
|
-> stack should be (6,8)
|
|
erase
|
|
|
|
# mul (3)
|
|
2 (3,4) *
|
|
-> stack should be (6,8)
|
|
erase
|
|
|
|
# div (1)
|
|
(1,2) (3,4) /
|
|
-> stack should be (0.44,0.08)
|
|
erase
|
|
|
|
# div (2)
|
|
(1,2) 2 /
|
|
-> stack should be (0.5,1)
|
|
erase
|
|
|
|
# div (3)
|
|
2 (3,4) /
|
|
-> stack should be (0.24,-0.32)
|
|
erase
|
|
|
|
# re (1)
|
|
(1.2,3.4) re
|
|
-> stack should be 1.2
|
|
erase
|
|
|
|
# re (2)
|
|
3 re
|
|
-> error should be 3
|
|
erase
|
|
|
|
# re (3)
|
|
re
|
|
-> error should be 2
|
|
erase
|
|
|
|
# im (1)
|
|
(1.2,3.4) im
|
|
-> stack should be 3.4
|
|
erase
|
|
|
|
# im (2)
|
|
3 re
|
|
-> error should be 3
|
|
erase
|
|
|
|
# im (3)
|
|
re
|
|
-> error should be 2
|
|
erase
|
|
|
|
# chs
|
|
(3.14,6.28) chs
|
|
-> stack should be (-3.14,-6.28)
|
|
erase
|
|
|
|
# neg
|
|
(-3.14,-6.28) neg
|
|
-> stack should be (3.14,6.28)
|
|
erase
|
|
|
|
# inv (1)
|
|
(2,4) inv
|
|
-> stack should be (0.1,-0.2)
|
|
erase
|
|
|
|
# inv (2)
|
|
(0.1,-0.2) inv
|
|
-> stack should be (2,4)
|
|
erase
|
|
|
|
# abs
|
|
(3,4) abs
|
|
-> stack should be 5
|
|
erase
|
|
|
|
# sign (1)
|
|
(1,0) sign
|
|
-> stack should be (1,0)
|
|
erase
|
|
|
|
# sign (2)
|
|
(0,1) sign
|
|
-> stack should be (0,1)
|
|
erase
|
|
|
|
# sign (3)
|
|
(3,-4) sign
|
|
-> stack should be (0.6,-0.8)
|
|
erase
|
|
|
|
# sq (1)
|
|
(12,10) sq
|
|
-> stack should be (44,240)
|
|
erase
|
|
|
|
# sqr (1)
|
|
(12,10) sq
|
|
-> stack should be (44,240)
|
|
erase
|
|
|
|
# arg (1)
|
|
(1,1) arg pi 4 / ==
|
|
-> stack should be 1
|
|
erase
|
|
|
|
# arg (2)
|
|
1000 prec
|
|
(-1,1) arg pi 3 * 4 / ==
|
|
-> stack should be 1
|
|
default
|
|
erase
|
|
|
|
# arg (3)
|
|
1000 prec
|
|
(1,-1) arg pi chs 4 / ==
|
|
-> stack should be 1
|
|
default
|
|
erase
|
|
|
|
# arg (4)
|
|
1000 prec
|
|
(-1,-1) arg pi -3 * 4 / ==
|
|
-> stack should be 1
|
|
default
|
|
erase
|
|
|
|
# arg (5)
|
|
1000 prec
|
|
(1,0) arg 0 ==
|
|
-> stack should be 1
|
|
default
|
|
erase
|
|
|
|
# arg (6)
|
|
1000 prec
|
|
(0,1) arg pi 2 / ==
|
|
-> stack should be 1
|
|
default
|
|
erase
|
|
|
|
# arg (7)
|
|
1000 prec
|
|
(-1,0) arg pi ==
|
|
-> stack should be 1
|
|
default
|
|
erase
|
|
|
|
# arg (8)
|
|
1000 prec
|
|
(0,-1) arg pi neg 2 / ==
|
|
-> stack should be 1
|
|
default
|
|
erase
|
|
|
|
# conj
|
|
(1,2) conj dup conj
|
|
-> stack should be (1,-2), (1,2)
|
|
erase
|
|
|
|
# r->c (1)
|
|
1 2 r->c
|
|
-> stack should be (1,2)
|
|
erase
|
|
|
|
# r->c (2)
|
|
1 r->c
|
|
-> error should be 2
|
|
erase
|
|
|
|
# r->c (3)
|
|
r->c
|
|
-> error should be 2
|
|
erase
|
|
|
|
# r->c (3)
|
|
'1' '2' r->c
|
|
-> error should be 3
|
|
erase
|
|
|
|
# c->r (1)
|
|
(1,2) c->r
|
|
-> stack should be 1, 2
|
|
erase
|
|
|
|
# c->r (2)
|
|
c->r
|
|
-> error should be 2
|
|
erase
|
|
|
|
# c->r (3)
|
|
'4' c->r
|
|
-> error should be 3
|
|
erase
|
|
|
|
# r->p (1)
|
|
(1,2) r->p
|
|
-> stack should be (2.2360679774997896964,1.107148717794090503)
|
|
erase
|
|
|
|
# r->p (2)
|
|
1 r->p
|
|
-> error should be 3
|
|
eras3
|
|
|
|
# r->p (3)
|
|
r->p
|
|
-> error should be 3
|
|
erase
|
|
|
|
# r->p (4)
|
|
'1' '2' r->p
|
|
-> error should be 3
|
|
erase
|
|
|
|
# ^ (1)
|
|
(1,2) 2 ^
|
|
-> stack should be (-3,4)
|
|
erase
|
|
|
|
# ^ (2)
|
|
(1,2) 4 ^
|
|
-> stack should be (-7,-24)
|
|
erase
|
|
|
|
# sqrt
|
|
(3,4) sqrt
|
|
-> stack should be (2,1)
|
|
erase
|
|
|
|
# sin (1)
|
|
(1,2) sin
|
|
-> stack should be (3.1657785132161681467,1.9596010414216058971)
|
|
erase
|
|
|
|
# sin (2)
|
|
(1,-2) sin
|
|
-> stack should be (3.1657785132161681467,-1.9596010414216058971)
|
|
erase
|
|
|
|
# sin (3)
|
|
(-1,-2) sin
|
|
-> stack should be (-3.1657785132161681467,-1.9596010414216058971)
|
|
erase
|
|
|
|
# sin (4)
|
|
(-1,2) sin
|
|
-> stack should be (-3.1657785132161681467,1.9596010414216058971)
|
|
erase
|
|
|
|
# asin (1)
|
|
(1,2) asin
|
|
-> stack should be (0.42707858639247612548,1.5285709194809981613)
|
|
erase
|
|
|
|
# asin (2)
|
|
(1,-2) asin
|
|
-> stack should be (0.42707858639247612548,-1.5285709194809981613)
|
|
erase
|
|
|
|
# asin (3)
|
|
(-1,-2) asin
|
|
-> stack should be (-0.42707858639247612548,-1.5285709194809981613)
|
|
erase
|
|
|
|
# asin (4)
|
|
(-1,2) asin
|
|
-> stack should be (-0.42707858639247612548,1.5285709194809981613)
|
|
erase
|
|
|
|
# cos (1)
|
|
(1,2) cos
|
|
-> stack should be (2.0327230070196655294,-3.0518977991518000575)
|
|
erase
|
|
|
|
# cos (2)
|
|
(1,-2) cos
|
|
-> stack should be (2.0327230070196655294,3.0518977991518000575)
|
|
erase
|
|
|
|
# cos (3)
|
|
(-1,-2) cos
|
|
-> stack should be (2.0327230070196655294,-3.0518977991518000575)
|
|
erase
|
|
|
|
# cos (4)
|
|
(-1,2) sin
|
|
-> stack should be (-3.1657785132161681467,1.9596010414216058971)
|
|
erase
|
|
|
|
# acos (1)
|
|
(1,2) acos
|
|
-> stack should be (1.1437177404024204938,-1.5285709194809981613)
|
|
erase
|
|
|
|
# acos (2)
|
|
(1,-2) acos
|
|
-> stack should be (1.1437177404024204938,1.5285709194809981613)
|
|
erase
|
|
|
|
# acos (3)
|
|
(-1,-2) acos
|
|
-> stack should be (1.9978749131873727447,1.5285709194809981613)
|
|
erase
|
|
|
|
# acos (4)
|
|
(-1,2) acos
|
|
-> stack should be (1.9978749131873727447,-1.5285709194809981613)
|
|
erase
|
|
|
|
# tan (1)
|
|
(1,2) tan
|
|
-> stack should be (0.033812826079896690284,1.0147936161466335681)
|
|
erase
|
|
|
|
# tan (2)
|
|
(1,-2) tan
|
|
-> stack should be (0.033812826079896690284,-1.0147936161466335681)
|
|
erase
|
|
|
|
# tan (3)
|
|
(-1,-2) tan
|
|
-> stack should be (-0.033812826079896690284,-1.0147936161466335681)
|
|
erase
|
|
|
|
# tan (4)
|
|
(-1,2) tan
|
|
-> stack should be (-0.033812826079896690284,1.0147936161466335681)
|
|
erase
|
|
|
|
# atan (1)
|
|
(1,2) atan
|
|
-> stack should be (1.3389725222944935611,0.40235947810852509365)
|
|
erase
|
|
|
|
# atan (2)
|
|
(1,-2) atan
|
|
-> stack should be (1.3389725222944935611,-0.40235947810852509365)
|
|
erase
|
|
|
|
# atan (3)
|
|
(-1,-2) atan
|
|
-> stack should be (-1.3389725222944935611,-0.40235947810852509365)
|
|
erase
|
|
|
|
# atan (4)
|
|
(-1,2) atan
|
|
-> stack should be (-1.3389725222944935611,0.40235947810852509365)
|
|
erase
|
|
|
|
# ln (1)
|
|
(1,2) ln
|
|
-> stack should be (0.8047189562170501873,1.107148717794090503)
|
|
erase
|
|
|
|
# ln (2)
|
|
(1,-2) ln
|
|
-> stack should be (0.8047189562170501873,-1.107148717794090503)
|
|
erase
|
|
|
|
# ln (3)
|
|
(-1,-2) ln
|
|
-> stack should be (0.8047189562170501873,-2.0344439357957027354)
|
|
erase
|
|
|
|
# ln (4)
|
|
(-1,2) ln
|
|
-> stack should be (0.8047189562170501873,2.0344439357957027354)
|
|
erase
|
|
|
|
# log (1)
|
|
(1,2) log
|
|
-> stack should be (0.8047189562170501873,1.107148717794090503)
|
|
erase
|
|
|
|
# log (2)
|
|
(1,-2) log
|
|
-> stack should be (0.8047189562170501873,-1.107148717794090503)
|
|
erase
|
|
|
|
# log (3)
|
|
(-1,-2) log
|
|
-> stack should be (0.8047189562170501873,-2.0344439357957027354)
|
|
erase
|
|
|
|
# log (4)
|
|
(-1,2) log
|
|
-> stack should be (0.8047189562170501873,2.0344439357957027354)
|
|
erase
|
|
|
|
# log10 (1)
|
|
(1,2) log10
|
|
-> stack should be (0.34948500216800940239,0.4808285787842341027)
|
|
erase
|
|
|
|
# log10 (2)
|
|
(1,-2) log10
|
|
-> stack should be (0.34948500216800940239,-0.4808285787842341027)
|
|
erase
|
|
|
|
# log10 (3)
|
|
(-1,-2) log10
|
|
-> stack should be (0.34948500216800940239,-0.88354777505760724478)
|
|
erase
|
|
|
|
# log10 (4)
|
|
(-1,2) log10
|
|
-> stack should be (0.34948500216800940239,0.88354777505760724478)
|
|
erase
|
|
|
|
# log2 (1)
|
|
(1,2) log2
|
|
-> stack should be (1.1609640474436811739,1.5972779646881088066)
|
|
erase
|
|
|
|
# log2 (2)
|
|
(1,-2) log2
|
|
-> stack should be (1.1609640474436811739,-1.5972779646881088066)
|
|
erase
|
|
|
|
# log2 (3)
|
|
(-1,-2) log2
|
|
-> stack should be (1.1609640474436811739,-2.935082177139085003)
|
|
erase
|
|
|
|
# log2 (4)
|
|
(-1,2) log2
|
|
-> stack should be (1.1609640474436811739,2.935082177139085003)
|
|
erase
|
|
|
|
# exp (1)
|
|
(1,2) exp
|
|
-> stack should be (-1.1312043837568136384,2.4717266720048189276)
|
|
erase
|
|
|
|
# exp (2)
|
|
(1,-2) exp
|
|
-> stack should be (-1.1312043837568136384,-2.4717266720048189276)
|
|
erase
|
|
|
|
# exp (3)
|
|
(-1,-2) exp
|
|
-> stack should be (-0.15309186567422629126,-0.33451182923926224842)
|
|
erase
|
|
|
|
# exp (4)
|
|
(-1,2) exp
|
|
-> stack should be (-0.15309186567422629126,0.33451182923926224842)
|
|
erase
|
|
|
|
# alog2 (1)
|
|
(1,2) alog2
|
|
-> stack should be (0.36691394948660335368,1.9660554808224874412)
|
|
erase
|
|
|
|
# alog2 (2)
|
|
(1,-2) alog2
|
|
-> stack should be (0.36691394948660335368,-1.9660554808224874412)
|
|
erase
|
|
|
|
# alog2 (3)
|
|
(-1,-2) alog2
|
|
-> stack should be (0.09172848737165083842,-0.49151387020562186029)
|
|
erase
|
|
|
|
# alog2 (4)
|
|
(-1,2) alog2
|
|
-> stack should be (0.09172848737165083842,0.49151387020562186029)
|
|
erase
|
|
|
|
# alog10 (1)
|
|
(1,2) alog10
|
|
-> stack should be (-1.0701348355877020772,-9.9425756941378968736)
|
|
erase
|
|
|
|
# alog10 (2)
|
|
(1,-2) alog10
|
|
-> stack should be (-1.0701348355877020772,9.9425756941378968736)
|
|
erase
|
|
|
|
# alog10 (3)
|
|
(-1,-2) alog10
|
|
-> stack should be (-0.010701348355877020772,0.099425756941378968736)
|
|
erase
|
|
|
|
# alog10 (4)
|
|
(-1,2) alog10
|
|
-> stack should be (-0.010701348355877020772,-0.099425756941378968736)
|
|
erase
|
|
|
|
# sinh (1)
|
|
(1,2) sinh
|
|
-> stack should be (-0.48905625904129367359,1.403119250622040588)
|
|
erase
|
|
|
|
# sinh (2)
|
|
(1,-2) sinh
|
|
-> stack should be (-0.48905625904129367359,-1.403119250622040588)
|
|
erase
|
|
|
|
# sinh (3)
|
|
(-1,-2) sinh
|
|
-> stack should be (0.48905625904129367359,-1.403119250622040588)
|
|
erase
|
|
|
|
# sinh (4)
|
|
(-1,2) sinh
|
|
-> stack should be (0.48905625904129367359,1.403119250622040588)
|
|
erase
|
|
|
|
# asinh (1)
|
|
(1,2) asinh
|
|
-> stack should be (1.4693517443681852733,1.0634400235777520562)
|
|
erase
|
|
|
|
# asinh (2)
|
|
(1,-2) asinh
|
|
-> stack should be (1.4693517443681852733,-1.0634400235777520562)
|
|
erase
|
|
|
|
# asinh (3)
|
|
(-1,-2) asinh
|
|
-> stack should be (-1.4693517443681852733,-1.0634400235777520562)
|
|
erase
|
|
|
|
# asinh (4)
|
|
(-1,2) asinh
|
|
-> stack should be (-1.4693517443681852733,1.0634400235777520562)
|
|
erase
|
|
|
|
# cosh (1)
|
|
(1,2) cosh
|
|
-> stack should be (-0.48905625904129367359,1.403119250622040588)
|
|
erase
|
|
|
|
# cosh (2)
|
|
(1,-2) cosh
|
|
-> stack should be (-0.48905625904129367359,-1.403119250622040588)
|
|
erase
|
|
|
|
# cosh (3)
|
|
(-1,-2) cosh
|
|
-> stack should be (0.48905625904129367359,-1.403119250622040588)
|
|
erase
|
|
|
|
# cosh (4)
|
|
(-1,2) cosh
|
|
-> stack should be (0.48905625904129367359,1.403119250622040588)
|
|
erase
|
|
|
|
# acosh (1)
|
|
(1,2) acosh
|
|
-> stack should be (1.5285709194809981613,1.1437177404024204938)
|
|
erase
|
|
|
|
# acosh (2)
|
|
(1,-2) acosh
|
|
-> stack should be (1.5285709194809981613,-1.1437177404024204938)
|
|
erase
|
|
|
|
# acosh (3)
|
|
(-1,-2) acosh
|
|
-> stack should be (-1.5285709194809981613,1.9978749131873727447)
|
|
erase
|
|
|
|
# acosh (4)
|
|
(-1,2) acosh
|
|
-> stack should be (-1.5285709194809981613,-1.9978749131873727447)
|
|
erase
|
|
|
|
# tanh (1)
|
|
(1,2) tanh
|
|
-> stack should be (0.5641325612306708055,-0.21793371938466459725)
|
|
erase
|
|
|
|
# tanh (2)
|
|
(1,-2) tanh
|
|
-> stack should be (0.5641325612306708055,0.21793371938466459725)
|
|
erase
|
|
|
|
# tanh (3)
|
|
(-1,-2) tanh
|
|
-> stack should be (-0.5641325612306708055,0.21793371938466459725)
|
|
erase
|
|
|
|
# tanh (4)
|
|
(-1,2) tanh
|
|
-> stack should be (-0.5641325612306708055,-0.21793371938466459725)
|
|
erase
|
|
|
|
# atanh (1)
|
|
(1,2) atanh
|
|
-> stack should be (0.17328679513998632735,1.1780972450961724644)
|
|
erase
|
|
|
|
# atanh (2)
|
|
(1,-2) atanh
|
|
-> stack should be (0.17328679513998632735,-1.1780972450961724644)
|
|
erase
|
|
|
|
# atanh (3)
|
|
(-1,-2) atanh
|
|
-> stack should be (-0.17328679513998632735,-1.1780972450961724644)
|
|
erase
|
|
|
|
# atanh (4)
|
|
(-1,2) atanh
|
|
-> stack should be (-0.17328679513998632735,1.1780972450961724644)
|
|
erase
|