# RPN Operations summary

## Basic

'A' | Pushes String("A"). |

"B" | Pushes String("B"). |

9 | Pushes Long(9). |

9.0 | Pushes Double(9.0). |

$1 | Pushes input #1. |

$1! | Pushes required input #1. |

$1$ | Pushes input #1 state. |

$1@ | Pushes input #1 time stamp. |

$1. | Pushes input #1 point name. |

$1= | Pops object into input #1. |

:$1= | Peeks object into input #1. |

$1? | Pushes input #1 is present. |

$* | Pushes all inputs in order. |

$*! | Pushes all inputs in order disallowing nulls. |

$# | Pushes inputs count. |

$0 | Pushes current value of result. |

$0! | Pushes required current value of result. |

$0= | Pops object into current result. |

:$0= | Peeks object into current result. |

$0$ | Pushes current result state. |

$0@ | Pushes current result time stamp. |

$0. | Pushes result point name. |

$0$= | Pops object into current result state. |

:$0$= | Peeks object into current result state. |

#1 | Pushes memory #1. |

#1= | Pops object into memory #1. |

:#1= | Peeks object into memory #1. |

@1 | Pushes param #1. |

@1! | Pushes required param #1. |

bpt | Breakpoint opportunity. |

deleted? | Pushes pop is deleted value state. |

fail | Fails. |

nop | Does nothing. |

! | Fails if pop is null. |

return | Ends execution of operations. |

stored | Pushes stored value of result. |

stored! | Pushes required stored value of result. |

stored? | Pushes result value is stored. |

$# | Pushes the type (class name) of pop. |

## Stack

at | Pushes at pop. |

clear | Clears pop locations on stack. |

copy | Duplicates pop values. |

default | Pops default for peek null. |

depth | Pushes stack depth from topmost mark. |

depth* | Pushes total stack depth. |

drop | Drops pop. |

dump | Dumps peek marked to Processor's log. |

dump* | Dumps peek all to Processor's log. |

dup | Pushes peek. |

: | Pushes peek. |

eq | Pushes pop equal to pop. |

mark | Marks the stack. |

[ | Marks the stack. |

mark? | Pushes stack is marked. |

ne | Pushes pop not equal to pop. |

nip | Drops second item on stack. |

null | Pushes null. |

null? | Pushes pop is null. |

over | Pushes second item on stack. |

reverse | Reverses the stack. |

roll | Rolls pop time pop offset. |

swap | Exchanges top values. |

tuck | Inserts peek before second item on stack. |

unmark | Removes last mark. |

] | Removes last mark. |

unmark* | Removes all marks. |

## DateTime

- | Pushes pop substracted from pop. |

+ | Pushes pop added to pop. |

day | Pushes day from pop. |

--day | Decrements day in peek. |

++day | Increments day in peek. |

-days | Substracts pop as days from peek. |

+days | Adds pop as days to peek. |

dim | Pushes days in month from pop. |

dow | Pushes day of week from pop. |

hour | Pushes hour from pop. |

--hour | Decrements hour in peek. |

++hour | Increments hour in peek. |

_hour | Floors the hour in peek. |

~hour | Rounds the hour in peek. |

hours | Toggles peek between elapsed and hours. |

midnight | Sets peek to midnight. |

milli | Pushes milli from pop. |

--milli | Decrements milli in peek. |

++milli | Increments milli in peek. |

_milli | Floors the millisecond in peek. |

~milli | Rounds the millisecond in peek. |

millis | Toggles peek between elapsed and milliseconds. |

minute | Pushes minute from pop. |

--minute | Decrements minute in peek. |

++minute | Increments minute in peek. |

_minute | Floors the minute in peek. |

~minute | Rounds the minute in peek. |

minutes | Toggles peek between elapsed and minutes. |

mjd | Pushes a DateTime (MJD) built from pop. |

month | Pushes month from pop. |

--month | Decrements month in peek. |

++month | Increments month in peek. |

-months | Substracts pop as months from peek. |

+months | Adds pop as months to peek. |

noon | Sets peek to noon. |

now | Pushes current system time. |

raw | Pushes raw value of pop. |

second | Pushes second (Double) from pop. |

--second | Decrements second in peek. |

++second | Increments second in peek. |

_second | Floors the second in peek. |

~second | Rounds the second in peek. |

seconds | Toggles peek between elapsed and seconds. |

split | Splits popped elapsed in days, hours, minutes, seconds. |

split | Splits popped time in year, month, day, hour, minute, seconds. |

