Files Classes Functions Hierarchy
#include <rpnfunc.h>
Public Member Functions | |
| rpnmod () | |
| rpnmod (deque< rpnbase * > &ds, bool const evaluate=true) | |
| ~rpnmod () | |
| rpnbase * | copy () const |
| void | visit (deque< rpnbase * > &ds, rpninteger &n) |
| string const | name () const |
| void | eval (deque< rpnbase * > &ds) |
Definition at line 1370 of file rpnfunc.h.
| rpnmod::rpnmod | ( | ) | [inline] |
Definition at line 4206 of file rpnfunc.cpp.
References eval().
04207 { 04208 if (evaluate) 04209 eval(ds); 04210 else 04211 ds.push_front(this); 04212 }
| rpnbase * rpnmod::copy | ( | ) | const [virtual] |
Reimplemented from rpnfunction.
Definition at line 4214 of file rpnfunc.cpp.
References rpnmod().
04215 { 04216 return new rpnmod(); 04217 }
| void rpnmod::eval | ( | deque< rpnbase * > & | ds | ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 4219 of file rpnfunc.cpp.
References rpnbase::accept(), and rpnbase::dec().
Referenced by rpnmod().
| string const rpnmod::name | ( | ) | const [inline, virtual] |
| void rpnmod::visit | ( | deque< rpnbase * > & | ds, | |
| rpninteger & | n | |||
| ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 4227 of file rpnfunc.cpp.
References rpnbase::dec(), rpnbase::isinteger(), and rpninteger::num.
04228 { 04229 if (!ds[1]->isinteger()) 04230 return; 04231 if (n.num<1) 04232 return; 04233 04234 rpnbase* x0 = ds.front(); 04235 ds.pop_front(); 04236 04237 rpninteger* x1 = (rpninteger *)(ds.front()); 04238 x1->num %= n.num; 04239 04240 x0->dec(); 04241 }
1.5.8