From 4300731de6dddaf9f600c21885d13d90197f9136 Mon Sep 17 00:00:00 2001 From: Joachim Klein Date: Thu, 13 Aug 2015 11:29:03 +0000 Subject: [PATCH] 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 --- prism/src/jdd/JDD.java | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/prism/src/jdd/JDD.java b/prism/src/jdd/JDD.java index 2e080f89..07bbd60e 100644 --- a/prism/src/jdd/JDD.java +++ b/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. + *
[ REFS: result, DEREFS: all arguments ] + */ + 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[ REFS: result, DEREFS: dd ]