Browse Source

Add JDD.Times: Syntactic sugar for multi-operand JDD.Apply(TIMES, ...)

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10512 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Joachim Klein 11 years ago
parent
commit
4300731de6
  1. 20
      prism/src/jdd/JDD.java

20
prism/src/jdd/JDD.java

@ -433,7 +433,25 @@ public class JDD
}
return ptrToNode(DD_Apply(op, dd1.ptr(), dd2.ptr()));
}
/**
* Multi-operand Apply(JDD.TIMES) (multiplication) operation.
* Operands are processed from left-to-right.
* <br>[ REFS: <i>result</i>, DEREFS: <i>all arguments</i> ]
*/
public static JDDNode Times(JDDNode... nodes) {
if (nodes.length <= 1) {
throw new IllegalArgumentException("JDD.Times needs at least two arguments.");
}
JDDNode result = nodes[0];
for (int i = 1; i<nodes.length; i++) {
result = Apply(JDD.TIMES, result, nodes[i]);
}
return result;
}
/**
* generic monadic apply operation
* <br>[ REFS: <i>result</i>, DEREFS: dd ]

Loading…
Cancel
Save