join | Joins popped year, month, day, hour, minute, seconds into time. |

today | Pushes today at midnight. |

tomorrow | Pushes tomorrow at midnight. |

tz | Sets the time zone to the name in pop. |

year | Pushes year from pop. |

--year | Decrements year in peek. |

++year | Increments year in peek. |

-years | Substracts pop as years from peek. |

+years | Adds pop as years to peek. |

yesterday | Pushes yesterday at midnight. |

## Double

0? | Pushes pop is zero. |

0~? | Pushes within pop, pop is zero. |

0+? | Pushes pop is zero or positive. |

0-? | Pushes pop is zero or negative. |

abs | Pushes abs(pop). |

acos | Pushes acos(pop). |

asin | Pushes asin(pop). |

atan | Pushes atan(pop). |

+ | Pushes addition of pop and pop. |

cbrt | Pushes cbrt(pop) |

ceil | Pushes ceil(pop). |

cos | Pushes cos(pop). |

cosh | Pushes cosh(pop). |

deg | Pushes pop in radians to degrees. |

/ | Pushes quotient of division by pop of pop. |

/% | Pushes remainder and quotient of division by pop of pop. |

e | Pushes e. |

eq | Pushes pop equal to pop. |

=~ | Pushes within pop, pop equal to pop. |

float | Pushes Double.valueOf(pop). |

float? | Pushes pop is a float. |

floor | Pushes floor(pop). |

ge | Pushes pop greater than or equal to pop. |

gt | Pushes pop greater than pop. |

hypot | Pushes hypot(pop, pop). |

inf? | Pushes pop is infinite. |

+inf | Pushes positive infinity. |

-inf | Pushes negative infinity. |

le | Pushes pop less than or equal to pop. |

log | Pushes natural log(pop). |

log10 | Pushes log10(pop). |

lt | Pushes pop less than pop. |

max | Pushes maximum of pop and pop. |

min | Pushes minimum of pop and pop. |

mod | Pushes the modulo pop of pop. |

* | Pushes multiplication of pop and pop. |

nan | Pushes a NaN value. |

nan? | Pushes pop is NaN. |

ne | Pushes pop not equal to pop. |

neg | Pushes - pop. |

number? | Pushes pop is a number. |

pi | Pushes pi. |

** | Pushes power pop of pop. |

rad | Pushes pop in degress to radians. |

% | Pushes remainder of division by pop of pop. |

round | Pushes round(pop). |

sgn | Pushes the signum function of pop. |

sin | Pushes sin(pop). |

sinh | Pushes sinh(pop). |

sqrt | Pushes sqrt(pop) |

- | Pushes subtraction of pop from pop. |

tan | Pushes tan(pop). |

tanh | Pushes tanh(pop). |

## Long

0? | Pushes pop is zero. |

0+? | Pushes pop is zero or positive. |

0-? | Pushes pop is zero or negative. |

abs | Pushes abs(pop). |

+ | Pushes addition of pop and pop. |

and | Pushes binary and of pop and pop. |

/ | Pushes quotient of division by pop of pop. |

/% | Pushes remainder and quotient of division by pop of pop. |

-- | Pushes pop - 1. |

eq | Pushes pop equal to pop. |

float | Pushes Double.valueOf(pop). |

ge | Pushes pop greater than or equal to pop. |

gt | Pushes pop greater than pop. |

++ | Pushes pop + 1. |

int | Pushes Long.valueOf(pop). |

int? | Pushes pop is an int. |

le | Pushes pop less than or equal to pop. |

lshft | Pushes pop times left shift of pop. |

lt | Pushes pop less than pop. |

max | Pushes maximum of pop and pop. |

min | Pushes minimum of pop and pop. |

mod | Pushes the modulo pop of pop. |

* | Pushes multiplication of pop and pop. |

ne | Pushes pop not equal to pop. |

neg | Pushes - pop. |

not | Pushes binary complement of pop. |

or | Pushes binary or of pop and pop. |

% | Pushes remainder of division by pop of pop. |

rshft | Pushes pop times right shift of pop. |

rshftz | Pushes pop times right shift of pop with zero fill. |

sgn | Pushes the signum function of pop. |

- | Pushes subtraction of pop from pop. |

xor | Pushes binary xor of pop and pop. |

## Boolean

?: | Pushes, if pop, then pop, else pop. |

and | Pushes pop and pop. |

assert | Fails if pop is null or false. |

false | Pushes Boolean(false). |

