summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2020-02-16 19:17:32 +0100
committer couriersud <couriersud@gmx.org>2020-02-16 19:17:32 +0100
commit9ea6b12ccb155f8e9a2043f84da0ae1e83123bc3 (patch)
tree455effd22e7befb01c9a316b0fe9b5f500ae6ede
parentacaea048e19b1f9fe548fa8107a0d9576df1d6d8 (diff)
netlist: added min and max to pfunction. (nw)
-rw-r--r--src/lib/netlist/plib/pfunction.cpp6
-rw-r--r--src/lib/netlist/plib/pfunction.h2
2 files changed, 8 insertions, 0 deletions
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<NT>(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,