From 9ea6b12ccb155f8e9a2043f84da0ae1e83123bc3 Mon Sep 17 00:00:00 2001 From: couriersud Date: Sun, 16 Feb 2020 19:17:32 +0100 Subject: netlist: added min and max to pfunction. (nw) --- src/lib/netlist/plib/pfunction.cpp | 6 ++++++ src/lib/netlist/plib/pfunction.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/lib/netlist/plib/pfunction.cpp b/src/lib/netlist/plib/pfunction.cpp index f05a92ad339..31ee9397ec1 100644 --- a/src/lib/netlist/plib/pfunction.cpp +++ b/src/lib/netlist/plib/pfunction.cpp @@ -54,6 +54,10 @@ namespace plib { { rc.m_cmd = SIN; stk -= 0; } else if (cmd == "cos") { rc.m_cmd = COS; stk -= 0; } + else if (cmd == "max") + { rc.m_cmd = MAX; stk -= 1; } + else if (cmd == "min") + { rc.m_cmd = MIN; stk -= 1; } else if (cmd == "trunc") { rc.m_cmd = TRUNC; stk -= 0; } else if (cmd == "rand") @@ -279,6 +283,8 @@ namespace plib { OP(POW, 1, plib::pow(ST2, ST1)) OP(SIN, 0, plib::sin(ST2)) OP(COS, 0, plib::cos(ST2)) + OP(MAX, 1, std::max(ST2, ST1)) + OP(MIN, 1, std::min(ST2, ST1)) OP(TRUNC, 0, plib::trunc(ST2)) case RAND: stack[ptr++] = lfsr_random(m_lfsr); diff --git a/src/lib/netlist/plib/pfunction.h b/src/lib/netlist/plib/pfunction.h index cab5a78a983..b66d915b902 100644 --- a/src/lib/netlist/plib/pfunction.h +++ b/src/lib/netlist/plib/pfunction.h @@ -37,6 +37,8 @@ namespace plib { POW, SIN, COS, + MIN, + MAX, RAND, /// random number between 0 and 1 TRUNC, PUSH_CONST, -- cgit v1.2.3