false! | Fails if pop is true. |

not | Pushes not pop. |

or | Pushes pop or pop. |

true | Pushes Boolean(true). |

true! | Fails if pop is false. |

xor | Pushes pop xor pop. |

## Rational

0? | Pushes pop is zero. |

0+? | Pushes pop is zero or positive. |

0-? | Pushes pop is zero or negative. |

abs | Pushes abs(pop). |

+ | Pushes addition of pop and pop. |

/ | Pushes quotient of division by pop of pop. |

* | Pushes multiplication of pop and pop. |

neg | Pushes - pop. |

rat | Pushes rational version of pop (and pop). |

1/ | Pushes reciprocal of pop. |

sgn | Pushes the signum function of pop. |

split | Pushes numerator and denominator of pop. |

- | Pushes subtraction of pop from pop. |

## Complex

abs | Pushes abs(pop). |

acos | Pushes acos(pop). |

arg | Pushes argument of pop. |

asin | Pushes asin(pop). |

atan | Pushes atan(pop). |

+ | Pushes addition of pop and pop. |

conj | Pushes conjugate of pop. |

cos | Pushes cos(pop). |

cosh | Pushes cosh(pop). |

cplx | Pushes cartesian version of pop (and pop). |

/ | Pushes quotient of division by pop of pop. |

exp | Pushes exponential of pop. |

i | Pushes i. |

imag | Pushes imaginary part of pop. |

* | Pushes multiplication of pop and pop. |

neg | Pushes - pop. |

polar | Pushes polar version of pop (and pop). |

pow | Pushes pop power of pop. |

real | Pushes real part of pop. |

sgn | Pushes the signum function of pop. |

sin | Pushes sin(pop). |

sinh | Pushes sinh(pop). |

split | Pushes pop splitted in two. |

- | Pushes subtraction of pop from pop. |

tan | Pushes tan(pop). |

tanh | Pushes tanh(pop). |

## String

+ | Pushes concatenation of pop after pop. |

bool | Pushes Boolean.valueOf(pop). |

debug | Logs pop as DEBUG. |

empty? | Pushes pop is empty. |

error | Logs pop as ERROR and fails. |

float | Pushes Double.valueOf(pop). |

format | Pushes formatted with pop on peek marked. |

format* | Pushes formatted with pop on peek all. |

info | Logs pop as INFO. |

int | Pushes Long.valueOf(pop). |

lower | Pushes lower(pop). |

str | Pushes pop to String. |

str? | Pushes pop is a String. |

substring | Pushes substring to pop from pop of pop. |

trim | Pushes trim(pop). |

upper | Pushes upper(pop). |

warn | Logs pop as WARN. |

## BigDecimal

0? | Pushes pop is zero. |

0+? | Pushes pop is zero or positive. |

0-? | Pushes pop is zero or negative. |

abs | Pushes abs(pop). |

+ | Pushes addition of pop and pop. |

bigdec | Pushes pop as a BigDecimal. |

/ | Pushes quotient of division by pop of pop. |

/% | Pushes remainder and quotient of division by pop of pop. |

eq | Pushes pop equal to pop. |

ge | Pushes pop greater than or equal to pop. |

gt | Pushes pop greater than pop. |

le | Pushes pop less than or equal to pop. |

lt | Pushes pop less than pop. |

max | Pushes maximum of pop and pop. |

min | Pushes minimum of pop and pop. |

mod | Pushes the modulo pop of pop. |

.left | Pushes the decimal point moved left by pop in pop. |

.right | Pushes the decimal point moved right by pop in pop. |

* | Pushes multiplication of pop and pop. |

ne | Pushes pop not equal to pop. |

neg | Pushes - pop. |

** | Pushes power pop of pop. |

prec | Pushes the precision of pop. |

% | Pushes remainder of division by pop of pop. |

scale | Pushes the scale of pop. |

scale= | Sets the scale pop of peek. |

sgn | Pushes the signum function of pop. |

strip | Strips trailing zeros of peek. |

- | Pushes subtraction of pop from pop. |

unscaled | Pushes the unscaled value of pop. |

## BigInteger

0? | Pushes pop is zero. |

0+? | Pushes pop is zero or positive. |

0-? | Pushes pop is zero or negative. |

abs | Pushes abs(pop). |

+ | Pushes addition of pop and pop. |

and | Pushes binary and of pop and pop. |

bigint | Pushes pop as a BigInteger. |

bits | Pushes number of bits of pop not equal to sign. |

