A programmable, stack based, reverse polish notation calculator