From 526cbc4c935fa71376a838ed25247e46a2b019dc Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Sun, 13 Jun 2010 23:35:22 -0400 Subject: Restored min() and max() virtual functions --- src/session.cc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/session.cc') diff --git a/src/session.cc b/src/session.cc index df6eaf7d..108a5f47 100644 --- a/src/session.cc +++ b/src/session.cc @@ -192,6 +192,16 @@ value_t session_t::fn_account(call_scope_t& args) return NULL_VALUE; } +value_t session_t::fn_min(call_scope_t& args) +{ + return args[1] < args[0] ? args[1] : args[0]; +} + +value_t session_t::fn_max(call_scope_t& args) +{ + return args[1] > args[0] ? args[1] : args[0]; +} + option_t * session_t::lookup_option(const char * p) { switch (*p) { @@ -243,6 +253,14 @@ expr_t::ptr_op_t session_t::lookup(const symbol_t::kind_t kind, if (is_eq(p, "account")) return MAKE_FUNCTOR(session_t::fn_account); break; + + case 'm': + if (is_eq(p, "min")) + return MAKE_FUNCTOR(session_t::fn_min); + else if (is_eq(p, "max")) + return MAKE_FUNCTOR(session_t::fn_max); + break; + default: break; } -- cgit v1.2.3