Files Classes Functions Hierarchy
#include <mathfunc.h>
Public Member Functions | |
| string const | name () const |
| void | visit (deque< rpnbase * > &ds, rpnreal &n) |
| rpnp_to_c () | |
| rpnp_to_c (deque< rpnbase * > &ds, bool const evaluate=true) | |
| ~rpnp_to_c () | |
| rpnbase * | copy () const |
| void | eval (deque< rpnbase * > &ds) |
Definition at line 630 of file mathfunc.h.
| rpnp_to_c::rpnp_to_c | ( | ) | [inline] |
Definition at line 640 of file mathfunc.h.
References eval().
00641 { 00642 if (evaluate) 00643 eval(ds); 00644 else 00645 ds.push_front(this); 00646 }
| rpnp_to_c::~rpnp_to_c | ( | ) | [inline] |
| rpnbase* rpnp_to_c::copy | ( | ) | const [inline, virtual] |
Reimplemented from rpnfunction.
Definition at line 648 of file mathfunc.h.
References rpnp_to_c().
00649 { return new rpnp_to_c(); }
| void rpnp_to_c::eval | ( | deque< rpnbase * > & | ds | ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 237 of file mathfunc.cpp.
References rpnbase::accept(), and rpnbase::dec().
Referenced by rpnp_to_c().
| string const rpnp_to_c::name | ( | ) | const [inline, virtual] |
Reimplemented from rpnfunction.
Definition at line 245 of file mathfunc.cpp.
References rpnbase::dec(), rpnbase::isreal(), rpnreal::num, and r.
00246 { 00247 rpnbase* x0 = ds.front(); 00248 ds.pop_front(); 00249 rpnbase* x1 =ds.front(); 00250 ds.pop_front(); 00251 00252 if (x1->isreal()) 00253 { 00254 long double const r = ((rpnreal*)x1)->num; 00255 long double const t = n.num; 00256 new rpncomplex(ds,r*cos(t),r*sin(t)); 00257 x0->dec(); 00258 x1->dec(); 00259 return; 00260 } 00261 00262 // Restore the stack. 00263 ds.push_front(x1); 00264 ds.push_front(x0); 00265 }
1.5.8