From fb90cac2f2079972d75b3c4637de314a8498ed24 Mon Sep 17 00:00:00 2001 From: couriersud Date: Thu, 2 Jul 2020 21:29:25 +0200 Subject: netlist: Add comparison operators to pfunction. Comparison operators evaluate either into 0.0 or 1.0. Thus they can be used like "(a==1)*(b==2)" which will only result in 1.0 if a equal 1 and b equal 1. From the yet to be released test code: * PFUNCEXPECT("1==1", 1.0) * PFUNCEXPECT("1 *0 == 2-1-1", 1.0) * PFUNCEXPECT("0!=1", 1.0) * PFUNCEXPECT("0<1", 1.0) * PFUNCEXPECT("1>0", 1.0) * PFUNCEXPECT("0<=1", 1.0) * PFUNCEXPECT("1>=0", 1.0) * PFUNCEXPECT("1<=1", 1.0) * PFUNCEXPECT("1>=1", 1.0) * PFUNCEXPECT("if(1>0, 2, 0)", 2.0) * PFUNCEXPECT("if(0>1, 2, 3)", 3.0) * PFUNCEXPECT("if(sin(1)>0, 2, 3)", 3.0) // fail --- src/lib/netlist/plib/pfunction.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/lib/netlist/plib/pfunction.h') diff --git a/src/lib/netlist/plib/pfunction.h b/src/lib/netlist/plib/pfunction.h index e0b81a25e00..fe5a5dd1dc6 100644 --- a/src/lib/netlist/plib/pfunction.h +++ b/src/lib/netlist/plib/pfunction.h @@ -32,6 +32,13 @@ namespace plib { MULT, SUB, DIV, + EQ, + NE, + LT, + GT, + LE, + GE, + IF, POW, SIN, COS, -- cgit v1.2.3