Files Classes Functions Hierarchy
#include <rpnfunc.h>
Public Member Functions | |
| rpngreaterthan () | |
| rpngreaterthan (deque< rpnbase * > &ds, bool const evaluate=true) | |
| ~rpngreaterthan () | |
| rpnbase * | copy () const |
| void | visit (deque< rpnbase * > &ds, rpnreal &n) |
| void | visit (deque< rpnbase * > &ds, rpninteger &n) |
| string const | name () const |
| void | eval (deque< rpnbase * > &ds) |
Definition at line 777 of file rpnfunc.h.
| rpngreaterthan::rpngreaterthan | ( | ) | [inline] |
Definition at line 2159 of file rpnfunc.cpp.
References eval().
02160 { 02161 if (evaluate) 02162 eval(ds); 02163 else 02164 ds.push_front(this); 02165 }
| rpnbase * rpngreaterthan::copy | ( | ) | const [virtual] |
Reimplemented from rpnfunction.
Definition at line 2167 of file rpnfunc.cpp.
References rpngreaterthan().
02168 { 02169 return new rpngreaterthan(); 02170 }
| void rpngreaterthan::eval | ( | deque< rpnbase * > & | ds | ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 2172 of file rpnfunc.cpp.
References rpnbase::accept(), and rpnbase::dec().
Referenced by rpngreaterthan().
| string const rpngreaterthan::name | ( | ) | const [inline, virtual] |
| void rpngreaterthan::visit | ( | deque< rpnbase * > & | ds, | |
| rpninteger & | n | |||
| ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 2201 of file rpnfunc.cpp.
References rpnbase::dec(), rpnbase::isinteger(), rpnbase::isreal(), and rpninteger::num.
02202 { 02203 rpnbase* x0 = ds.front(); 02204 ds.pop_front(); 02205 rpnbase* x1 = ds.front(); 02206 ds.pop_front(); 02207 02208 if ( x1->isreal()) 02209 { 02210 new rpninteger(ds, ((rpnreal*)x1)->num > n.num ); 02211 } 02212 else 02213 if ( x1->isinteger()) 02214 { 02215 new rpninteger(ds, ((rpninteger*)x1)->num > n.num ); 02216 } 02217 02218 x0->dec(); 02219 x1->dec(); 02220 }
Reimplemented from rpnfunction.
Definition at line 2180 of file rpnfunc.cpp.
References rpnbase::dec(), rpnbase::isinteger(), rpnbase::isreal(), and rpnreal::num.
02181 { 02182 rpnbase* x0 = ds.front(); 02183 ds.pop_front(); 02184 rpnbase* x1 = ds.front(); 02185 ds.pop_front(); 02186 02187 if ( x1->isinteger()) 02188 { 02189 new rpninteger(ds, ((rpninteger*)x1)->num > n.num ); 02190 } 02191 else 02192 if (x1->isreal()) 02193 { 02194 new rpninteger(ds, ((rpnreal*)x1)->num > n.num ); 02195 } 02196 02197 x0->dec(); 02198 x1->dec(); 02199 }
1.5.8