clear | Pushes with pop bit of pop cleared. |

/ | Pushes quotient of division by pop of pop. |

/% | Pushes remainder and quotient of division by pop of pop. |

eq | Pushes pop equal to pop. |

flip | Pushes with pop bit of pop flipped. |

gcd | Pushes gcd of pop and pop. |

ge | Pushes pop greater than or equal to pop. |

gt | Pushes pop greater than pop. |

le | Pushes pop less than or equal to pop. |

low1 | Pushes index of lowest set bit of pop or -1. |

lshft | Pushes pop times left shift of pop. |

lt | Pushes pop less than pop. |

max | Pushes maximum of pop and pop. |

min | Pushes minimum of pop and pop. |

mod | Pushes the modulo pop of pop. |

* | Pushes multiplication of pop and pop. |

ne | Pushes pop not equal to pop. |

neg | Pushes - pop. |

not | Pushes binary complement of pop. |

or | Pushes binary or of pop and pop. |

** | Pushes power pop of pop. |

% | Pushes remainder of division by pop of pop. |

rshft | Pushes pop times right shift of pop. |

set | Pushes with pop bit of pop set. |

sgn | Pushes the signum function of pop. |

- | Pushes subtraction of pop from pop. |

test | Pushes state of pop bit of pop. |

xor | Pushes binary xor of pop and pop. |

## BigRational

0? | Pushes pop is zero. |

0+? | Pushes pop is zero or positive. |

0-? | Pushes pop is zero or negative. |

abs | Pushes abs(pop). |

+ | Pushes addition of pop and pop. |

bigrat | Pushes big rational version of pop (and pop). |

/ | Pushes quotient of division by pop of pop. |

* | Pushes multiplication of pop and pop. |

neg | Pushes - pop. |

rat | Pushes rational version of pop. |

1/ | Pushes reciprocal of pop. |

sgn | Pushes the signum function of pop. |

split | Pushes numerator and denominator of pop. |

- | Pushes subtraction of pop from pop. |

## Compound

{ | Bundles next operations until '}' into one. |

break | Breaks out of a loop. |

continue | Continues a loop. |

do | Does next while pop. |

else | When seen by 'if', provides an alternative. |

} | Ends '{' operation. |

if | Skips next if pop is false. |

reduce | Applies next while stack size is greater than 1. |

#reduce | Pops stack size target and reduce. |

try | Unless next fails, skips next. |

unless | Skips next if pop is true. |

while | While pop, does next. |

## Container

append | Appends pop to tuple. |

apply | Applies next to pop container. |

container? | Pushes pop is a container. |

dict | Pushes an empty dict. |

dict? | Pushes pop is a dict. |

get | Gets container value for pop key. |

put | Puts in container at pop key a pop value. |

remove | Removes and pushes container value for pop key. |

size | Pushes size of container. |

tuple | Pushes an empty tuple. |

tuple? | Pushes pop is a tuple. |

values | Pushes container values. |

## Dict (applied)

entries | Pushes entries. |

get | Gets value for pop key. |

keys | Pushes keys. |

put | Puts at pop key a pop value. |

remove | Removes and pushes value for pop key. |

size | Pushes size. |

values | Pushes values. |

## Tuple (applied)

append | Appends pop. |

get | Gets value at pop index. |

put | Puts at pop index a pop value. |

remove | Removes and pushes value at pop index. |

size | Pushes size. |

values | Pushes values. |

## Summarizer

first | Pushes value of first step. |

first@ | Pushes time stamp of first step. |

first$ | Pushes state of first step. |

last | Pushes value of last step. |

last@ | Pushes time stamp of last step. |

last$ | Pushes state of last step. |

next | Pushes value of next step. |

next@ | Pushes time stamp of next step. |

next$ | Pushes state of next step. |

prev | Pushes value of previous step. |

prev@ | Pushes time stamp of previous step. |

prev$ | Pushes state of previous step. |

start | Pushes interval start value. |

start@ | Pushes interval start time stamp. |

start$ | Pushes interval start state. |

step | Pushes current step number. |

stop | Pushes interval stop value. |

stop@ | Pushes interval stop time stamp. |

stop$ | Pushes interval stop state. |

$* | Pushes all steps in order. |

$*! | Pushes all steps in order disallowing nulls. |

$# | Pushes number of steps. |

$ | Pushes current step value. |

$! | Pushes required current step value. |

$@ | Pushes current step time stamp. |

$$ | Pushes current step state. |