From 2c5562ed037db694e7f03180ef6d1d21db4ec95f Mon Sep 17 00:00:00 2001 From: Miles Vella <673-vella@users.noreply.gitlab.cs.uni-duesseldorf.de> Date: Mon, 17 Feb 2025 19:01:33 +0100 Subject: [PATCH] cleanup btypes --- .gitignore | 1 + Makefile | 4 +- btypes_big_integer/build.gradle | 4 +- .../java/de/hhu/stups/btypes/BBoolean.java | 42 +- .../java/de/hhu/stups/btypes/BInteger.java | 169 ++- .../java/de/hhu/stups/btypes/BRelation.java | 1052 ++++++++-------- .../main/java/de/hhu/stups/btypes/BSet.java | 257 ++-- .../java/de/hhu/stups/btypes/BString.java | 58 +- .../java/de/hhu/stups/btypes/BStruct.java | 19 +- .../main/java/de/hhu/stups/btypes/BTuple.java | 44 +- .../de/hhu/stups/btypes/BIntegerTest.java | 79 ++ btypes_primitives/build.gradle | 4 +- .../java/de/hhu/stups/btypes/BBoolean.java | 46 +- .../java/de/hhu/stups/btypes/BInteger.java | 393 +++--- .../java/de/hhu/stups/btypes/BRelation.java | 1068 ++++++++--------- .../main/java/de/hhu/stups/btypes/BSet.java | 292 ++--- .../java/de/hhu/stups/btypes/BString.java | 58 +- .../java/de/hhu/stups/btypes/BStruct.java | 17 +- .../main/java/de/hhu/stups/btypes/BTuple.java | 44 +- .../java/de/hhu/stup/btypes/BIntegerTest.java | 79 ++ .../hhu/stups/codegenerator/JavaTemplate.stg | 28 +- .../codegenerator/java/TestMachines.java | 1 + .../BooleanPredicateAddition.stjava | 2 +- .../stups/codegenerator/ChoiceAddition.stjava | 2 +- .../codegenerator/EquivalenceAddition.stjava | 2 +- .../ManyLocalDeclarations2Addition.stjava | 2 +- .../ManyLocalDeclarationsAddition.stjava | 2 +- .../codegenerator/OperationAddition.stjava | 2 +- .../stups/codegenerator/WhileAddition.stjava | 2 +- .../lustre/M_AssertionClockAddition.stjava | 2 +- .../lustre/M_AssertionExampleAddition.stjava | 2 +- .../lustre/M_COUNTAddition.stjava | 6 +- .../lustre/M_Clock12Addition.stjava | 8 +- .../lustre/M_Clock4Addition.stjava | 8 +- .../lustre/M_Clock6Addition.stjava | 8 +- .../lustre/M_Clock7Addition.stjava | 8 +- .../lustre/M_Clock8Addition.stjava | 8 +- .../lustre/M_Current2Addition.stjava | 16 +- .../lustre/M_Current3Addition.stjava | 16 +- .../lustre/M_CurrentAddition.stjava | 6 +- .../lustre/M_DivisionAddition.stjava | 6 +- .../lustre/M_Fby2Addition.stjava | 4 +- .../lustre/M_Fby3Addition.stjava | 10 +- .../codegenerator/lustre/M_FbyAddition.stjava | 6 +- .../lustre/M_If_Then_Else2Addition.stjava | 8 +- .../lustre/M_If_Then_ElseAddition.stjava | 6 +- .../lustre/M_LiftAddition.stjava | 12 +- .../lustre/M_MachineAddition.stjava | 8 +- .../lustre/M_ModuloAddition.stjava | 8 +- .../lustre/M_MovingItem_mainAddition.stjava | 16 +- .../lustre/M_Nil3Addition.stjava | 6 +- .../codegenerator/lustre/M_NilAddition.stjava | 6 +- .../lustre/M_NilChecking2Addition.stjava | 4 +- .../lustre/M_NilChecking5Addition.stjava | 10 +- .../lustre/M_NilChecking6Addition.stjava | 10 +- .../lustre/M_NilCheckingAddition.stjava | 8 +- .../lustre/M_NodeCallAddition.stjava | 10 +- .../lustre/M_NodeCall_Clock2Addition.stjava | 8 +- .../lustre/M_NodeCall_Clock3Addition.stjava | 8 +- .../lustre/M_NodeCall_ClockAddition.stjava | 8 +- .../lustre/M_Pre2Addition.stjava | 8 +- .../lustre/M_Pre3Addition.stjava | 4 +- .../lustre/M_Pre4Addition.stjava | 12 +- .../lustre/M_Pre5Addition.stjava | 12 +- .../lustre/M_Pre6Addition.stjava | 12 +- .../lustre/M_Pre7Addition.stjava | 12 +- .../codegenerator/lustre/M_PreAddition.stjava | 8 +- .../lustre/M_SLOW_TIME_STABLEAddition.stjava | 12 +- .../lustre/M_SubmodeExampleAddition.stjava | 16 +- .../lustre/M_TIME_STABLEAddition.stjava | 12 +- .../lustre/M_UMS_mainAddition.stjava | 12 +- .../lustre/M_UMS_verifAddition.stjava | 12 +- .../lustre/M_UnequalAddition.stjava | 4 +- .../lustre/M_VerifyMovingItemAddition.stjava | 16 +- .../lustre/M_When10Addition.stjava | 8 +- .../lustre/M_When11Addition.stjava | 10 +- .../lustre/M_When2Addition.stjava | 6 +- .../lustre/M_When3Addition.stjava | 10 +- .../lustre/M_When4Addition.stjava | 6 +- .../lustre/M_When5Addition.stjava | 8 +- .../lustre/M_When6Addition.stjava | 8 +- .../lustre/M_When7Addition.stjava | 8 +- .../lustre/M_When8Addition.stjava | 8 +- .../lustre/M_When9Addition.stjava | 8 +- .../lustre/M_WhenAddition.stjava | 6 +- .../lustre/M_carlights2_v4Addition.stjava | 18 +- .../lustre/M_expr_list2Addition.stjava | 6 +- .../lustre/M_expr_list3Addition.stjava | 6 +- .../lustre/M_expr_list4Addition.stjava | 6 +- .../lustre/M_expr_list5Addition.stjava | 4 +- .../lustre/M_expr_list6Addition.stjava | 4 +- .../lustre/M_expr_list9Addition.stjava | 8 +- .../lustre/M_expr_listAddition.stjava | 2 +- .../lustre/M_pilot_flyingAddition.stjava | 30 +- .../lustre/M_speed_mainAddition.stjava | 34 +- .../lustre/M_speed_verifAddition.stjava | 34 +- 96 files changed, 2122 insertions(+), 2291 deletions(-) create mode 100644 btypes_big_integer/src/test/java/de/hhu/stups/btypes/BIntegerTest.java create mode 100644 btypes_primitives/src/test/java/de/hhu/stup/btypes/BIntegerTest.java diff --git a/.gitignore b/.gitignore index b9f4b3a5c..a010553f6 100644 --- a/.gitignore +++ b/.gitignore @@ -172,3 +172,4 @@ benchmarks/model_checking/ProB/lib benchmarks/model_checking/ProB/stdlib btypes_primitives/src/main/rust/bmachine/src/** btypes_big_integer/src/main/rust/bmachine/src/** +build_cpp/ diff --git a/Makefile b/Makefile index 02f9f1ff8..a5b01fa44 100644 --- a/Makefile +++ b/Makefile @@ -17,10 +17,10 @@ b2program: ./gradlew fatJar && mv build/libs/B2Program-all-0.1.0-SNAPSHOT.jar . btypes_primitives: - cd btypes_primitives && ./gradlew fatJar && cp build/libs/btypes_primitives-all.jar ../btypes.jar && cd .. + cd btypes_primitives && ./gradlew check && ./gradlew fatJar && cp build/libs/btypes_primitives-all.jar ../btypes.jar && cd .. btypes_big_integer: - cd btypes_big_integer && ./gradlew fatJar && cp build/libs/btypes_big_integer-all.jar ../btypes.jar && cd .. + cd btypes_big_integer && ./gradlew check && ./gradlew fatJar && cp build/libs/btypes_big_integer-all.jar ../btypes.jar && cd .. ifndef LANGUAGE echo "LANGUAGE is not set" diff --git a/btypes_big_integer/build.gradle b/btypes_big_integer/build.gradle index 5665f62cd..91055e3a1 100644 --- a/btypes_big_integer/build.gradle +++ b/btypes_big_integer/build.gradle @@ -15,8 +15,8 @@ repositories { } dependencies { - implementation group: 'org.clojure', name: 'clojure', version: '1.10.0' - testImplementation 'junit:junit:4.8.2' + implementation group: 'org.clojure', name: 'clojure', version: '1.12.0' + testImplementation 'junit:junit:4.13.2' } java { diff --git a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BBoolean.java b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BBoolean.java index 18cf55a2a..82db10d8b 100755 --- a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BBoolean.java +++ b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BBoolean.java @@ -52,64 +52,36 @@ public final class BBoolean implements BObject { return String.valueOf(this.value); } - /* groovy operator overloading support */ - Object asType(Class<?> clazz) { - if (clazz == BBoolean.class) { - return this; - } - return clazz.cast(this.value); - } - public BBoolean or(BBoolean other) { - return new BBoolean(this.booleanValue() || other.booleanValue()); - } - - public BBoolean or(boolean other) { - return new BBoolean(this.booleanValue() || other); + return of(this.booleanValue() || other.booleanValue()); } public BBoolean xor(BBoolean other) { - return new BBoolean(this.booleanValue() ^ other.booleanValue()); - } - - public BBoolean xor(boolean other) { - return new BBoolean(this.booleanValue() ^ other); + return of(this.booleanValue() ^ other.booleanValue()); } public BBoolean and(BBoolean other) { - return new BBoolean(this.booleanValue() && other.booleanValue()); - } - - public BBoolean and(boolean other) { - return new BBoolean(this.booleanValue() && other); + return of(this.booleanValue() && other.booleanValue()); } public BBoolean not() { - return new BBoolean(!this.booleanValue()); + return of(!this.booleanValue()); } public BBoolean implies(BBoolean other) { return this.not().or(other); } - public BBoolean implies(boolean other) { - return new BBoolean(this.not().booleanValue() || other); - } - public BBoolean equivalent(BBoolean other) { - return new BBoolean(this.booleanValue() == other.booleanValue()); - } - - public BBoolean equivalent(boolean other) { - return new BBoolean(this.booleanValue() == other); + return of(this.booleanValue() == other.booleanValue()); } public BBoolean equal(BBoolean other) { - return new BBoolean(this.booleanValue() == other.booleanValue()); + return of(this.booleanValue() == other.booleanValue()); } public BBoolean unequal(BBoolean other) { - return new BBoolean(this.booleanValue() != other.booleanValue()); + return of(this.booleanValue() != other.booleanValue()); } public BBoolean isBoolean() { diff --git a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BInteger.java b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BInteger.java index 7df4aac3a..fd0404f55 100755 --- a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BInteger.java +++ b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BInteger.java @@ -1,16 +1,28 @@ package de.hhu.stups.btypes; +import java.math.BigInteger; import java.util.Objects; import clojure.lang.BigInt; import clojure.lang.RT; import clojure.lang.Var; -public final class BInteger extends java.lang.Number implements Comparable<BInteger>, BObject { +public final class BInteger extends Number implements Comparable<BInteger>, BObject { - public static final BInteger ZERO = new BInteger(0); - public static final BInteger ONE = new BInteger(1); - public static final BInteger TWO = new BInteger(2); + private static final BigInteger JBI_ZERO = BigInteger.ZERO; + private static final BigInteger JBI_ONE = BigInteger.ONE; + private static final BigInteger JBI_TWO = BigInteger.valueOf(2); + private static final BigInteger JBI_MINUS_ONE = BigInteger.valueOf(-1); + + private static final BigInt CBI_ZERO = BigInt.fromLong(0); + private static final BigInt CBI_ONE = BigInt.fromLong(1); + private static final BigInt CBI_TWO = BigInt.fromLong(2); + private static final BigInt CBI_MINUS_ONE = BigInt.fromLong(-1); + + public static final BInteger ZERO = new BInteger(CBI_ZERO); + public static final BInteger ONE = new BInteger(CBI_ONE); + public static final BInteger TWO = new BInteger(CBI_TWO); + public static final BInteger MINUS_ONE = new BInteger(CBI_MINUS_ONE); private static final Var PLUS = RT.var("clojure.core", "+"); private static final Var MINUS = RT.var("clojure.core", "-"); @@ -20,32 +32,76 @@ public final class BInteger extends java.lang.Number implements Comparable<BInte private static final Var COMPARE = RT.var("clojure.core", "compare"); private static final Var INC = RT.var("clojure.core", "inc"); private static final Var DEC = RT.var("clojure.core", "dec"); - private static final Var SHIFT_LEFT = RT.var("clojure.core", "bit-shift-left"); - private static final Var SHIFT_RIGHT = RT.var("clojure.core", "bit-shift-right"); - private static final long serialVersionUID = -6484548796859331267L; - private final BigInt value; + public static BInteger of(int value) { + switch (value) { + case 0: + return ZERO; + case 1: + return ONE; + case 2: + return TWO; + case -1: + return MINUS_ONE; + default: + return new BInteger(BigInt.fromLong(value)); + } + } - public BInteger(BigInt value) { - this.value = Objects.requireNonNull(value, "value"); + public static BInteger of(long value) { + if (value == 0) { + return ZERO; + } else if (value == 1) { + return ONE; + } else if (value == 2) { + return TWO; + } else if (value == -1) { + return MINUS_ONE; + } else { + return new BInteger(BigInt.fromLong(value)); + } } - public BInteger(int value) { - this(BigInt.fromLong(value)); + public static BInteger of(BigInteger value) { + if (JBI_ZERO.equals(value)) { + return ZERO; + } else if (JBI_ONE.equals(value)) { + return ONE; + } else if (JBI_TWO.equals(value)) { + return TWO; + } else if (JBI_MINUS_ONE.equals(value)) { + return MINUS_ONE; + } else { + return new BInteger(BigInt.fromBigInteger(value)); + } } - public BInteger(String value) { - BigInt parsed; - try { - parsed = BigInt.fromLong(Long.parseLong(value)); - } catch (NumberFormatException ignored) { - parsed = BigInt.fromBigInteger(new java.math.BigInteger(value)); + private static BInteger of(BigInt value) { + if (CBI_ZERO.equals(value)) { + return ZERO; + } else if (CBI_ONE.equals(value)) { + return ONE; + } else if (CBI_TWO.equals(value)) { + return TWO; + } else if (CBI_MINUS_ONE.equals(value)) { + return MINUS_ONE; + } else { + return new BInteger(value); } - this.value = parsed; } - public static BInteger build(int value) { - return new BInteger(value); + public static BInteger of(String value) { + return of(new BigInteger(value)); + } + + public static BInteger of(BInteger value) { + return Objects.requireNonNull(value, "value"); + } + + private final BigInt value; + + private BInteger(BigInt value) { + this.value = Objects.requireNonNull(value, "value"); } @Override @@ -70,31 +126,27 @@ public final class BInteger extends java.lang.Number implements Comparable<BInte } public BBoolean lessEqual(BInteger o) { - return new BBoolean(compareTo(o) <= 0); + return BBoolean.of(compareTo(o) <= 0); } public BBoolean greaterEqual(BInteger o) { - return new BBoolean(compareTo(o) >= 0); - } - - public java.math.BigInteger asBigInteger() { - return value.toBigInteger(); + return BBoolean.of(compareTo(o) >= 0); } public BBoolean less(BInteger o) { - return new BBoolean(compareTo(o) < 0); + return BBoolean.of(compareTo(o) < 0); } public BBoolean greater(BInteger o) { - return new BBoolean(compareTo(o) > 0); + return BBoolean.of(compareTo(o) > 0); } public BBoolean equal(BInteger o) { - return new BBoolean(compareTo(o) == 0); + return BBoolean.of(compareTo(o) == 0); } public BBoolean unequal(BInteger o) { - return new BBoolean(compareTo(o) != 0); + return BBoolean.of(compareTo(o) != 0); } @Override @@ -118,19 +170,19 @@ public final class BInteger extends java.lang.Number implements Comparable<BInte } public BInteger plus(BInteger o) { - return new BInteger((BigInt) PLUS.invoke(this.value, o.value)); + return of((BigInt) PLUS.invoke(this.value, o.value)); } - public java.lang.String toString() { + public String toString() { return this.value.toString(); } public BInteger minus(BInteger o) { - return new BInteger((BigInt) MINUS.invoke(this.value, o.value)); + return of((BigInt) MINUS.invoke(this.value, o.value)); } public BInteger multiply(BInteger o) { - return new BInteger((BigInt) MULTIPLY.invoke(this.value, o.value)); + return of((BigInt) MULTIPLY.invoke(this.value, o.value)); } public BInteger power(BInteger exp) { @@ -138,43 +190,40 @@ public final class BInteger extends java.lang.Number implements Comparable<BInte throw new IllegalArgumentException("Exponent must be a natural number"); } + BInteger val = this; + if (exp.equals(ZERO) || val.equals(ONE)) { + return ONE; + } else if (val.equals(ZERO)) { + return ZERO; + } + BInteger result = ONE; - while (true) { - if (ONE.equals(exp.modulo(TWO))) { - result = result.multiply(this); + while (exp.greater(ZERO).booleanValue()) { + if (exp.modulo(TWO).equals(ONE)) { + result = result.multiply(val); } + val = val.multiply(val); exp = exp.divide(TWO); - if (ZERO.equals(exp)) { - return result; - } - - result = result.multiply(result); } + + return result; } public BInteger divide(BInteger o) { - return new BInteger((BigInt) DIVIDE.invoke(this.value, o.value)); + return of((BigInt) DIVIDE.invoke(this.value, o.value)); } public BInteger modulo(BInteger o) { - return new BInteger((BigInt) MODULO.invoke(this.value, o.value)); + return of((BigInt) MODULO.invoke(this.value, o.value)); } public BInteger succ() { - return new BInteger((BigInt) INC.invoke(this.value)); + return of((BigInt) INC.invoke(this.value)); } public BInteger pred() { - return new BInteger((BigInt) DEC.invoke(this.value)); - } - - public BInteger leftShift(BInteger o) { - return new BInteger((BigInt) SHIFT_LEFT.invoke(this.value)); - } - - public BInteger rightShift(BInteger o) { - return new BInteger((BigInt) SHIFT_RIGHT.invoke(this.value)); + return of((BigInt) DEC.invoke(this.value)); } public boolean isCase(BInteger o) { @@ -182,23 +231,19 @@ public final class BInteger extends java.lang.Number implements Comparable<BInte } public BInteger negative() { - return new BInteger((BigInt) MINUS.invoke(this.value)); + return of((BigInt) MINUS.invoke(this.value)); } public BInteger positive() { return this; } - public BigInt getValue() { - return value; - } - public BBoolean isInteger() { - return new BBoolean(true); + return BBoolean.of(true); } public BBoolean isNotInteger() { - return new BBoolean(false); + return BBoolean.of(false); } public BBoolean isNatural() { diff --git a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BRelation.java b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BRelation.java index fdbbc1767..93a1a3d33 100644 --- a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BRelation.java +++ b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BRelation.java @@ -1,46 +1,30 @@ package de.hhu.stups.btypes; -import clojure.java.api.Clojure; -import clojure.lang.PersistentHashSet; -import clojure.lang.PersistentHashMap; -import clojure.lang.RT; -import clojure.lang.Var; - import java.util.Iterator; import java.util.LinkedList; -import java.util.Queue; import java.util.Objects; +import java.util.Queue; -/** - * Created by fabian on 15.01.19. - */ -public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { - - protected static final Var ASSOC; - - protected static final Var DISSOC; - - protected static final Var GET; - - protected static final Var SET; - - protected static final Var SEQ; - - protected static final Var LIST; - - protected static final Var KEYS; - - protected static final Var VALS; - - protected static final Var CONTAINS; - - protected static final Var REDUCE; - - protected static final Var INTERSECTION; - - protected static final Var UNION; +import clojure.java.api.Clojure; +import clojure.lang.PersistentHashMap; +import clojure.lang.PersistentHashSet; +import clojure.lang.RT; +import clojure.lang.Var; - protected static final Var DIFFERENCE; +public final class BRelation<S, T> implements BObject, Iterable<BTuple<S, T>> { + + private static final Var ASSOC; + private static final Var DISSOC; + private static final Var GET; + private static final Var SET; + private static final Var SEQ; + private static final Var LIST; + private static final Var KEYS; + private static final Var VALS; + private static final Var REDUCE; + private static final Var INTERSECTION; + private static final Var UNION; + private static final Var DIFFERENCE; static { RT.var("clojure.core", "require").invoke(Clojure.read("clojure.set")); @@ -52,73 +36,71 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { LIST = RT.var("clojure.core", "list"); KEYS = RT.var("clojure.core", "keys"); VALS = RT.var("clojure.core", "vals"); - CONTAINS = RT.var("clojure.core", "contains?"); REDUCE = RT.var("clojure.core", "reduce"); INTERSECTION = RT.var("clojure.set", "intersection"); UNION = RT.var("clojure.set", "union"); DIFFERENCE = RT.var("clojure.set", "difference"); } - private PersistentHashMap map; + private final PersistentHashMap map; - public BRelation(PersistentHashMap map) { - this.map = map; + BRelation(PersistentHashMap map) { + this.map = Objects.requireNonNull(map, "map"); } @SafeVarargs - public BRelation(BTuple<S,T>... elements) { - this.map = PersistentHashMap.EMPTY; - for(BTuple<S,T> e : elements) { + public BRelation(BTuple<S, T>... elements) { + PersistentHashMap map = PersistentHashMap.EMPTY; + for (BTuple<S, T> e : elements) { S key = e.projection1(); T value = e.projection2(); - PersistentHashSet set = (PersistentHashSet) GET.invoke(this.map, key); - if(set == null) { + PersistentHashSet set = (PersistentHashSet) GET.invoke(map, key); + if (set == null) { set = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(value))); } else { set = (PersistentHashSet) UNION.invoke(set, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(value)))); } - this.map = (PersistentHashMap) ASSOC.invoke(this.map, key, set); + map = (PersistentHashMap) ASSOC.invoke(map, key, set); } + this.map = map; } - public static <S,T> BRelation<S,T> fromSet(BSet<BTuple<S,T>> set) { - PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BTuple<S,T> e : set) { - S key = e.projection1(); - T value = e.projection2(); - PersistentHashSet range = (PersistentHashSet) GET.invoke(resultMap, key); - if(set == null) { - range = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(value))); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, key, range); - } else { - range = (PersistentHashSet) UNION.invoke(range, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(value)))); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, key, range); - } - } - return new BRelation<S,T>(resultMap); + @SuppressWarnings("unchecked") + public static <S, T> BRelation<S, T> fromSet(BSet<BTuple<S, T>> set) { + return new BRelation<>(set.toArray(new BTuple[0])); } - @SuppressWarnings("unchecked") public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (o == null || getClass() != o.getClass()) - return false; - - BRelation<S,T> bObjects = (BRelation<S,T>) o; - - if (!map.equals(bObjects.map)) + } else if (!(o instanceof BRelation)) { return false; - - return true; + } else { + return this.map.equals(((BRelation<?, ?>) o).map); + } } public int hashCode() { - return Objects.hash(map); + return this.map.hashCode(); + } + + public String toString() { + Iterator<BTuple<S, T>> it = this.iterator(); + StringBuilder sb = new StringBuilder(); + sb.append("{"); + while (it.hasNext()) { + BTuple<S, T> b = it.next(); + sb.append(b.toString()); + if (it.hasNext()) { + sb.append(", "); + } + } + sb.append("}"); + return sb.toString(); } @SuppressWarnings("unchecked") - public BRelation<S,T> intersect(BRelation<S,T> relation) { + public BRelation<S, T> intersect(BRelation<S, T> relation) { PersistentHashMap otherMap = relation.map; PersistentHashSet otherDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(otherMap)); PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); @@ -126,64 +108,64 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { PersistentHashSet differenceDomain = (PersistentHashSet) DIFFERENCE.invoke(thisDomain, otherDomain); PersistentHashMap resultMap = this.map; - for(Object obj : intersectionDomain) { + for (Object obj : intersectionDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); PersistentHashSet otherRangeSet = (PersistentHashSet) GET.invoke(otherMap, domainElement); PersistentHashSet newRangeSet = (PersistentHashSet) INTERSECTION.invoke(thisRangeSet, otherRangeSet); - if(newRangeSet.isEmpty()) { + if (newRangeSet.isEmpty()) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, domainElement); } else { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, newRangeSet); } } - for(Object obj : differenceDomain) { + for (Object obj : differenceDomain) { S domainElement = (S) obj; resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, domainElement); } - return new BRelation<S,T>(resultMap); + return new BRelation<S, T>(resultMap); } @SuppressWarnings("unchecked") - public BRelation<S,T> difference(BRelation<S,T> relation) { + public BRelation<S, T> difference(BRelation<S, T> relation) { PersistentHashMap otherMap = relation.map; PersistentHashSet otherDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(otherMap)); PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); PersistentHashSet intersectionDomain = (PersistentHashSet) INTERSECTION.invoke(thisDomain, otherDomain); PersistentHashMap resultMap = this.map; - for(Object obj : intersectionDomain) { + for (Object obj : intersectionDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); PersistentHashSet otherRangeSet = (PersistentHashSet) GET.invoke(otherMap, domainElement); - if(otherRangeSet == null) { + if (otherRangeSet == null) { continue; } PersistentHashSet newRangeSet = (PersistentHashSet) DIFFERENCE.invoke(thisRangeSet, otherRangeSet); - if(newRangeSet.isEmpty()) { + if (newRangeSet.isEmpty()) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, domainElement); } else { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, newRangeSet); } } - return new BRelation<S,T>(resultMap); + return new BRelation<S, T>(resultMap); } @SuppressWarnings("unchecked") - public BRelation<S,T> union(BRelation<S,T> relation) { + public BRelation<S, T> union(BRelation<S, T> relation) { PersistentHashMap otherMap = relation.map; PersistentHashSet otherDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(otherMap)); PersistentHashMap resultMap = this.map; - for(Object obj : otherDomain) { + for (Object obj : otherDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); PersistentHashSet otherRangeSet = (PersistentHashSet) GET.invoke(otherMap, domainElement); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, UNION.invoke(thisRangeSet, otherRangeSet)); } - return new BRelation<S,T>(resultMap); + return new BRelation<S, T>(resultMap); } @SuppressWarnings("unchecked") @@ -191,7 +173,7 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { int size = 0; PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); - for(Object obj : thisDomain) { + for (Object obj : thisDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); size += thisRangeSet.size(); @@ -200,57 +182,56 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } public BInteger card() { - return new BInteger(this.size()); + return BInteger.of(this.size()); } public BInteger _size() { - return new BInteger(this.size()); + return BInteger.of(this.size()); } - public BBoolean equal(BRelation<S,T> o) { - return new BBoolean(equals(o)); + public BBoolean equal(BRelation<S, T> o) { + return BBoolean.of(equals(o)); } - public BBoolean unequal(BRelation<S,T> o) { - return new BBoolean(!equals(o)); + public BBoolean unequal(BRelation<S, T> o) { + return BBoolean.of(!equals(o)); } - public BBoolean elementOf(BTuple<S,T> object) { + public BBoolean elementOf(BTuple<S, T> object) { S prj1 = object.projection1(); T prj2 = object.projection2(); PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); - if(!domain.contains(prj1)) { - return new BBoolean(false); + if (!domain.contains(prj1)) { + return BBoolean.FALSE; } PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, prj1); - return new BBoolean(range.contains(prj2)); + return BBoolean.of(range.contains(prj2)); } - public BBoolean notElementOf(BTuple<S,T> object) { + public BBoolean notElementOf(BTuple<S, T> object) { S prj1 = object.projection1(); T prj2 = object.projection2(); PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); - if(!domain.contains(prj1)) { - return new BBoolean(true); + if (!domain.contains(prj1)) { + return BBoolean.TRUE; } PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, prj1); - return new BBoolean(!range.contains(prj2)); + return BBoolean.of(!range.contains(prj2)); } - @SuppressWarnings("unchecked") public BSet<T> relationImage(BSet<S> domain) { PersistentHashSet resultSet = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke())); - for(S domainElement: domain) { + for (S domainElement : domain) { PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); - if(thisRangeSet == null) { + if (thisRangeSet == null) { continue; } resultSet = (PersistentHashSet) UNION.invoke(resultSet, thisRangeSet); @@ -258,45 +239,43 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { return new BSet<T>(resultSet); } - @SuppressWarnings("unchecked") public T functionCall(S arg) { PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, arg); - if(range == null) { + if (range == null) { throw new RuntimeException("Argument is not in the domain of this relation"); } - for(Object element : range) { + for (Object element : range) { return (T) element; } throw new RuntimeException("Argument is not in the domain of this relation"); } @SuppressWarnings("unchecked") - public BSet<BRelation<S,T>> pow() { + public BSet<BRelation<S, T>> pow() { PersistentHashMap thisMap = this.map; PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(thisMap)); - - BSet<BRelation<S,T>> result = new BSet<BRelation<S,T>>(); - BRelation<S,T> start = new BRelation<>(); - Queue<BRelation<S,T>> queue = new LinkedList<>(); + BSet<BRelation<S, T>> result = new BSet<>(); + BRelation<S, T> start = new BRelation<>(); + Queue<BRelation<S, T>> queue = new LinkedList<>(); queue.add(start); - result = result.union(new BSet<BRelation<S,T>>(start)); - while(!queue.isEmpty()) { - BRelation<S,T> currentSet = queue.remove(); + result = result.union(new BSet<>(start)); + while (!queue.isEmpty()) { + BRelation<S, T> currentSet = queue.remove(); - for(Object e1 : thisDomain) { + for (Object e1 : thisDomain) { S domainElement = (S) e1; PersistentHashSet range = (PersistentHashSet) GET.invoke(thisMap, domainElement); - if(range == null) { + if (range == null) { break; } - for(Object e2 : range) { + for (Object e2 : range) { T rangeElement = (T) e2; - BRelation<S,T> nextRelation = currentSet.union(BRelation.fromSet(new BSet(new BTuple<S,T>(domainElement, rangeElement)))); + BRelation<S, T> nextRelation = currentSet.union(BRelation.fromSet(new BSet<>(new BTuple<>(domainElement, rangeElement)))); int previousSize = result.size(); - result = result.union(new BSet<BRelation<S,T>>(nextRelation)); - if(previousSize < result.size()) { + result = result.union(new BSet<>(nextRelation)); + if (previousSize < result.size()) { queue.add(nextRelation); } } @@ -305,74 +284,71 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { return result; } - @SuppressWarnings("unchecked") - public BSet<BRelation<S,T>> pow1() { - return this.pow().difference(new BSet<BRelation<S,T>>(new BRelation<S,T>())); + public BSet<BRelation<S, T>> pow1() { + return this.pow().difference(new BSet<BRelation<S, T>>(new BRelation<S, T>())); } - public BSet<BRelation<S,T>> fin() { + public BSet<BRelation<S, T>> fin() { return this.pow(); } - public BSet<BRelation<S,T>> fin1() { + public BSet<BRelation<S, T>> fin1() { return this.pow1(); } @SuppressWarnings("unchecked") public BSet<S> domain() { - PersistentHashMap thisMap = this.map; PersistentHashSet set = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); PersistentHashSet resultSet = set; - for(Object obj : set) { + for (Object obj : set) { S domainElement = (S) obj; - PersistentHashSet range = (PersistentHashSet) GET.invoke(thisMap, domainElement); - if(range == null || range.size() == 0) { + PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, domainElement); + if (range == null || range.isEmpty()) { resultSet = (PersistentHashSet) DIFFERENCE.invoke(resultSet, SET.invoke(SEQ.invoke(LIST.invoke(domainElement)))); } } return new BSet<S>(resultSet); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "rawtypes", "unchecked" }) public BRelation domainForRelations() { BRelation result = new BRelation(); - for(S elem : this.domain()) { + for (S elem : this.domain()) { result = result.union(new BRelation((BTuple) elem)); } return result; } - @SuppressWarnings("unchecked") public BSet<T> range() { PersistentHashSet set = (PersistentHashSet) REDUCE.invoke(UNION, SET.invoke(SEQ.invoke(LIST.invoke())), VALS.invoke(this.map)); return new BSet<T>(set); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "rawtypes", "unchecked" }) public BRelation rangeForRelations() { BRelation result = new BRelation(); - for(T elem : this.range()) { + for (T elem : this.range()) { result = result.union(new BRelation((BTuple) elem)); } return result; } @SuppressWarnings("unchecked") - public BRelation<T,S> inverse() { + public BRelation<T, S> inverse() { PersistentHashMap thisMap = this.map; PersistentHashSet keys = (PersistentHashSet) SET.invoke(KEYS.invoke(thisMap)); PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : keys) { + for (Object e1 : keys) { S domainElement = (S) e1; PersistentHashSet range = (PersistentHashSet) GET.invoke(thisMap, domainElement); - if(range == null) { + if (range == null) { break; } - for(Object e2 : range) { + for (Object e2 : range) { T rangeElement = (T) e2; PersistentHashSet currentRange = (PersistentHashSet) GET.invoke(resultMap, rangeElement); - if(currentRange == null) { + if (currentRange == null) { currentRange = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke())); } currentRange = (PersistentHashSet) UNION.invoke(currentRange, SET.invoke(SEQ.invoke(LIST.invoke(domainElement)))); @@ -382,40 +358,38 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { return new BRelation<T, S>(resultMap); } - @SuppressWarnings("unchecked") - public BRelation<S,T> domainRestriction(BSet<S> arg) { + public BRelation<S, T> domainRestriction(BSet<S> arg) { PersistentHashSet set = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); PersistentHashSet otherSet = arg.getSet(); PersistentHashSet resultSet = (PersistentHashSet) DIFFERENCE.invoke(set, otherSet); PersistentHashMap resultMap = this.map; - for(Object obj : resultSet) { + for (Object obj : resultSet) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, obj); } - return new BRelation<S,T>(resultMap); + return new BRelation<S, T>(resultMap); } - @SuppressWarnings("unchecked") - public BRelation<S,T> domainSubstraction(BSet<S> arg) { + public BRelation<S, T> domainSubstraction(BSet<S> arg) { PersistentHashSet set = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); PersistentHashSet otherSet = arg.getSet(); PersistentHashMap resultMap = this.map; - for(Object obj : otherSet) { + for (Object obj : otherSet) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, obj); } - return new BRelation<S,T>(resultMap); + return new BRelation<S, T>(resultMap); } @SuppressWarnings("unchecked") - public BRelation<S,T> rangeRestriction(BSet<T> arg) { + public BRelation<S, T> rangeRestriction(BSet<T> arg) { PersistentHashSet otherSet = (PersistentHashSet) arg.getSet(); PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); PersistentHashMap resultMap = this.map; - for(Object obj : thisDomain) { + for (Object obj : thisDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); PersistentHashSet newRangeSet = (PersistentHashSet) INTERSECTION.invoke(thisRangeSet, otherSet); - if(newRangeSet.isEmpty()) { + if (newRangeSet.isEmpty()) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, domainElement); } else { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, newRangeSet); @@ -425,16 +399,16 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public BRelation<S,T> rangeSubstraction(BSet<T> arg) { + public BRelation<S, T> rangeSubstraction(BSet<T> arg) { PersistentHashSet otherSet = (PersistentHashSet) arg.getSet(); PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); PersistentHashMap resultMap = this.map; - for(Object obj : thisDomain) { + for (Object obj : thisDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); PersistentHashSet newRangeSet = (PersistentHashSet) DIFFERENCE.invoke(thisRangeSet, otherSet); - if(newRangeSet.isEmpty()) { + if (newRangeSet.isEmpty()) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, domainElement); } else { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, newRangeSet); @@ -444,46 +418,45 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public BBoolean subset(BRelation<S,T> arg) { + public BBoolean subset(BRelation<S, T> arg) { PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); - for(Object obj : thisDomain) { + for (Object obj : thisDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); PersistentHashSet otherRangeSet = (PersistentHashSet) GET.invoke(arg.map, domainElement); - if(thisRangeSet != null) { - if(otherRangeSet == null) { - return new BBoolean(false); + if (thisRangeSet != null) { + if (otherRangeSet == null) { + return BBoolean.FALSE; } - if(!thisRangeSet.isEmpty() && !otherRangeSet.containsAll(thisRangeSet)) { - return new BBoolean(false); + if (!thisRangeSet.isEmpty() && !otherRangeSet.containsAll(thisRangeSet)) { + return BBoolean.FALSE; } } } - return new BBoolean(true); + return BBoolean.TRUE; } - @SuppressWarnings("unchecked") - public BBoolean notSubset(BRelation<S,T> arg) { + public BBoolean notSubset(BRelation<S, T> arg) { return subset(arg).not(); } - public BBoolean strictSubset(BRelation<S,T> set) { - return new BBoolean(set.size() != this.size() && this.subset(set).booleanValue()); + public BBoolean strictSubset(BRelation<S, T> set) { + return BBoolean.of(set.size() != this.size() && this.subset(set).booleanValue()); } public BBoolean strictNotSubset(BRelation<S, T> set) { - return new BBoolean(set.size() == this.size() || !this.subset(set).booleanValue()); + return BBoolean.of(set.size() == this.size() || !this.subset(set).booleanValue()); } @SuppressWarnings("unchecked") - public BRelation<S,T> override(BRelation<S,T> arg) { + public BRelation<S, T> override(BRelation<S, T> arg) { PersistentHashMap otherMap = arg.map; PersistentHashSet otherDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(otherMap)); PersistentHashMap resultMap = this.map; - for(Object obj : otherDomain) { + for (Object obj : otherDomain) { S domainElement = (S) obj; PersistentHashSet range = (PersistentHashSet) GET.invoke(otherMap, domainElement); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, range); @@ -503,127 +476,118 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public BRelation<S,T> reverse() { + public BRelation<S, T> reverse() { BInteger size = this.card(); PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BInteger i = BInteger.ONE; i.lessEqual(size).booleanValue(); i = i.succ()) { - T rangeElement = (T) this.functionCall((S) size.minus(i).succ()); + for (BInteger i = BInteger.ONE; i.lessEqual(size).booleanValue(); i = i.succ()) { + T rangeElement = this.functionCall((S) size.minus(i).succ()); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, i, SET.invoke(SEQ.invoke(LIST.invoke(rangeElement)))); } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public BRelation<S,T> front() { + public BRelation<S, T> front() { return this.domainSubstraction(new BSet<>((S) this.card())); } @SuppressWarnings("unchecked") - public BRelation<S,T> tail() { + public BRelation<S, T> tail() { BInteger size = this._size(); PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BInteger i = BInteger.TWO; i.lessEqual(size).booleanValue(); i = i.succ()) { - T rangeElement = (T) this.functionCall((S) i); + for (BInteger i = BInteger.TWO; i.lessEqual(size).booleanValue(); i = i.succ()) { + T rangeElement = this.functionCall((S) i); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, i.pred(), SET.invoke(SEQ.invoke(LIST.invoke(rangeElement)))); } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public BRelation<S,T> take(BInteger n) { + public BRelation<S, T> take(BInteger n) { BInteger size = this._size(); - if(n.greaterEqual(size).booleanValue()) { - return new BRelation<S, T>(this.map); + if (n.greaterEqual(size).booleanValue()) { + return new BRelation<>(this.map); } PersistentHashMap resultMap = this.map; //Remove sets with index greater than n - for(BInteger i = n.succ(); i.lessEqual(size).booleanValue(); i = i.succ()) { + for (BInteger i = n.succ(); i.lessEqual(size).booleanValue(); i = i.succ()) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, i); } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public BRelation<S,T> drop(BInteger n) { + public BRelation<S, T> drop(BInteger n) { BInteger size = this._size(); - PersistentHashMap thisMap = this.map; PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BInteger i = n.succ(); i.lessEqual(size).booleanValue(); i = i.succ()) { - PersistentHashSet currentSet = (PersistentHashSet) GET.invoke(thisMap, i); + for (BInteger i = n.succ(); i.lessEqual(size).booleanValue(); i = i.succ()) { + PersistentHashSet currentSet = (PersistentHashSet) GET.invoke(this.map, i); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, i.minus(n), currentSet); } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public BRelation<S,T> concat(BRelation<S,T> arg) { + public BRelation<S, T> concat(BRelation<S, T> arg) { PersistentHashMap resultMap = this.map; - PersistentHashMap otherMap = arg.map; BInteger size = this.card(); - for(BInteger i = BInteger.ONE; i.lessEqual(arg._size()).booleanValue(); i = i.succ()) { - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, size.plus(i), (PersistentHashSet) GET.invoke(otherMap, i)); + for (BInteger i = BInteger.ONE; i.lessEqual(arg._size()).booleanValue(); i = i.succ()) { + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, size.plus(i), (PersistentHashSet) GET.invoke(arg.map, i)); } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public <R,A> T conc() { - BRelation<R,A> result = new BRelation<R,A>(); + public <R, A> T conc() { + BRelation<R, A> result = new BRelation<R, A>(); BInteger size = this.card(); - for(BInteger i = BInteger.ONE; i.lessEqual(size).booleanValue(); i = i.succ()) { - result = result.concat((BRelation<R,A>) functionCall((S) i)); + for (BInteger i = BInteger.ONE; i.lessEqual(size).booleanValue(); i = i.succ()) { + result = result.concat((BRelation<R, A>) functionCall((S) i)); } return (T) result; } - @SuppressWarnings("unchecked") - public BRelation<S,T> append(T arg) { + public BRelation<S, T> append(T arg) { PersistentHashMap resultMap = this.map; resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, this.card().succ(), (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(arg)))); - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public BRelation<S,T> prepend(T arg) { + public BRelation<S, T> prepend(T arg) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - PersistentHashMap thisMap = this.map; BInteger size = this._size(); - for(BInteger i = BInteger.ONE; i.lessEqual(size).booleanValue(); i = i.succ()) { - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, i.succ(), (PersistentHashSet) GET.invoke(thisMap, i)); + for (BInteger i = BInteger.ONE; i.lessEqual(size).booleanValue(); i = i.succ()) { + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, i.succ(), (PersistentHashSet) GET.invoke(this.map, i)); } resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, BInteger.ONE, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(arg)))); - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public <R> BRelation<S,BTuple<T,R>> directProduct(BRelation<S,R> arg) { + public <R> BRelation<S, BTuple<T, R>> directProduct(BRelation<S, R> arg) { PersistentHashMap thisMap = (PersistentHashMap) this.map; PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(thisMap)); - PersistentHashMap otherMap = (PersistentHashMap) arg.map; PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object obj : thisDomain) { + for (Object obj : thisDomain) { S domainElement = (S) obj; PersistentHashSet thisRange = (PersistentHashSet) GET.invoke(thisMap, domainElement); - PersistentHashSet otherRange = (PersistentHashSet) GET.invoke(otherMap, domainElement); - if(otherRange == null) { + PersistentHashSet otherRange = (PersistentHashSet) GET.invoke((PersistentHashMap) arg.map, domainElement); + if (otherRange == null) { continue; } PersistentHashSet resultRange = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke())); - for(Object lhs : thisRange) { - for(Object rhs : otherRange) { + for (Object lhs : thisRange) { + for (Object rhs : otherRange) { T lhsElement = (T) lhs; R rhsElement = (R) rhs; - resultRange = (PersistentHashSet) UNION.invoke(resultRange, SET.invoke(SEQ.invoke(LIST.invoke(new BTuple<T,R>(lhsElement, rhsElement))))); + resultRange = (PersistentHashSet) UNION.invoke(resultRange, SET.invoke(SEQ.invoke(LIST.invoke(new BTuple<T, R>(lhsElement, rhsElement))))); } } resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, resultRange); } - return new BRelation<S, BTuple<T, R>>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public <R,A> BRelation<BTuple<S,R>,BTuple<T,A>> parallelProduct(BRelation<R,A> arg) { + public <R, A> BRelation<BTuple<S, R>, BTuple<T, A>> parallelProduct(BRelation<R, A> arg) { PersistentHashMap thisMap = (PersistentHashMap) this.map; PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(thisMap)); @@ -632,8 +596,8 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object domainElementThis : thisDomain) { - for(Object domaineElementOther : otherDomain) { + for (Object domainElementThis : thisDomain) { + for (Object domaineElementOther : otherDomain) { S domainElementThisElement = (S) domainElementThis; R domainElementOtherElement = (R) domaineElementOther; @@ -641,14 +605,14 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { PersistentHashSet otherRange = (PersistentHashSet) GET.invoke(otherMap, domainElementOtherElement); PersistentHashSet resultRange = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke())); - for(Object lhs : thisRange) { - for(Object rhs : otherRange) { + for (Object lhs : thisRange) { + for (Object rhs : otherRange) { T lhsElement = (T) lhs; A rhsElement = (A) rhs; - resultRange = (PersistentHashSet) UNION.invoke(resultRange, SET.invoke(SEQ.invoke(LIST.invoke(new BTuple<T,A>(lhsElement, rhsElement))))); + resultRange = (PersistentHashSet) UNION.invoke(resultRange, SET.invoke(SEQ.invoke(LIST.invoke(new BTuple<T, A>(lhsElement, rhsElement))))); } } - BTuple<S,R> tuple = new BTuple<S,R>(domainElementThisElement, domainElementOtherElement); + BTuple<S, R> tuple = new BTuple<S, R>(domainElementThisElement, domainElementOtherElement); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, resultRange); } } @@ -656,27 +620,24 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public <R> BRelation<S,R> composition(BRelation<T,R> arg) { + public <R> BRelation<S, R> composition(BRelation<T, R> arg) { PersistentHashMap thisMap = this.map; - PersistentHashMap otherMap = arg.map; - PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(thisMap)); - PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : thisDomain) { + for (Object e1 : thisDomain) { S domainElement = (S) e1; PersistentHashSet range = (PersistentHashSet) GET.invoke(thisMap, domainElement); PersistentHashSet set = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke())); - if(range == null) { + if (range == null) { break; } - for(Object e2: range) { + for (Object e2 : range) { T rangeElement = (T) e2; - set = (PersistentHashSet) UNION.invoke(set, (PersistentHashSet) GET.invoke(otherMap, rangeElement)); + set = (PersistentHashSet) UNION.invoke(set, (PersistentHashSet) GET.invoke(arg.map, rangeElement)); } - if(set.isEmpty()) { + if (set.isEmpty()) { continue; } resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, set); @@ -685,245 +646,212 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public BRelation<S,S> iterate(BInteger n) { - BRelation<S,S> thisRelation = (BRelation<S,S>) this; - BRelation<S,S> result = (BRelation<S,S>) this; - for(BInteger i = new BInteger(2); i.lessEqual(n).booleanValue(); i = i.succ()) { + public BRelation<S, S> iterate(BInteger n) { + BRelation<S, S> thisRelation = (BRelation<S, S>) this; + BRelation<S, S> result = (BRelation<S, S>) this; + for (BInteger i = BInteger.TWO; i.lessEqual(n).booleanValue(); i = i.succ()) { result = result.composition(thisRelation); } return result; } @SuppressWarnings("unchecked") - public BRelation<S,S> closure() { - BRelation<S,S> thisRelation = (BRelation<S,S>) this; - BRelation<S,S> result = identity(this.domain().union(thisRelation.range())); - BRelation<S,S> nextResult = result.composition(thisRelation); - BRelation<S,S> lastResult = null; + public BRelation<S, S> closure() { + BRelation<S, S> thisRelation = (BRelation<S, S>) this; + BRelation<S, S> result = iterate(BInteger.ZERO); + BRelation<S, S> nextResult = result.composition(thisRelation); + BRelation<S, S> lastResult = null; do { lastResult = result; result = result.union(nextResult); nextResult = result.composition(thisRelation); - } while(!result.equal(lastResult).booleanValue()); + } while (!result.equal(lastResult).booleanValue()); return result; } @SuppressWarnings("unchecked") - public BRelation<S,S> closure1() { - BRelation<S,S> thisRelation = (BRelation<S,S>) this; - BRelation<S,S> result = (BRelation<S,S>) this; - BRelation<S,S> nextResult = result.composition(thisRelation); - BRelation<S,S> lastResult = null; + public BRelation<S, S> closure1() { + BRelation<S, S> thisRelation = (BRelation<S, S>) this; + BRelation<S, S> result = (BRelation<S, S>) this; + BRelation<S, S> nextResult = result.composition(thisRelation); + BRelation<S, S> lastResult = null; do { lastResult = result; result = result.union(nextResult); nextResult = result.composition(thisRelation); - } while(!result.equal(lastResult).booleanValue()); + } while (!result.equal(lastResult).booleanValue()); return result; } - public BBoolean isInClosure(BTuple<S,S> tuple) { + public BBoolean isInClosure(BTuple<S, S> tuple) { S projection1 = tuple.projection1(); S projection2 = tuple.projection2(); - if(projection1.equals(projection2)) { + if (projection1.equals(projection2)) { PersistentHashSet imageOfProjection1 = (PersistentHashSet) GET.invoke(this.map, projection1); - if(imageOfProjection1 != null && !imageOfProjection1.isEmpty()) { - return new BBoolean(true); + if (imageOfProjection1 != null && !imageOfProjection1.isEmpty()) { + return BBoolean.TRUE; } PersistentHashSet keys = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); for (Object key : keys) { PersistentHashSet image = (PersistentHashSet) GET.invoke(this.map, key); - if(image != null && image.contains(projection2)) { - return new BBoolean(true); + if (image != null && image.contains(projection2)) { + return BBoolean.TRUE; } } } return isInClosure1(tuple); } - public BBoolean isNotInClosure(BTuple<S,S> tuple) { + public BBoolean isNotInClosure(BTuple<S, S> tuple) { return isInClosure(tuple).not(); } @SuppressWarnings("unchecked") - public BBoolean isInClosure1(BTuple<S,S> tuple) { + public BBoolean isInClosure1(BTuple<S, S> tuple) { BBoolean inThisRelation = this.elementOf((BTuple<S, T>) tuple); - if(inThisRelation.booleanValue()) { + if (inThisRelation.booleanValue()) { return inThisRelation; } - BRelation<S,S> thisRelation = (BRelation<S,S>) this; - BRelation<S,S> result = (BRelation<S,S>) this; - BRelation<S,S> nextResult = result.composition(thisRelation); - BRelation<S,S> lastResult = null; + BRelation<S, S> thisRelation = (BRelation<S, S>) this; + BRelation<S, S> result = (BRelation<S, S>) this; + BRelation<S, S> nextResult = result.composition(thisRelation); + BRelation<S, S> lastResult = null; do { inThisRelation = nextResult.elementOf(tuple); - if(inThisRelation.booleanValue()) { + if (inThisRelation.booleanValue()) { return inThisRelation; } lastResult = result; result = result.union(nextResult); nextResult = result.composition(thisRelation); - } while(!result.equal(lastResult).booleanValue()); - return new BBoolean(false); + } while (!result.equal(lastResult).booleanValue()); + return BBoolean.FALSE; } - public BBoolean isNotInClosure1(BTuple<S,S> tuple) { + public BBoolean isNotInClosure1(BTuple<S, S> tuple) { return isInClosure1(tuple).not(); } @SuppressWarnings("unchecked") - public static <S,T> BRelation<BTuple<S,T>, S> projection1(BSet<S> arg1, BSet<T> arg2) { + public static <S, T> BRelation<BTuple<S, T>, S> projection1(BSet<S> arg1, BSet<T> arg2) { PersistentHashSet argSet1 = (PersistentHashSet) arg1.getSet(); PersistentHashSet argSet2 = (PersistentHashSet) arg2.getSet(); PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : argSet1) { - for(Object e2 : argSet2) { + for (Object e1 : argSet1) { + for (Object e2 : argSet2) { S element1 = (S) e1; T element2 = (T) e2; - BTuple<S,T> tuple = new BTuple<S,T>(element1, element2); + BTuple<S, T> tuple = new BTuple<S, T>(element1, element2); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element1)))); } } return new BRelation<BTuple<S, T>, S>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R> BRelation<BTuple<S,BTuple<T,R>>, S> projection1(BSet<S> arg1, BRelation<T,R> arg2) { - + public static <S, T, R> BRelation<BTuple<S, BTuple<T, R>>, S> projection1(BSet<S> arg1, BRelation<T, R> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : arg1) { - for(Object e2 : arg2) { - S element1 = (S) e1; - BTuple<T,R> element2 = (BTuple<T,R>) e2; - - BTuple<S,BTuple<T,R>> tuple = new BTuple<S,BTuple<T,R>>(element1, element2); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element1)))); + for (S e1 : arg1) { + for (BTuple<T, R> e2 : arg2) { + BTuple<S, BTuple<T, R>> tuple = new BTuple<>(e1, e2); + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(e1)))); } } - return new BRelation<BTuple<S,BTuple<T,R>>, S>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R> BRelation<BTuple<BTuple<S,T>,R>, BTuple<S,T>> projection1(BRelation<S,T> arg1, BSet<R> arg2) { - + public static <S, T, R> BRelation<BTuple<BTuple<S, T>, R>, BTuple<S, T>> projection1(BRelation<S, T> arg1, BSet<R> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : arg1) { - for(Object e2 : arg2) { - BTuple<S,T> element1 = (BTuple<S,T>) e1; - R element2 = (R) e2; - - BTuple<BTuple<S,T>,R> tuple = new BTuple<BTuple<S,T>,R>(element1, element2); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element1)))); + for (BTuple<S, T> e1 : arg1) { + for (R e2 : arg2) { + BTuple<BTuple<S, T>, R> tuple = new BTuple<>(e1, e2); + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(e1)))); } } - return new BRelation<BTuple<BTuple<S,T>,R>, BTuple<S,T>>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R,A> BRelation<BTuple<BTuple<S,T>,BTuple<R,A>>, BTuple<S,T>> projection1(BRelation<S,T> arg1, BRelation<R,A> arg2) { - + public static <S, T, R, A> BRelation<BTuple<BTuple<S, T>, BTuple<R, A>>, BTuple<S, T>> projection1(BRelation<S, T> arg1, BRelation<R, A> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : arg1) { - for(Object e2 : arg2) { - BTuple<S,T> element1 = (BTuple<S,T>) e1; - BTuple<R,A> element2 = (BTuple<R,A>) e2; - - BTuple<BTuple<S,T>,BTuple<R,A>> tuple = new BTuple<BTuple<S,T>,BTuple<R,A>>(element1, element2); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element1)))); + for (BTuple<S, T> e1 : arg1) { + for (BTuple<R, A> e2 : arg2) { + BTuple<BTuple<S, T>, BTuple<R, A>> tuple = new BTuple<>(e1, e2); + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(e1)))); } } - return new BRelation<BTuple<BTuple<S,T>,BTuple<R,A>>, BTuple<S,T>>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public static <S,T> BRelation<BTuple<S,T>, T> projection2(BSet<S> arg1, BSet<T> arg2) { + public static <S, T> BRelation<BTuple<S, T>, T> projection2(BSet<S> arg1, BSet<T> arg2) { PersistentHashSet argSet1 = (PersistentHashSet) arg1.getSet(); PersistentHashSet argSet2 = (PersistentHashSet) arg2.getSet(); PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : argSet1) { - for(Object e2 : argSet2) { + for (Object e1 : argSet1) { + for (Object e2 : argSet2) { S element1 = (S) e1; T element2 = (T) e2; - BTuple<S,T> tuple = new BTuple<S,T>(element1, element2); + BTuple<S, T> tuple = new BTuple<>(element1, element2); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element2)))); } } - return new BRelation<BTuple<S, T>, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R> BRelation<BTuple<S,BTuple<T,R>>, BTuple<T,R>> projection2(BSet<S> arg1, BRelation<T,R> arg2) { - + public static <S, T, R> BRelation<BTuple<S, BTuple<T, R>>, BTuple<T, R>> projection2(BSet<S> arg1, BRelation<T, R> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : arg1) { - for(Object e2 : arg2) { - S element1 = (S) e1; - BTuple<T,R> element2 = (BTuple<T,R>) e2; - - BTuple<S,BTuple<T,R>> tuple = new BTuple<S,BTuple<T,R>>(element1, element2); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element2)))); + for (S e1 : arg1) { + for (BTuple<T, R> e2 : arg2) { + BTuple<S, BTuple<T, R>> tuple = new BTuple<>(e1, e2); + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(e2)))); } } - return new BRelation<BTuple<S,BTuple<T,R>>, BTuple<T,R>>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R> BRelation<BTuple<BTuple<S,T>,R>, R> projection2(BRelation<S,T> arg1, BSet<R> arg2) { - + public static <S, T, R> BRelation<BTuple<BTuple<S, T>, R>, R> projection2(BRelation<S, T> arg1, BSet<R> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : arg1) { - for(Object e2 : arg2) { - BTuple<S,T> element1 = (BTuple<S,T>) e1; - R element2 = (R) e2; - - BTuple<BTuple<S,T>,R> tuple = new BTuple<BTuple<S,T>,R>(element1, element2); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element2)))); + for (BTuple<S, T> e1 : arg1) { + for (R e2 : arg2) { + BTuple<BTuple<S, T>, R> tuple = new BTuple<>(e1, e2); + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(e2)))); } } - return new BRelation<BTuple<BTuple<S,T>,R>, R>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R,A> BRelation<BTuple<BTuple<S,T>,BTuple<R,A>>, BTuple<R,A>> projection2(BRelation<S,T> arg1, BRelation<R,A> arg2) { - + public static <S, T, R, A> BRelation<BTuple<BTuple<S, T>, BTuple<R, A>>, BTuple<R, A>> projection2(BRelation<S, T> arg1, BRelation<R, A> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : arg1) { - for(Object e2 : arg2) { - BTuple<S,T> element1 = (BTuple<S,T>) e1; - BTuple<R,A> element2 = (BTuple<R,A>) e2; - - BTuple<BTuple<S,T>,BTuple<R,A>> tuple = new BTuple<BTuple<S,T>,BTuple<R,A>>(element1, element2); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element2)))); + for (BTuple<S, T> e1 : arg1) { + for (BTuple<R, A> e2 : arg2) { + BTuple<BTuple<S, T>, BTuple<R, A>> tuple = new BTuple<>(e1, e2); + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(e2)))); } } - return new BRelation<BTuple<BTuple<S,T>,BTuple<R,A>>, BTuple<R,A>>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public BRelation<S,BSet<T>> fnc() { - PersistentHashMap thisMap = this.map; + public BRelation<S, BSet<T>> fnc() { PersistentHashSet domain = this.domain().getSet(); - PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e : domain) { + for (Object e : domain) { S domainElement = (S) e; - PersistentHashSet range = (PersistentHashSet) GET.invoke(thisMap, e); + PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, e); BSet<T> rangeSet = new BSet<T>(range); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(rangeSet)))); } - return new BRelation<S, BSet<T>>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public BRelation rel() { BSet<S> domain = this.domain(); - PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(S domainElement : domain) { + for (S domainElement : domain) { BSet range = (BSet) this.functionCall(domainElement); PersistentHashSet rangeSet = range.getSet(); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, rangeSet); @@ -931,91 +859,83 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { return new BRelation(resultMap); } - @SuppressWarnings("unchecked") - public static <T> BRelation<T,T> identity(BSet<T> arg) { + public static <T> BRelation<T, T> identity(BSet<T> arg) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(T e : arg) { + for (T e : arg) { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e, SET.invoke(SEQ.invoke(LIST.invoke(e)))); } - return new BRelation<T, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T> BRelation<BTuple<S,T>,BTuple<S,T>> identity(BRelation<S,T> arg) { + public static <S, T> BRelation<BTuple<S, T>, BTuple<S, T>> identity(BRelation<S, T> arg) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BTuple<S,T> e : arg) { + for (BTuple<S, T> e : arg) { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e, SET.invoke(SEQ.invoke(LIST.invoke(e)))); } - return new BRelation<BTuple<S,T>,BTuple<S,T>>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T> BRelation<S,T> cartesianProduct(BSet<S> arg1, BSet<T> arg2) { + public static <S, T> BRelation<S, T> cartesianProduct(BSet<S> arg1, BSet<T> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(S e1 : arg1) { - if(!arg2.getSet().isEmpty()) { + for (S e1 : arg1) { + if (!arg2.getSet().isEmpty()) { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e1, arg2.getSet()); } } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R> BRelation<S,BTuple<T,R>> cartesianProduct(BSet<S> arg1, BRelation<T,R> arg2) { + public static <S, T, R> BRelation<BTuple<S, T>, R> cartesianProduct(BRelation<S, T> arg1, BSet<R> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(S e1 : arg1) { - PersistentHashSet rangeSet = PersistentHashSet.EMPTY; - for(BTuple<T,R> e2 : arg2) { - rangeSet = (PersistentHashSet) UNION.invoke(rangeSet, SET.invoke(SEQ.invoke(LIST.invoke(e2)))); - } - if(!rangeSet.isEmpty()) { - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e1, rangeSet); + for (BTuple<S, T> e1 : arg1) { + if (!arg2.getSet().isEmpty()) { + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e1, arg2.getSet()); } } - return new BRelation<S,BTuple<T,R>>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R> BRelation<BTuple<S,T>, R> cartesianProduct(BRelation<S,T> arg1, BSet<R> arg2) { + public static <S, T, R> BRelation<S, BTuple<T, R>> cartesianProduct(BSet<S> arg1, BRelation<T, R> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BTuple<S,T> e1 : arg1) { - if(!arg2.getSet().isEmpty()) { - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e1, arg2.getSet()); + for (S e1 : arg1) { + PersistentHashSet rangeSet = PersistentHashSet.EMPTY; + for (BTuple<T, R> e2 : arg2) { + rangeSet = (PersistentHashSet) UNION.invoke(rangeSet, SET.invoke(SEQ.invoke(LIST.invoke(e2)))); + } + if (!rangeSet.isEmpty()) { + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e1, rangeSet); } } return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R,A> BRelation<BTuple<S,T>,BTuple<R,A>> cartesianProduct(BRelation<S,T> arg1, BRelation<R,A> arg2) { + public static <S, T, R, A> BRelation<BTuple<S, T>, BTuple<R, A>> cartesianProduct(BRelation<S, T> arg1, BRelation<R, A> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BTuple<S,T> e1 : arg1) { + for (BTuple<S, T> e1 : arg1) { PersistentHashSet rangeSet = PersistentHashSet.EMPTY; - for(BTuple<R,A> e2 : arg2) { + for (BTuple<R, A> e2 : arg2) { rangeSet = (PersistentHashSet) UNION.invoke(rangeSet, SET.invoke(SEQ.invoke(LIST.invoke(e2)))); } - if(!rangeSet.isEmpty()) { + if (!rangeSet.isEmpty()) { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e1, rangeSet); } } - return new BRelation<BTuple<S,T>,BTuple<R,A>>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public BTuple<S,T> nondeterminism(int index) { + public BTuple<S, T> nondeterminism(int index) { int size = this.size(); - if(index >= size) { + if (index >= size) { return null; } - PersistentHashMap thisMap = this.map; PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); - int i = 0; - for(Object domObj : domain) { + for (Object domObj : domain) { PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, (S) domObj); - for(Object rangeObj : range) { - if(i == index) { - return new BTuple<S,T>((S) domObj, (T) rangeObj); + for (Object rangeObj : range) { + if (i == index) { + return new BTuple<S, T>((S) domObj, (T) rangeObj); } i++; } @@ -1024,15 +944,13 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public BTuple<S,T> nondeterminism() { - PersistentHashMap thisMap = this.map; + public BTuple<S, T> nondeterminism() { PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); - int index = (int) Math.floor(Math.random() * domain.size()); int i = 0; S domainElement = null; - for(Object obj : domain) { - if(i == index) { + for (Object obj : domain) { + if (i == index) { domainElement = (S) obj; break; } @@ -1040,14 +958,14 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, domainElement); - index = (int) Math.floor(Math.random() * range.size()); - i = 0; - if(range == null) { + if (range == null) { return null; } - for(Object obj : range) { - if(i == index) { - return new BTuple<S,T>(domainElement, (T) obj); + index = (int) Math.floor(Math.random() * range.size()); + i = 0; + for (Object obj : range) { + if (i == index) { + return new BTuple<>(domainElement, (T) obj); } i++; } @@ -1061,7 +979,7 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { @SuppressWarnings("unchecked") public <R1, R2> BBoolean isTotal(BRelation<R1, R2> domain) { BSet<BTuple<R1, R2>> domainAsSet = new BSet<BTuple<R1, R2>>(); - for(BTuple<R1, R2> tuple: domain) { + for (BTuple<R1, R2> tuple : domain) { domainAsSet = domainAsSet.union(new BSet<>(tuple)); } return this.domain().equal((BSet<S>) domainAsSet); @@ -1073,23 +991,23 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } public BBoolean isTotalInteger() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isTotalNatural() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isTotalNatural1() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isTotalString() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isTotalStruct() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isPartial(BSet<S> domain) { @@ -1097,76 +1015,76 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public <A1,A2> BBoolean isPartial(BRelation<A1, A2> domain) { - for(S element : this.domain()) { + public <A1, A2> BBoolean isPartial(BRelation<A1, A2> domain) { + for (S element : this.domain()) { BTuple<A1, A2> elementAsTuple = (BTuple<A1, A2>) element; PersistentHashSet range = (PersistentHashSet) GET.invoke(domain.map, elementAsTuple.projection1()); - if(range == null) { - return new BBoolean(false); + if (range == null) { + return BBoolean.FALSE; } - if(!range.contains(elementAsTuple.projection2())) { - return new BBoolean(false); + if (!range.contains(elementAsTuple.projection2())) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isPartialBoolean() { - for(S e : this.domain()) { - if(e instanceof BBoolean) { - return new BBoolean(true); + for (S e : this.domain()) { + if (e instanceof BBoolean) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isPartialInteger() { - for(S e : this.domain()) { - if(e instanceof BInteger) { - return new BBoolean(true); + for (S e : this.domain()) { + if (e instanceof BInteger) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isPartialNatural() { - for(S e : this.domain()) { - if(e instanceof BInteger && !((BInteger)e).isNatural().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BInteger && !((BInteger) e).isNatural().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isPartialNatural1() { - for(S e : this.domain()) { - if(e instanceof BInteger && !((BInteger)e).isNatural1().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BInteger && !((BInteger) e).isNatural1().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isPartialString() { - for(S e : this.domain()) { - if(e instanceof BString && !((BString) e).isString().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BString && !((BString) e).isString().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isPartialStruct() { - for(S e : this.domain()) { - if(e instanceof BStruct && !((BStruct) e).isRecord().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BStruct && !((BStruct) e).isRecord().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomain(BSet<S> domain) { @@ -1174,76 +1092,76 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public <A1,A2> BBoolean checkDomain(BRelation<A1, A2> domain) { - for(S element : this.domain()) { + public <A1, A2> BBoolean checkDomain(BRelation<A1, A2> domain) { + for (S element : this.domain()) { BTuple<A1, A2> elementAsTuple = (BTuple<A1, A2>) element; PersistentHashSet range = (PersistentHashSet) GET.invoke(domain.map, elementAsTuple.projection1()); - if(range == null) { - return new BBoolean(false); + if (range == null) { + return BBoolean.FALSE; } - if(!range.contains(elementAsTuple.projection2())) { - return new BBoolean(false); + if (!range.contains(elementAsTuple.projection2())) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomainBoolean() { - for(S e : this.domain()) { - if(e instanceof BBoolean) { - return new BBoolean(true); + for (S e : this.domain()) { + if (e instanceof BBoolean) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomainInteger() { - for(S e : this.domain()) { - if(e instanceof BInteger) { - return new BBoolean(true); + for (S e : this.domain()) { + if (e instanceof BInteger) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomainNatural() { - for(S e : this.domain()) { - if(e instanceof BInteger && !((BInteger) e).isNatural().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BInteger && !((BInteger) e).isNatural().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomainNatural1() { - for(S e : this.domain()) { - if(e instanceof BInteger && !((BInteger) e).isNatural1().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BInteger && !((BInteger) e).isNatural1().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomainString() { - for(S e : this.domain()) { - if(e instanceof BString && !((BString) e).isString().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BString && !((BString) e).isString().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomainStruct() { - for(S e : this.domain()) { - if(e instanceof BStruct && !((BStruct) e).isRecord().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BStruct && !((BStruct) e).isRecord().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRange(BSet<T> range) { @@ -1251,90 +1169,90 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public <A1,A2> BBoolean checkRange(BRelation<A1, A2> range) { - for(T element : this.range()) { + public <A1, A2> BBoolean checkRange(BRelation<A1, A2> range) { + for (T element : this.range()) { BTuple<A1, A2> elementAsTuple = (BTuple<A1, A2>) element; PersistentHashSet rangeRange = (PersistentHashSet) GET.invoke(range.map, elementAsTuple.projection1()); - if(rangeRange == null) { - return new BBoolean(false); + if (rangeRange == null) { + return BBoolean.FALSE; } - if(!rangeRange.contains(elementAsTuple.projection2())) { - return new BBoolean(false); + if (!rangeRange.contains(elementAsTuple.projection2())) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRangeInteger() { - for(T e : this.range()) { - if(e instanceof BInteger) { - return new BBoolean(true); + for (T e : this.range()) { + if (e instanceof BInteger) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRangeBoolean() { - for(T e : this.range()) { - if(e instanceof BBoolean) { - return new BBoolean(true); + for (T e : this.range()) { + if (e instanceof BBoolean) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRangeNatural() { - for(T e : this.range()) { - if(e instanceof BInteger && !((BInteger) e).isNatural().booleanValue()) { - return new BBoolean(false); + for (T e : this.range()) { + if (e instanceof BInteger && !((BInteger) e).isNatural().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRangeNatural1() { - for(T e : this.range()) { - if(e instanceof BInteger && !((BInteger) e).isNatural1().booleanValue()) { - return new BBoolean(false); + for (T e : this.range()) { + if (e instanceof BInteger && !((BInteger) e).isNatural1().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRangeString() { - for(T e : this.range()) { - if(e instanceof BString && !((BString) e).isString().booleanValue()) { - return new BBoolean(false); + for (T e : this.range()) { + if (e instanceof BString && !((BString) e).isString().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRangeStruct() { - for(T e : this.range()) { - if(e instanceof BStruct && !((BStruct) e).isRecord().booleanValue()) { - return new BBoolean(false); + for (T e : this.range()) { + if (e instanceof BStruct && !((BStruct) e).isRecord().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isRelation() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isFunction() { - for(S element : this.domain()) { + for (S element : this.domain()) { PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, element); - if(range.size() > 1) { - return new BBoolean(false); + if (range.size() > 1) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isSurjection(BSet<T> range) { @@ -1342,42 +1260,42 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } public BBoolean isSurjectionInteger() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isSurjectionNatural() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isSurjectionNatural1() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isSurjectionString() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isSurjectionStruct() { - return new BBoolean(false); + return BBoolean.FALSE; } @SuppressWarnings("unchecked") public BBoolean isInjection() { PersistentHashSet visited = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke())); - for(S element : this.domain()) { + for (S element : this.domain()) { PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, element); - if(range == null) { + if (range == null) { break; } - for(Object e : range) { + for (Object e : range) { T rangeElement = (T) e; - if(visited.contains(rangeElement)) { - return new BBoolean(false); + if (visited.contains(rangeElement)) { + return BBoolean.FALSE; } visited = (PersistentHashSet) UNION.invoke(visited, SET.invoke(SEQ.invoke(LIST.invoke(rangeElement)))); } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isBijection(BSet<T> range) { @@ -1385,27 +1303,27 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } public BBoolean isBijectionInteger() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isBijectionNatural() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isBijectionNatural1() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isBijectionString() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isBijectionStruct() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isInDomain(S element) { - return new BBoolean(this.map.containsKey(element)); + return BBoolean.of(this.map.containsKey(element)); } public BBoolean isNotInDomain(S element) { @@ -1416,11 +1334,11 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { PersistentHashSet keys = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); for (Object key : keys) { PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, key); - if(range != null && range.contains(element)) { - return new BBoolean(true); + if (range != null && range.contains(element)) { + return BBoolean.TRUE; } } - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isNotInRange(T element) { @@ -1430,41 +1348,41 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { public BBoolean isInRelationalImage(T element, BSet<S> set) { for (S key : set) { PersistentHashSet image = (PersistentHashSet) GET.invoke(this.map, key); - if(image != null && image.contains(element)) { - return new BBoolean(true); + if (image != null && image.contains(element)) { + return BBoolean.TRUE; } } - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isNotInRelationalImage(T element, BSet<S> set) { - return isNotInRelationalImage(element, set).not(); + return isInRelationalImage(element, set).not(); } - public <R> BBoolean isInComposition(BTuple<S,R> tuple, BRelation<T,R> arg) { + public <R> BBoolean isInComposition(BTuple<S, R> tuple, BRelation<T, R> arg) { S projection1 = tuple.projection1(); R projection2 = tuple.projection2(); PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, projection1); - if(range != null) { + if (range != null) { for (Object value : range) { PersistentHashSet range2 = (PersistentHashSet) GET.invoke(arg.map, value); if (range2 != null && range2.contains(projection2)) { - return new BBoolean(true); + return BBoolean.TRUE; } } } - return new BBoolean(false); + return BBoolean.FALSE; } - public <R> BBoolean isNotInComposition(BTuple<S,R> tuple, BRelation<T,R> arg) { + public <R> BBoolean isNotInComposition(BTuple<S, R> tuple, BRelation<T, R> arg) { return isInComposition(tuple, arg).not(); } @SuppressWarnings("unchecked") @Override - public Iterator<BTuple<S,T>> iterator() { + public Iterator<BTuple<S, T>> iterator() { PersistentHashMap thisMap = this.map; @@ -1476,13 +1394,13 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { @Override public boolean hasNext() { - if(keyIterator == null) { + if (keyIterator == null) { return false; } - if(keyIterator.hasNext()) { + if (keyIterator.hasNext()) { return true; } - if(valueIterator == null) { + if (valueIterator == null) { return false; } return valueIterator.hasNext(); @@ -1492,55 +1410,21 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { @Override public BTuple<S, T> next() { // If there is no next key, then we have already iterated through the relation - if(currentLhs == null) { + if (currentLhs == null) { return null; } - if(valueIterator == null || !valueIterator.hasNext()) { + if (valueIterator == null || !valueIterator.hasNext()) { currentLhs = keyIterator.next(); valueIterator = currentLhs == null ? null : ((PersistentHashSet) thisMap.get(currentLhs)).iterator(); } - if(currentLhs == null || !valueIterator.hasNext()) { + if (currentLhs == null || !valueIterator.hasNext()) { return null; } - return new BTuple<S,T>(currentLhs, valueIterator.next()); + return new BTuple<S, T>(currentLhs, valueIterator.next()); } }; } - - @SuppressWarnings("unchecked") - public java.lang.String toString() { - - PersistentHashMap thisMap = this.map; - PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(thisMap)); - - int size = this.size(); - int i = 0; - - StringBuffer sb = new StringBuffer(); - sb.append("{"); - for(Object e1 : domain) { - S domainElement = (S) e1; - PersistentHashSet range = (PersistentHashSet) GET.invoke(thisMap, domainElement); - if(range == null) { - break; - } - for(Object e2 : range) { - T rangeElement = (T) e2; - sb.append("("); - sb.append(domainElement.toString()); - sb.append(" |-> "); - sb.append(rangeElement.toString()); - sb.append(")"); - if (i+1 < size) { - sb.append(", "); - } - i++; - } - } - sb.append("}"); - return sb.toString(); - } } diff --git a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BSet.java b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BSet.java index b6df22b31..0bce32f1c 100755 --- a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BSet.java +++ b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BSet.java @@ -1,50 +1,28 @@ package de.hhu.stups.btypes; -import clojure.java.api.Clojure; -import clojure.lang.AFn; -import clojure.lang.IFn; -import clojure.lang.PersistentHashSet; -import clojure.lang.RT; -import clojure.lang.Var; - import java.util.Collection; +import java.util.Collections; import java.util.Iterator; -import java.util.Set; import java.util.LinkedList; -import java.util.Queue; -import java.util.Optional; - import java.util.Objects; +import java.util.Optional; +import java.util.Queue; +import java.util.Set; -public class BSet<T> implements BObject, Set<T> { - - private static final class createBInteger extends AFn { - @Override - public Object invoke(Object obj) { - return new BInteger(obj.toString()); - } - } - - protected static final Var SET; - - protected static final Var EMPTY; - - protected static final Var COUNT; - - protected static final IFn INTERSECTION; - - protected static final IFn UNION; - - protected static final IFn DIFFERENCE; - - protected static final IFn RANGE; - - protected static final IFn MAP; - - protected static final IFn INC; +import clojure.java.api.Clojure; +import clojure.lang.IFn; +import clojure.lang.PersistentHashSet; +import clojure.lang.RT; +import clojure.lang.Var; - protected static final IFn CREATE_INTEGER; +public final class BSet<T> implements BObject, Set<T> { + private static final Var SET; + private static final Var EMPTY; + private static final Var COUNT; + private static final IFn INTERSECTION; + private static final IFn UNION; + private static final IFn DIFFERENCE; static { RT.var("clojure.core", "require").invoke(Clojure.read("clojure.set")); @@ -54,27 +32,22 @@ public class BSet<T> implements BObject, Set<T> { INTERSECTION = RT.var("clojure.set", "intersection"); UNION = RT.var("clojure.set", "union"); DIFFERENCE = RT.var("clojure.set", "difference"); - RANGE = RT.var("clojure.core", "range"); - MAP = RT.var("clojure.core", "map"); - INC = RT.var("clojure.core", "inc"); - CREATE_INTEGER = new createBInteger(); } - protected final PersistentHashSet set; + private final PersistentHashSet set; - public BSet(PersistentHashSet elements) { - this.set = elements; + BSet(PersistentHashSet elements) { + this.set = Objects.requireNonNull(elements, "elements"); } - @SuppressWarnings("unchecked") @SafeVarargs public BSet(T... elements) { this.set = (PersistentHashSet) SET.invoke(elements); } - public java.lang.String toString() { + public String toString() { Iterator<T> it = this.iterator(); - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("{"); while (it.hasNext()) { T b = it.next(); @@ -111,34 +84,31 @@ public class BSet<T> implements BObject, Set<T> { throw new UnsupportedOperationException(); } - @SuppressWarnings("unchecked") public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (o == null || getClass() != o.getClass()) + } else if (!(o instanceof BSet)) { return false; - - BSet<T> bObjects = (BSet<T>) o; - - return set.equals(bObjects.set); + } else { + return this.set.equals(((BSet<?>) o).set); + } } public int hashCode() { - return Objects.hash(set); + return this.set.hashCode(); } public boolean removeAll(Collection<?> c) { throw new UnsupportedOperationException(); } - @SuppressWarnings("unchecked") - public T[] toArray() { - return (T[]) set.toArray(); + public Object[] toArray() { + return set.toArray(); } @SuppressWarnings("unchecked") - public <T> T[] toArray(T[] a) { - return (T[]) set.toArray(a); + public <A> A[] toArray(A[] a) { + return (A[]) set.toArray(a); } public boolean containsAll(Collection<?> c) { @@ -172,48 +142,48 @@ public class BSet<T> implements BObject, Set<T> { @SuppressWarnings("unchecked") public <K extends BObject> T unionForSets() { - if(set.isEmpty()) { + if (set.isEmpty()) { return (T) new BSet<K>(); } else { return (T) this.set.stream() - .reduce(new BSet<K>(), (a, e) -> ((BSet<K>) a).union((BSet<K>) e)); + .reduce(new BSet<K>(), (a, e) -> ((BSet<K>) a).union((BSet<K>) e)); } } @SuppressWarnings("unchecked") public <T1 extends BObject, T2 extends BObject> T unionForRelations() { - if(set.isEmpty()) { - return (T) new BRelation<T1,T2>(); + if (set.isEmpty()) { + return (T) new BRelation<T1, T2>(); } else { return (T) this.set.stream() - .reduce(new BRelation<T1, T2>(), (a, e) -> ((BRelation<T1, T2>) a).union((BRelation<T1, T2>) e)); + .reduce(new BRelation<T1, T2>(), (a, e) -> ((BRelation<T1, T2>) a).union((BRelation<T1, T2>) e)); } } @SuppressWarnings("unchecked") public <K extends BObject> T intersectForSets() { - if(set.isEmpty()) { + if (set.isEmpty()) { return (T) new BSet<K>(); } else { return (T) this.set.stream() - .reduce((a, e) -> ((BSet<K>) a).intersect((BSet<K>) e)).get(); + .reduce((a, e) -> ((BSet<K>) a).intersect((BSet<K>) e)).get(); } } @SuppressWarnings("unchecked") public <T1 extends BObject, T2 extends BObject> T intersectForRelations() { - if(set.isEmpty()) { - return (T) new BRelation<T1,T2>(); + if (set.isEmpty()) { + return (T) new BRelation<T1, T2>(); } else { return (T) this.set.stream() - .reduce((a, e) -> ((BRelation<T1, T2>) a).intersect((BRelation<T1, T2>) e)).get(); + .reduce((a, e) -> ((BRelation<T1, T2>) a).intersect((BRelation<T1, T2>) e)).get(); } } public static BSet<BInteger> interval(BInteger a, BInteger b) { PersistentHashSet persistentSet = PersistentHashSet.create(); - for(BInteger i = a; i.lessEqual(b).booleanValue(); i = i.succ()) { + for (BInteger i = a; i.lessEqual(b).booleanValue(); i = i.succ()) { persistentSet = (PersistentHashSet) persistentSet.cons(i); } return new BSet<BInteger>(persistentSet); @@ -221,43 +191,43 @@ public class BSet<T> implements BObject, Set<T> { public BInteger card() { - return new BInteger((int) COUNT.invoke(this.set)); + return BInteger.of((int) COUNT.invoke(this.set)); } public BInteger _size() { - return new BInteger((int) COUNT.invoke(this.set)); + return BInteger.of((int) COUNT.invoke(this.set)); } public BBoolean elementOf(T object) { - return new BBoolean(this.set.contains(object)); + return BBoolean.of(this.set.contains(object)); } public BBoolean notElementOf(T object) { - return new BBoolean(!this.set.contains(object)); + return BBoolean.of(!this.set.contains(object)); } public BBoolean equal(BSet<T> o) { - return new BBoolean(equals(o)); + return BBoolean.of(equals(o)); } public BBoolean unequal(BSet<T> o) { - return new BBoolean(!equals(o)); + return BBoolean.of(!equals(o)); } public BBoolean subset(BSet<T> set) { - return new BBoolean(set.containsAll(this)); + return BBoolean.of(set.containsAll(this)); } public BBoolean notSubset(BSet<T> set) { - return new BBoolean(!set.containsAll(this)); + return BBoolean.of(!set.containsAll(this)); } public BBoolean strictSubset(BSet<T> set) { - return new BBoolean(set.size() != this.set.size() && set.containsAll(this)); + return BBoolean.of(set.size() != this.set.size() && set.containsAll(this)); } public BBoolean strictNotSubset(BSet<T> set) { - return new BBoolean(set.size() == this.set.size() || !set.containsAll(this)); + return BBoolean.of(set.size() == this.set.size() || !set.containsAll(this)); } public T nondeterminism() { @@ -265,29 +235,28 @@ public class BSet<T> implements BObject, Set<T> { return nondeterminism(index); } + @SuppressWarnings("unchecked") public T nondeterminism(int index) { - if(index >= this.size()) { + if (index >= this.size()) { return null; } - return toArray()[index]; + return (T) toArray()[index]; } @SuppressWarnings("unchecked") public BInteger min() { - Optional<BInteger> result = this.set.stream().reduce((a,b) -> ((BInteger) a).lessEqual((BInteger) b).booleanValue() ? (BInteger) a : (BInteger) b); - if(result.isPresent()) { - return result.get(); + if (this.set.isEmpty()) { + throw new RuntimeException("Minimum does not exist"); } - throw new RuntimeException("Minumum does not exist"); + return (BInteger) Collections.min(this.set); } @SuppressWarnings("unchecked") public BInteger max() { - Optional<BInteger> result = this.set.stream().reduce((a,b) -> ((BInteger) a).greaterEqual((BInteger) b).booleanValue() ? (BInteger) a : (BInteger) b); - if(result.isPresent()) { - return result.get(); + if (this.set.isEmpty()) { + throw new RuntimeException("Maximum does not exist"); } - throw new RuntimeException("Maximum does not exist"); + return (BInteger) Collections.max(this.set); } @SuppressWarnings("unchecked") @@ -297,13 +266,13 @@ public class BSet<T> implements BObject, Set<T> { Queue<K> queue = new LinkedList<>(); queue.add(start); result = result.union(new BSet<K>(start)); - while(!queue.isEmpty()) { + while (!queue.isEmpty()) { K currentSet = queue.remove(); - for(T element : this) { + for (T element : this) { K nextSet = (K) currentSet.union(new BSet<T>(element)); int previousSize = result.size(); - result = result.union(new BSet<K>(nextSet)); - if(previousSize < result.size()) { + result = result.union(new BSet<>(nextSet)); + if (previousSize < result.size()) { queue.add(nextSet); } } @@ -311,9 +280,9 @@ public class BSet<T> implements BObject, Set<T> { return result; } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public <K extends BSet<T>> BSet<K> pow1() { - BSet<T> emptySet = new BSet<T>(); + BSet<T> emptySet = new BSet<>(); return this.pow().difference(new BSet(emptySet)); } @@ -325,31 +294,31 @@ public class BSet<T> implements BObject, Set<T> { return this.pow1(); } - public BSet<BRelation<BInteger,T>> permutate() { + public BSet<BRelation<BInteger, T>> permutate() { BSet<BInteger> interval = BSet.interval(BInteger.ONE, this._size()); - BSet<BRelation<BInteger,T>> permutations = BRelation.cartesianProduct(interval, this).pow(); - BSet<BRelation<BInteger,T>> result = permutations; - for(BRelation<BInteger, T> permutation : permutations) { - if(!permutation.isBijection(this).booleanValue()) { - result = result.difference(new BSet<BRelation<BInteger, T>>(permutation)); + BSet<BRelation<BInteger, T>> permutations = BRelation.cartesianProduct(interval, this).pow(); + BSet<BRelation<BInteger, T>> result = permutations; + for (BRelation<BInteger, T> permutation : permutations) { + if (!permutation.isBijection(this).booleanValue()) { + result = result.difference(new BSet<>(permutation)); } } return result; } public BBoolean subsetOfBoolean() { - for(T e : this) { - if(e instanceof BBoolean) { - return new BBoolean(true); + for (T e : this) { + if (e instanceof BBoolean) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean strictSubsetOfBoolean() { - return new BBoolean(subsetOfBoolean().booleanValue() && this.size() < 2); + return BBoolean.of(subsetOfBoolean().booleanValue() && this.size() < 2); } public BBoolean notSubsetOfBoolean() { @@ -357,22 +326,22 @@ public class BSet<T> implements BObject, Set<T> { } public BBoolean equalBoolean() { - return new BBoolean(subsetOfBoolean().booleanValue() && this.size() == 2); + return BBoolean.of(subsetOfBoolean().booleanValue() && this.size() == 2); } public BBoolean unequalBoolean() { - return new BBoolean(subsetOfBoolean().booleanValue() && this.size() < 2); + return BBoolean.of(subsetOfBoolean().booleanValue() && this.size() < 2); } public BBoolean subsetOfInteger() { - for(T e : this) { - if(e instanceof BInteger) { - return new BBoolean(true); + for (T e : this) { + if (e instanceof BInteger) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean strictSubsetOfInteger() { @@ -384,43 +353,43 @@ public class BSet<T> implements BObject, Set<T> { } public BBoolean equalInteger() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean unequalInteger() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean equalNatural() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean unequalNatural() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean equalNatural1() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean unequalNatural1() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean equalString() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean unequalString() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean equalStruct() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean unequalStruct() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean notStrictSubsetOfInteger() { @@ -428,13 +397,13 @@ public class BSet<T> implements BObject, Set<T> { } public BBoolean subsetOfNatural() { - for(T e : this) { + for (T e : this) { BInteger element = (BInteger) e; - if(!element.isNatural().booleanValue()) { - return new BBoolean(false); + if (!element.isNatural().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean strictSubsetOfNatural() { @@ -450,13 +419,13 @@ public class BSet<T> implements BObject, Set<T> { } public BBoolean subsetOfNatural1() { - for(T e : this) { + for (T e : this) { BInteger element = (BInteger) e; - if(!element.isNatural1().booleanValue()) { - return new BBoolean(false); + if (!element.isNatural1().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean strictSubsetOfNatural1() { @@ -472,13 +441,13 @@ public class BSet<T> implements BObject, Set<T> { } public BBoolean subsetOfString() { - for(T e : this) { + for (T e : this) { BString element = (BString) e; - if(!element.isString().booleanValue()) { - return new BBoolean(false); + if (!element.isString().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean strictSubsetOfString() { @@ -495,13 +464,13 @@ public class BSet<T> implements BObject, Set<T> { public BBoolean subsetOfStruct() { - for(T e : this) { + for (T e : this) { BStruct element = (BStruct) e; - if(!element.isRecord().booleanValue()) { - return new BBoolean(false); + if (!element.isRecord().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean strictSubsetOfStruct() { @@ -519,4 +488,4 @@ public class BSet<T> implements BObject, Set<T> { public PersistentHashSet getSet() { return set; } -} \ No newline at end of file +} diff --git a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BString.java b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BString.java index 153840920..1892a6539 100755 --- a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BString.java +++ b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BString.java @@ -1,65 +1,53 @@ package de.hhu.stups.btypes; -public class BString implements BObject { - public java.lang.String getValue() { - return value; - } +import java.util.Objects; - private final java.lang.String value; +public final class BString implements BObject { - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; + private final String value; - BString bString = (BString) o; - - if (!value.equals(bString.value)) - return false; - - return true; + public BString(String value) { + this.value = Objects.requireNonNull(value, "value"); } - public int length() { - return value.length(); + public String getValue() { + return this.value; } - public boolean isEmpty() { - return value.isEmpty(); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } else if (!(o instanceof BString)) { + return false; + } else { + return this.value.equals(((BString) o).value); + } } @Override public int hashCode() { - return value.hashCode(); - } - - public BString(java.lang.String value) { - this.value = value; + return this.value.hashCode(); } - public java.lang.String toString() { + @Override + public String toString() { return '"' + this.value + '"'; } - public boolean isCase(Object o) { - return this.value.equals(o); - } - public BBoolean isString() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isNotString() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean equal(BString o) { - return new BBoolean(equals(o)); + return BBoolean.of(this.equals(o)); } public BBoolean unequal(BString o) { - return new BBoolean(!equals(o)); + return BBoolean.of(!this.equals(o)); } } diff --git a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BStruct.java b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BStruct.java index ddf989d55..a8ec6d851 100755 --- a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BStruct.java +++ b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BStruct.java @@ -1,12 +1,15 @@ package de.hhu.stups.btypes; -public class BStruct implements BObject { +public abstract class BStruct implements BObject { - public BBoolean isRecord() { - return new BBoolean(true); - } + protected BStruct() { + } - public BBoolean isNotRecord() { - return new BBoolean(false); - } -} \ No newline at end of file + public BBoolean isRecord() { + return BBoolean.TRUE; + } + + public BBoolean isNotRecord() { + return BBoolean.FALSE; + } +} diff --git a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BTuple.java b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BTuple.java index f14727628..32876de3f 100755 --- a/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BTuple.java +++ b/btypes_big_integer/src/main/java/de/hhu/stups/btypes/BTuple.java @@ -2,57 +2,49 @@ package de.hhu.stups.btypes; import java.util.Objects; -public class BTuple<S,T> implements BObject { +public final class BTuple<S, T> implements BObject { - private S first; - - private T second; + private final S first; + private final T second; public BTuple(S first, T second) { - if (first == null || second == null) { - throw new IllegalArgumentException(); - } - this.first = first; - this.second = second; + this.first = Objects.requireNonNull(first, "first"); + this.second = Objects.requireNonNull(second, "second"); } - public boolean equals(Object o) { if (this == o) { return true; - } - if (o == null || getClass() != o.getClass()) { + } else if (!(o instanceof BTuple)) { return false; + } else { + BTuple<?, ?> that = (BTuple<?, ?>) o; + return this.first.equals(that.first) && this.second.equals(that.second); } - - BTuple bObjects = (BTuple) o; - // elements is never null - return bObjects.projection1().equals(this.first) && bObjects.projection2().equals(this.second); } public int hashCode() { - return Objects.hash(first, second); + return Objects.hash(this.first, this.second); } @Override - public java.lang.String toString() { - return "(" + this.projection1() + " |-> " + this.projection2() + ')'; + public String toString() { + return "(" + this.first + " |-> " + this.second + ")"; } public S projection1() { - return first; + return this.first; } public T projection2() { - return second; + return this.second; } - public BBoolean equal(BTuple o) { - return new BBoolean(equals(o)); + public BBoolean equal(BTuple<?, ?> o) { + return BBoolean.of(this.equals(o)); } - public BBoolean unequal(BTuple o) { - return new BBoolean(!equals(o)); + public BBoolean unequal(BTuple<?, ?> o) { + return BBoolean.of(!this.equals(o)); } - } diff --git a/btypes_big_integer/src/test/java/de/hhu/stups/btypes/BIntegerTest.java b/btypes_big_integer/src/test/java/de/hhu/stups/btypes/BIntegerTest.java new file mode 100644 index 000000000..fd91f8bb8 --- /dev/null +++ b/btypes_big_integer/src/test/java/de/hhu/stups/btypes/BIntegerTest.java @@ -0,0 +1,79 @@ +package de.hhu.stups.btypes; + +import java.math.BigInteger; + +import de.hhu.stups.btypes.BInteger; + +import org.junit.Test; +import org.junit.experimental.runners.Enclosed; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import static org.junit.Assert.assertEquals; + +@RunWith(Enclosed.class) +public class BIntegerTest { + + private static BInteger toBInt(Object o) { + if (o instanceof BInteger) { + return (BInteger) o; + } else if (o instanceof Integer) { + return BInteger.of((int) o); + } else if (o instanceof Long) { + return BInteger.of((int) o); + } else if (o instanceof BigInteger) { + return BInteger.of((BigInteger) o); + } else { + throw new IllegalArgumentException(); + } + } + + @RunWith(Parameterized.class) + public static class PowerTest { + + @Parameterized.Parameters(name = "{index}: power({0}, {1}) = {2}") + public static Object[][] data() { + return new Object[][] { + { 0, 0, 1 }, + { 0, 1, 0 }, + { 0, 2, 0 }, + { 0, 3, 0 }, + { 0, 4, 0 }, + { 0, 5, 0 }, + { 1, 0, 1 }, + { 1, 1, 1 }, + { 1, 2, 1 }, + { 1, 3, 1 }, + { 1, 4, 1 }, + { 1, 5, 1 }, + { 2, 0, 1 }, + { 2, 1, 2 }, + { 2, 2, 4 }, + { 2, 3, 8 }, + { 2, 4, 16 }, + { 2, 5, 32 }, + { 3, 0, 1 }, + { 3, 1, 3 }, + { 3, 2, 9 }, + { 3, 3, 27 }, + { 3, 4, 81 }, + { 3, 5, 243 }, + }; + } + + @Parameterized.Parameter + public Object base; + @Parameterized.Parameter(1) + public Object power; + @Parameterized.Parameter(2) + public Object expected; + + @Test + public void test() { + BInteger base = toBInt(this.base); + BInteger power = toBInt(this.power); + BInteger expected = toBInt(this.expected); + assertEquals(expected, base.power(power)); + } + } +} diff --git a/btypes_primitives/build.gradle b/btypes_primitives/build.gradle index 5665f62cd..91055e3a1 100644 --- a/btypes_primitives/build.gradle +++ b/btypes_primitives/build.gradle @@ -15,8 +15,8 @@ repositories { } dependencies { - implementation group: 'org.clojure', name: 'clojure', version: '1.10.0' - testImplementation 'junit:junit:4.8.2' + implementation group: 'org.clojure', name: 'clojure', version: '1.12.0' + testImplementation 'junit:junit:4.13.2' } java { diff --git a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BBoolean.java b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BBoolean.java index 18cf55a2a..48a852053 100755 --- a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BBoolean.java +++ b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BBoolean.java @@ -23,10 +23,6 @@ public final class BBoolean implements BObject { this.value = value; } - public BBoolean(String s) { - this(Boolean.parseBoolean(s)); - } - public boolean booleanValue() { return this.value; } @@ -52,64 +48,36 @@ public final class BBoolean implements BObject { return String.valueOf(this.value); } - /* groovy operator overloading support */ - Object asType(Class<?> clazz) { - if (clazz == BBoolean.class) { - return this; - } - return clazz.cast(this.value); - } - public BBoolean or(BBoolean other) { - return new BBoolean(this.booleanValue() || other.booleanValue()); - } - - public BBoolean or(boolean other) { - return new BBoolean(this.booleanValue() || other); + return of(this.booleanValue() || other.booleanValue()); } public BBoolean xor(BBoolean other) { - return new BBoolean(this.booleanValue() ^ other.booleanValue()); - } - - public BBoolean xor(boolean other) { - return new BBoolean(this.booleanValue() ^ other); + return of(this.booleanValue() ^ other.booleanValue()); } public BBoolean and(BBoolean other) { - return new BBoolean(this.booleanValue() && other.booleanValue()); - } - - public BBoolean and(boolean other) { - return new BBoolean(this.booleanValue() && other); + return of(this.booleanValue() && other.booleanValue()); } public BBoolean not() { - return new BBoolean(!this.booleanValue()); + return of(!this.booleanValue()); } public BBoolean implies(BBoolean other) { return this.not().or(other); } - public BBoolean implies(boolean other) { - return new BBoolean(this.not().booleanValue() || other); - } - public BBoolean equivalent(BBoolean other) { - return new BBoolean(this.booleanValue() == other.booleanValue()); - } - - public BBoolean equivalent(boolean other) { - return new BBoolean(this.booleanValue() == other); + return of(this.booleanValue() == other.booleanValue()); } public BBoolean equal(BBoolean other) { - return new BBoolean(this.booleanValue() == other.booleanValue()); + return of(this.booleanValue() == other.booleanValue()); } public BBoolean unequal(BBoolean other) { - return new BBoolean(this.booleanValue() != other.booleanValue()); + return of(this.booleanValue() != other.booleanValue()); } public BBoolean isBoolean() { diff --git a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BInteger.java b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BInteger.java index 64576cb95..7adbd4252 100644 --- a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BInteger.java +++ b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BInteger.java @@ -1,190 +1,211 @@ package de.hhu.stups.btypes; import java.math.BigInteger; - -public final class BInteger extends java.lang.Number implements Comparable<BInteger>, BObject { - - public static final BInteger ZERO = new BInteger(0); - public static final BInteger ONE = new BInteger(1); - public static final BInteger TWO = new BInteger(2); - - private static final long serialVersionUID = -6484548796859331267L; - private final int value; - - public BInteger(int value) { - this.value = value; - } - - public static BInteger build(int value) { - return new BInteger(value); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } else if (!(obj instanceof BInteger)) { - return false; - } else { - return this.value == ((BInteger) obj).value; - } - } - - @Override - public int hashCode() { - return Integer.hashCode(value); - } - - @Override - public int compareTo(BInteger o) { - return Integer.compare(this.value, o.value); - } - - public BBoolean lessEqual(BInteger o) { - return new BBoolean(this.value <= o.value); - } - - public BBoolean greaterEqual(BInteger o) { - return new BBoolean(this.value >= o.value); - } - - public java.math.BigInteger asBigInteger() { - return BigInteger.valueOf(value); - } - - public BBoolean less(BInteger o) { - return new BBoolean(this.value < o.value); - } - - public BBoolean greater(BInteger o) { - return new BBoolean(this.value > o.value); - } - - public BBoolean equal(BInteger o) { - return new BBoolean(this.value == o.value); - } - - public BBoolean unequal(BInteger o) { - return new BBoolean(this.value != o.value); - } - - @Override - public int intValue() { - return this.value; - } - - @Override - public long longValue() { - return (long) this.value; - } - - @Override - public float floatValue() { - return (float) this.value; - } - - @Override - public double doubleValue() { - return (double) this.value; - } - - public BInteger plus(BInteger o) { - return new BInteger(this.value + o.value); - } - - public java.lang.String toString() { - return String.valueOf(value); - } - - public BInteger minus(BInteger o) { - return new BInteger(this.value - o.value); - } - - public BInteger multiply(BInteger o) { - return new BInteger(this.value * o.value); - } - - public BInteger power(BInteger exp) { - if (exp.isNotNatural().booleanValue()) { - throw new IllegalArgumentException("Exponent must be a natural number"); - } - - BInteger result = ONE; - while (true) { - if (ONE.equals(exp.modulo(TWO))) { - result = result.multiply(this); - } - - exp = exp.divide(TWO); - if (ZERO.equals(exp)) { - return result; - } - - result = result.multiply(result); - } - } - - public BInteger divide(BInteger o) { - return new BInteger(this.value / o.value); - } - - public BInteger modulo(BInteger o) { - return new BInteger(this.value % o.value); - } - - public BInteger succ() { - return new BInteger(this.value + 1); - } - - public BInteger pred() { - return new BInteger(this.value - 1); - } - - public BInteger leftShift() { - return new BInteger(this.value << 1); - } - - public BInteger rightShift() { - return new BInteger(this.value >> 1); - } - - public boolean isCase(BInteger o) { - return this.equals(o); - } - - public BInteger negative() { - return new BInteger(-this.value); - } - - public BInteger positive() { - return this; - } - - public java.lang.Number getValue() { - return value; - } - - public BBoolean isInteger() { - return new BBoolean(true); - } - - public BBoolean isNotInteger() { - return new BBoolean(false); - } - - public BBoolean isNatural() { - return this.greaterEqual(new BInteger(0)); - } - - public BBoolean isNotNatural() { - return isNatural().not(); - } - - public BBoolean isNatural1() { - return this.greater(new BInteger(0)); - } - - public BBoolean isNotNatural1() { - return isNatural1().not(); - } +import java.util.Objects; + +public final class BInteger extends Number implements Comparable<BInteger>, BObject { + + public static final BInteger ZERO = new BInteger(0); + public static final BInteger ONE = new BInteger(1); + public static final BInteger TWO = new BInteger(2); + public static final BInteger MINUS_ONE = new BInteger(-1); + + public static BInteger of(int value) { + switch (value) { + case 0: + return ZERO; + case 1: + return ONE; + case 2: + return TWO; + case -1: + return MINUS_ONE; + default: + return new BInteger(value); + } + } + + public static BInteger of(long value) { + return of(Math.toIntExact(value)); + } + + public static BInteger of(BigInteger value) { + return of(value.intValueExact()); + } + + public static BInteger of(String value) { + return of(Integer.parseInt(value)); + } + + public static BInteger of(BInteger value) { + return Objects.requireNonNull(value, "value"); + } + + private final int value; + + private BInteger(int value) { + this.value = value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } else if (!(o instanceof BInteger)) { + return false; + } else { + return this.value == ((BInteger) o).value; + } + } + + @Override + public int hashCode() { + return Integer.hashCode(value); + } + + @Override + public int compareTo(BInteger o) { + return Integer.compare(this.value, o.value); + } + + public BBoolean lessEqual(BInteger o) { + return BBoolean.of(this.value <= o.value); + } + + public BBoolean greaterEqual(BInteger o) { + return BBoolean.of(this.value >= o.value); + } + + public BBoolean less(BInteger o) { + return BBoolean.of(this.value < o.value); + } + + public BBoolean greater(BInteger o) { + return BBoolean.of(this.value > o.value); + } + + public BBoolean equal(BInteger o) { + return BBoolean.of(this.value == o.value); + } + + public BBoolean unequal(BInteger o) { + return BBoolean.of(this.value != o.value); + } + + @Override + public int intValue() { + return this.value; + } + + @Override + public long longValue() { + return this.value; + } + + @Override + public float floatValue() { + return (float) this.value; + } + + @Override + public double doubleValue() { + return this.value; + } + + public BInteger plus(BInteger o) { + return of(Math.addExact(this.value, o.value)); + } + + public String toString() { + return String.valueOf(this.value); + } + + public BInteger minus(BInteger o) { + return of(Math.subtractExact(this.value, o.value)); + } + + public BInteger multiply(BInteger o) { + return of(Math.multiplyExact(this.value, o.value)); + } + + public BInteger power(BInteger exp) { + int pow = exp.value; + if (pow < 0) { + throw new IllegalArgumentException("Exponent must be a natural number"); + } + + int val = this.value; + if (pow == 0 || val == 1) { + return ONE; + } else if (val == 0) { + return ZERO; + } + + int result = 1; + while (pow > 0) { + if (pow % 2 == 1) { + result = Math.multiplyExact(result, val); + } + + val = Math.multiplyExact(val, val); + pow /= 2; // safe division + } + + return of(result); + } + + public BInteger divide(BInteger o) { + // divideExact got added in Java 18 + int x = this.value; + int y = o.value; + int q = x / y; + if ((x & y & q) < 0) { + throw new ArithmeticException("integer overflow"); + } + return of(q); + } + + public BInteger modulo(BInteger o) { + return of(this.value % o.value); + } + + public BInteger succ() { + return of(Math.incrementExact(this.value)); + } + + public BInteger pred() { + return of(Math.decrementExact(this.value)); + } + + public BInteger negative() { + return of(Math.negateExact(this.value)); + } + + public BInteger positive() { + return this; + } + + public BBoolean isInteger() { + return BBoolean.TRUE; + } + + public BBoolean isNotInteger() { + return BBoolean.FALSE; + } + + public BBoolean isNatural() { + return this.greaterEqual(ZERO); + } + + public BBoolean isNotNatural() { + return isNatural().not(); + } + + public BBoolean isNatural1() { + return this.greater(ZERO); + } + + public BBoolean isNotNatural1() { + return isNatural1().not(); + } } diff --git a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BRelation.java b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BRelation.java index 0631fb3e0..77aa51237 100644 --- a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BRelation.java +++ b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BRelation.java @@ -1,45 +1,30 @@ package de.hhu.stups.btypes; -import clojure.java.api.Clojure; -import clojure.lang.PersistentHashSet; -import clojure.lang.PersistentHashMap; -import clojure.lang.RT; -import clojure.lang.Var; - import java.util.Iterator; import java.util.LinkedList; +import java.util.Objects; import java.util.Queue; -/** - * Created by fabian on 15.01.19. - */ -public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { - - protected static final Var ASSOC; - - protected static final Var DISSOC; - - protected static final Var GET; - - protected static final Var SET; - - protected static final Var SEQ; - - protected static final Var LIST; - - protected static final Var KEYS; - - protected static final Var VALS; - - protected static final Var CONTAINS; - - protected static final Var REDUCE; - - protected static final Var INTERSECTION; - - protected static final Var UNION; +import clojure.java.api.Clojure; +import clojure.lang.PersistentHashMap; +import clojure.lang.PersistentHashSet; +import clojure.lang.RT; +import clojure.lang.Var; - protected static final Var DIFFERENCE; +public final class BRelation<S, T> implements BObject, Iterable<BTuple<S, T>> { + + private static final Var ASSOC; + private static final Var DISSOC; + private static final Var GET; + private static final Var SET; + private static final Var SEQ; + private static final Var LIST; + private static final Var KEYS; + private static final Var VALS; + private static final Var REDUCE; + private static final Var INTERSECTION; + private static final Var UNION; + private static final Var DIFFERENCE; static { RT.var("clojure.core", "require").invoke(Clojure.read("clojure.set")); @@ -51,73 +36,71 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { LIST = RT.var("clojure.core", "list"); KEYS = RT.var("clojure.core", "keys"); VALS = RT.var("clojure.core", "vals"); - CONTAINS = RT.var("clojure.core", "contains?"); REDUCE = RT.var("clojure.core", "reduce"); INTERSECTION = RT.var("clojure.set", "intersection"); UNION = RT.var("clojure.set", "union"); DIFFERENCE = RT.var("clojure.set", "difference"); } - private PersistentHashMap map; + private final PersistentHashMap map; - public BRelation(PersistentHashMap map) { - this.map = map; + BRelation(PersistentHashMap map) { + this.map = Objects.requireNonNull(map, "map"); } @SafeVarargs - public BRelation(BTuple<S,T>... elements) { - this.map = PersistentHashMap.EMPTY; - for(BTuple<S,T> e : elements) { + public BRelation(BTuple<S, T>... elements) { + PersistentHashMap map = PersistentHashMap.EMPTY; + for (BTuple<S, T> e : elements) { S key = e.projection1(); T value = e.projection2(); - PersistentHashSet set = (PersistentHashSet) GET.invoke(this.map, key); - if(set == null) { + PersistentHashSet set = (PersistentHashSet) GET.invoke(map, key); + if (set == null) { set = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(value))); } else { set = (PersistentHashSet) UNION.invoke(set, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(value)))); } - this.map = (PersistentHashMap) ASSOC.invoke(this.map, key, set); + map = (PersistentHashMap) ASSOC.invoke(map, key, set); } + this.map = map; } - public static <S,T> BRelation<S,T> fromSet(BSet<BTuple<S,T>> set) { - PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BTuple<S,T> e : set) { - S key = e.projection1(); - T value = e.projection2(); - PersistentHashSet range = (PersistentHashSet) GET.invoke(resultMap, key); - if(set == null) { - range = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(value))); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, key, range); - } else { - range = (PersistentHashSet) UNION.invoke(range, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(value)))); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, key, range); - } - } - return new BRelation<S,T>(resultMap); + @SuppressWarnings("unchecked") + public static <S, T> BRelation<S, T> fromSet(BSet<BTuple<S, T>> set) { + return new BRelation<>(set.toArray(new BTuple[0])); } - @SuppressWarnings("unchecked") public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (o == null || getClass() != o.getClass()) + } else if (!(o instanceof BRelation)) { return false; - - BRelation<S,T> bObjects = (BRelation<S,T>) o; - - if (!map.equals(bObjects.map)) - return false; - - return true; + } else { + return this.map.equals(((BRelation<?, ?>) o).map); + } } public int hashCode() { - return map.hashCode(); + return this.map.hashCode(); + } + + public String toString() { + Iterator<BTuple<S, T>> it = this.iterator(); + StringBuilder sb = new StringBuilder(); + sb.append("{"); + while (it.hasNext()) { + BTuple<S, T> b = it.next(); + sb.append(b.toString()); + if (it.hasNext()) { + sb.append(", "); + } + } + sb.append("}"); + return sb.toString(); } @SuppressWarnings("unchecked") - public BRelation<S,T> intersect(BRelation<S,T> relation) { + public BRelation<S, T> intersect(BRelation<S, T> relation) { PersistentHashMap otherMap = relation.map; PersistentHashSet otherDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(otherMap)); PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); @@ -125,64 +108,64 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { PersistentHashSet differenceDomain = (PersistentHashSet) DIFFERENCE.invoke(thisDomain, otherDomain); PersistentHashMap resultMap = this.map; - for(Object obj : intersectionDomain) { + for (Object obj : intersectionDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); PersistentHashSet otherRangeSet = (PersistentHashSet) GET.invoke(otherMap, domainElement); PersistentHashSet newRangeSet = (PersistentHashSet) INTERSECTION.invoke(thisRangeSet, otherRangeSet); - if(newRangeSet.isEmpty()) { + if (newRangeSet.isEmpty()) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, domainElement); } else { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, newRangeSet); } } - for(Object obj : differenceDomain) { + for (Object obj : differenceDomain) { S domainElement = (S) obj; resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, domainElement); } - return new BRelation<S,T>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public BRelation<S,T> difference(BRelation<S,T> relation) { + public BRelation<S, T> difference(BRelation<S, T> relation) { PersistentHashMap otherMap = relation.map; PersistentHashSet otherDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(otherMap)); PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); PersistentHashSet intersectionDomain = (PersistentHashSet) INTERSECTION.invoke(thisDomain, otherDomain); PersistentHashMap resultMap = this.map; - for(Object obj : intersectionDomain) { + for (Object obj : intersectionDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); PersistentHashSet otherRangeSet = (PersistentHashSet) GET.invoke(otherMap, domainElement); - if(otherRangeSet == null) { + if (otherRangeSet == null) { continue; } PersistentHashSet newRangeSet = (PersistentHashSet) DIFFERENCE.invoke(thisRangeSet, otherRangeSet); - if(newRangeSet.isEmpty()) { + if (newRangeSet.isEmpty()) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, domainElement); } else { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, newRangeSet); } } - return new BRelation<S,T>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public BRelation<S,T> union(BRelation<S,T> relation) { + public BRelation<S, T> union(BRelation<S, T> relation) { PersistentHashMap otherMap = relation.map; PersistentHashSet otherDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(otherMap)); PersistentHashMap resultMap = this.map; - for(Object obj : otherDomain) { + for (Object obj : otherDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); PersistentHashSet otherRangeSet = (PersistentHashSet) GET.invoke(otherMap, domainElement); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, UNION.invoke(thisRangeSet, otherRangeSet)); } - return new BRelation<S,T>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") @@ -190,7 +173,7 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { int size = 0; PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); - for(Object obj : thisDomain) { + for (Object obj : thisDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); size += thisRangeSet.size(); @@ -199,103 +182,100 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } public BInteger card() { - return new BInteger((int) this.size()); + return BInteger.of(this.size()); } public BInteger _size() { - return new BInteger((int) this.size()); + return BInteger.of(this.size()); } - public BBoolean equal(BRelation<S,T> o) { - return new BBoolean(equals(o)); + public BBoolean equal(BRelation<S, T> o) { + return BBoolean.of(equals(o)); } - public BBoolean unequal(BRelation<S,T> o) { - return new BBoolean(!equals(o)); + public BBoolean unequal(BRelation<S, T> o) { + return BBoolean.of(!equals(o)); } - public BBoolean elementOf(BTuple<S,T> object) { + public BBoolean elementOf(BTuple<S, T> object) { S prj1 = object.projection1(); T prj2 = object.projection2(); PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); - if(!domain.contains(prj1)) { - return new BBoolean(false); + if (!domain.contains(prj1)) { + return BBoolean.FALSE; } PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, prj1); - return new BBoolean(range.contains(prj2)); + return BBoolean.of(range.contains(prj2)); } - public BBoolean notElementOf(BTuple<S,T> object) { + public BBoolean notElementOf(BTuple<S, T> object) { S prj1 = object.projection1(); T prj2 = object.projection2(); PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); - if(!domain.contains(prj1)) { - return new BBoolean(true); + if (!domain.contains(prj1)) { + return BBoolean.TRUE; } PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, prj1); - return new BBoolean(!range.contains(prj2)); + return BBoolean.of(!range.contains(prj2)); } - @SuppressWarnings("unchecked") public BSet<T> relationImage(BSet<S> domain) { PersistentHashSet resultSet = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke())); - for(S domainElement: domain) { + for (S domainElement : domain) { PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); - if(thisRangeSet == null) { + if (thisRangeSet == null) { continue; } resultSet = (PersistentHashSet) UNION.invoke(resultSet, thisRangeSet); } - return new BSet<T>(resultSet); + return new BSet<>(resultSet); } - @SuppressWarnings("unchecked") public T functionCall(S arg) { PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, arg); - if(range == null) { + if (range == null) { throw new RuntimeException("Argument is not in the domain of this relation"); } - for(Object element : range) { + for (Object element : range) { return (T) element; } throw new RuntimeException("Argument is not in the domain of this relation"); } @SuppressWarnings("unchecked") - public BSet<BRelation<S,T>> pow() { + public BSet<BRelation<S, T>> pow() { PersistentHashMap thisMap = this.map; PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(thisMap)); - - BSet<BRelation<S,T>> result = new BSet<BRelation<S,T>>(); - BRelation<S,T> start = new BRelation<>(); - Queue<BRelation<S,T>> queue = new LinkedList<>(); + BSet<BRelation<S, T>> result = new BSet<>(); + BRelation<S, T> start = new BRelation<>(); + Queue<BRelation<S, T>> queue = new LinkedList<>(); queue.add(start); - result = result.union(new BSet<BRelation<S,T>>(start)); - while(!queue.isEmpty()) { - BRelation<S,T> currentSet = queue.remove(); + result = result.union(new BSet<>(start)); + while (!queue.isEmpty()) { + BRelation<S, T> currentSet = queue.remove(); - for(Object e1 : thisDomain) { + for (Object e1 : thisDomain) { S domainElement = (S) e1; PersistentHashSet range = (PersistentHashSet) GET.invoke(thisMap, domainElement); - if(range == null) { + if (range == null) { break; } - for(Object e2 : range) { + for (Object e2 : range) { T rangeElement = (T) e2; - BRelation<S,T> nextRelation = currentSet.union(BRelation.fromSet(new BSet(new BTuple<S,T>(domainElement, rangeElement)))); + BRelation<S, T> nextRelation = currentSet.union(BRelation.fromSet(new BSet<>(new BTuple<>(domainElement, rangeElement)))); int previousSize = result.size(); - result = result.union(new BSet<BRelation<S,T>>(nextRelation)); - if(previousSize < result.size()) { + result = result.union(new BSet<>(nextRelation)); + if (previousSize < result.size()) { queue.add(nextRelation); } } @@ -304,196 +284,187 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { return result; } - @SuppressWarnings("unchecked") - public BSet<BRelation<S,T>> pow1() { - return this.pow().difference(new BSet<BRelation<S,T>>(new BRelation<S,T>())); + public BSet<BRelation<S, T>> pow1() { + return this.pow().difference(new BSet<>(new BRelation<>())); } - public BSet<BRelation<S,T>> fin() { + public BSet<BRelation<S, T>> fin() { return this.pow(); } - public BSet<BRelation<S,T>> fin1() { + public BSet<BRelation<S, T>> fin1() { return this.pow1(); } @SuppressWarnings("unchecked") public BSet<S> domain() { - PersistentHashMap thisMap = this.map; PersistentHashSet set = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); PersistentHashSet resultSet = set; - for(Object obj : set) { + for (Object obj : set) { S domainElement = (S) obj; - PersistentHashSet range = (PersistentHashSet) GET.invoke(thisMap, domainElement); - if(range == null || range.size() == 0) { + PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, domainElement); + if (range == null || range.isEmpty()) { resultSet = (PersistentHashSet) DIFFERENCE.invoke(resultSet, SET.invoke(SEQ.invoke(LIST.invoke(domainElement)))); } } - return new BSet<S>(resultSet); + return new BSet<>(resultSet); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "rawtypes", "unchecked" }) public BRelation domainForRelations() { BRelation result = new BRelation(); - for(S elem : this.domain()) { + for (S elem : this.domain()) { result = result.union(new BRelation((BTuple) elem)); } return result; } - @SuppressWarnings("unchecked") public BSet<T> range() { PersistentHashSet set = (PersistentHashSet) REDUCE.invoke(UNION, SET.invoke(SEQ.invoke(LIST.invoke())), VALS.invoke(this.map)); - return new BSet<T>(set); + return new BSet<>(set); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "rawtypes", "unchecked" }) public BRelation rangeForRelations() { BRelation result = new BRelation(); - for(T elem : this.range()) { + for (T elem : this.range()) { result = result.union(new BRelation((BTuple) elem)); } return result; } @SuppressWarnings("unchecked") - public BRelation<T,S> inverse() { + public BRelation<T, S> inverse() { PersistentHashMap thisMap = this.map; PersistentHashSet keys = (PersistentHashSet) SET.invoke(KEYS.invoke(thisMap)); PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : keys) { + for (Object e1 : keys) { S domainElement = (S) e1; PersistentHashSet range = (PersistentHashSet) GET.invoke(thisMap, domainElement); - if(range == null) { + if (range == null) { break; } - for(Object e2 : range) { + for (Object e2 : range) { T rangeElement = (T) e2; PersistentHashSet currentRange = (PersistentHashSet) GET.invoke(resultMap, rangeElement); - if(currentRange == null) { + if (currentRange == null) { currentRange = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke())); } currentRange = (PersistentHashSet) UNION.invoke(currentRange, SET.invoke(SEQ.invoke(LIST.invoke(domainElement)))); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, rangeElement, currentRange); } } - return new BRelation<T, S>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public BRelation<S,T> domainRestriction(BSet<S> arg) { + public BRelation<S, T> domainRestriction(BSet<S> arg) { PersistentHashSet set = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); PersistentHashSet otherSet = arg.getSet(); PersistentHashSet resultSet = (PersistentHashSet) DIFFERENCE.invoke(set, otherSet); PersistentHashMap resultMap = this.map; - for(Object obj : resultSet) { + for (Object obj : resultSet) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, obj); } - return new BRelation<S,T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public BRelation<S,T> domainSubstraction(BSet<S> arg) { - PersistentHashSet set = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); + public BRelation<S, T> domainSubstraction(BSet<S> arg) { PersistentHashSet otherSet = arg.getSet(); PersistentHashMap resultMap = this.map; - for(Object obj : otherSet) { + for (Object obj : otherSet) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, obj); } - return new BRelation<S,T>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public BRelation<S,T> rangeRestriction(BSet<T> arg) { + public BRelation<S, T> rangeRestriction(BSet<T> arg) { PersistentHashSet otherSet = (PersistentHashSet) arg.getSet(); PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); PersistentHashMap resultMap = this.map; - for(Object obj : thisDomain) { + for (Object obj : thisDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); PersistentHashSet newRangeSet = (PersistentHashSet) INTERSECTION.invoke(thisRangeSet, otherSet); - if(newRangeSet.isEmpty()) { + if (newRangeSet.isEmpty()) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, domainElement); } else { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, newRangeSet); } } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public BRelation<S,T> rangeSubstraction(BSet<T> arg) { + public BRelation<S, T> rangeSubstraction(BSet<T> arg) { PersistentHashSet otherSet = (PersistentHashSet) arg.getSet(); PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); PersistentHashMap resultMap = this.map; - for(Object obj : thisDomain) { + for (Object obj : thisDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); PersistentHashSet newRangeSet = (PersistentHashSet) DIFFERENCE.invoke(thisRangeSet, otherSet); - if(newRangeSet.isEmpty()) { + if (newRangeSet.isEmpty()) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, domainElement); } else { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, newRangeSet); } } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public BBoolean subset(BRelation<S,T> arg) { + public BBoolean subset(BRelation<S, T> arg) { PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); - for(Object obj : thisDomain) { + for (Object obj : thisDomain) { S domainElement = (S) obj; PersistentHashSet thisRangeSet = (PersistentHashSet) GET.invoke(this.map, domainElement); PersistentHashSet otherRangeSet = (PersistentHashSet) GET.invoke(arg.map, domainElement); - if(thisRangeSet != null) { - if(otherRangeSet == null) { - return new BBoolean(false); + if (thisRangeSet != null) { + if (otherRangeSet == null) { + return BBoolean.FALSE; } - if(!thisRangeSet.isEmpty() && !otherRangeSet.containsAll(thisRangeSet)) { - return new BBoolean(false); + if (!thisRangeSet.isEmpty() && !otherRangeSet.containsAll(thisRangeSet)) { + return BBoolean.FALSE; } } } - return new BBoolean(true); + return BBoolean.TRUE; } - @SuppressWarnings("unchecked") - public BBoolean notSubset(BRelation<S,T> arg) { + public BBoolean notSubset(BRelation<S, T> arg) { return subset(arg).not(); } - public BBoolean strictSubset(BRelation<S,T> set) { - return new BBoolean(set.size() != this.size() && this.subset(set).booleanValue()); + public BBoolean strictSubset(BRelation<S, T> set) { + return BBoolean.of(set.size() != this.size() && this.subset(set).booleanValue()); } public BBoolean strictNotSubset(BRelation<S, T> set) { - return new BBoolean(set.size() == this.size() || !this.subset(set).booleanValue()); + return BBoolean.of(set.size() == this.size() || !this.subset(set).booleanValue()); } @SuppressWarnings("unchecked") - public BRelation<S,T> override(BRelation<S,T> arg) { + public BRelation<S, T> override(BRelation<S, T> arg) { PersistentHashMap otherMap = arg.map; - PersistentHashSet otherDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(otherMap)); - PersistentHashMap resultMap = this.map; - for(Object obj : otherDomain) { + for (Object obj : otherDomain) { S domainElement = (S) obj; PersistentHashSet range = (PersistentHashSet) GET.invoke(otherMap, domainElement); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, range); } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") public T first() { - return this.functionCall((S) new BInteger(1)); + return this.functionCall((S) BInteger.ONE); } @SuppressWarnings("unchecked") @@ -502,127 +473,118 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public BRelation<S,T> reverse() { + public BRelation<S, T> reverse() { BInteger size = this.card(); PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BInteger i = new BInteger(1); i.lessEqual(size).booleanValue(); i = i.succ()) { - T rangeElement = (T) this.functionCall((S) size.minus(i).succ()); + for (BInteger i = BInteger.ONE; i.lessEqual(size).booleanValue(); i = i.succ()) { + T rangeElement = this.functionCall((S) size.minus(i).succ()); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, i, SET.invoke(SEQ.invoke(LIST.invoke(rangeElement)))); } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public BRelation<S,T> front() { + public BRelation<S, T> front() { return this.domainSubstraction(new BSet<>((S) this.card())); } @SuppressWarnings("unchecked") - public BRelation<S,T> tail() { + public BRelation<S, T> tail() { BInteger size = this._size(); PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BInteger i = new BInteger(2); i.lessEqual(size).booleanValue(); i = i.succ()) { - T rangeElement = (T) this.functionCall((S) i); + for (BInteger i = BInteger.TWO; i.lessEqual(size).booleanValue(); i = i.succ()) { + T rangeElement = this.functionCall((S) i); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, i.pred(), SET.invoke(SEQ.invoke(LIST.invoke(rangeElement)))); } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public BRelation<S,T> take(BInteger n) { + public BRelation<S, T> take(BInteger n) { BInteger size = this._size(); - if(n.greaterEqual(size).booleanValue()) { - return new BRelation<S, T>(this.map); + if (n.greaterEqual(size).booleanValue()) { + return new BRelation<>(this.map); } PersistentHashMap resultMap = this.map; //Remove sets with index greater than n - for(BInteger i = n.succ(); i.lessEqual(size).booleanValue(); i = i.succ()) { + for (BInteger i = n.succ(); i.lessEqual(size).booleanValue(); i = i.succ()) { resultMap = (PersistentHashMap) DISSOC.invoke(resultMap, i); } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public BRelation<S,T> drop(BInteger n) { + public BRelation<S, T> drop(BInteger n) { BInteger size = this._size(); - PersistentHashMap thisMap = this.map; PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BInteger i = n.succ(); i.lessEqual(size).booleanValue(); i = i.succ()) { - PersistentHashSet currentSet = (PersistentHashSet) GET.invoke(thisMap, i); + for (BInteger i = n.succ(); i.lessEqual(size).booleanValue(); i = i.succ()) { + PersistentHashSet currentSet = (PersistentHashSet) GET.invoke(this.map, i); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, i.minus(n), currentSet); } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public BRelation<S,T> concat(BRelation<S,T> arg) { + public BRelation<S, T> concat(BRelation<S, T> arg) { PersistentHashMap resultMap = this.map; - PersistentHashMap otherMap = arg.map; BInteger size = this.card(); - for(BInteger i = new BInteger(1); i.lessEqual(arg._size()).booleanValue(); i = i.succ()) { - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, size.plus(i), (PersistentHashSet) GET.invoke(otherMap, i)); + for (BInteger i = BInteger.ONE; i.lessEqual(arg._size()).booleanValue(); i = i.succ()) { + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, size.plus(i), (PersistentHashSet) GET.invoke(arg.map, i)); } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public <R,A> T conc() { - BRelation<R,A> result = new BRelation<R,A>(); + public <R, A> T conc() { + BRelation<R, A> result = new BRelation<R, A>(); BInteger size = this.card(); - for(BInteger i = new BInteger(1); i.lessEqual(size).booleanValue(); i = i.succ()) { - result = result.concat((BRelation<R,A>) functionCall((S) i)); + for (BInteger i = BInteger.ONE; i.lessEqual(size).booleanValue(); i = i.succ()) { + result = result.concat((BRelation<R, A>) functionCall((S) i)); } return (T) result; } - @SuppressWarnings("unchecked") - public BRelation<S,T> append(T arg) { + public BRelation<S, T> append(T arg) { PersistentHashMap resultMap = this.map; resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, this.card().succ(), (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(arg)))); - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public BRelation<S,T> prepend(T arg) { + public BRelation<S, T> prepend(T arg) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - PersistentHashMap thisMap = this.map; BInteger size = this._size(); - for(BInteger i = new BInteger(1); i.lessEqual(size).booleanValue(); i = i.succ()) { - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, i.succ(), (PersistentHashSet) GET.invoke(thisMap, i)); + for (BInteger i = BInteger.ONE; i.lessEqual(size).booleanValue(); i = i.succ()) { + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, i.succ(), (PersistentHashSet) GET.invoke(this.map, i)); } - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, new BInteger(1), (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(arg)))); - return new BRelation<S, T>(resultMap); + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, BInteger.ONE, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(arg)))); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public <R> BRelation<S,BTuple<T,R>> directProduct(BRelation<S,R> arg) { + public <R> BRelation<S, BTuple<T, R>> directProduct(BRelation<S, R> arg) { PersistentHashMap thisMap = (PersistentHashMap) this.map; PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(thisMap)); - PersistentHashMap otherMap = (PersistentHashMap) arg.map; PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object obj : thisDomain) { + for (Object obj : thisDomain) { S domainElement = (S) obj; PersistentHashSet thisRange = (PersistentHashSet) GET.invoke(thisMap, domainElement); - PersistentHashSet otherRange = (PersistentHashSet) GET.invoke(otherMap, domainElement); - if(otherRange == null) { + PersistentHashSet otherRange = (PersistentHashSet) GET.invoke((PersistentHashMap) arg.map, domainElement); + if (otherRange == null) { continue; } PersistentHashSet resultRange = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke())); - for(Object lhs : thisRange) { - for(Object rhs : otherRange) { + for (Object lhs : thisRange) { + for (Object rhs : otherRange) { T lhsElement = (T) lhs; R rhsElement = (R) rhs; - resultRange = (PersistentHashSet) UNION.invoke(resultRange, SET.invoke(SEQ.invoke(LIST.invoke(new BTuple<T,R>(lhsElement, rhsElement))))); + resultRange = (PersistentHashSet) UNION.invoke(resultRange, SET.invoke(SEQ.invoke(LIST.invoke(new BTuple<>(lhsElement, rhsElement))))); } } resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, resultRange); } - return new BRelation<S, BTuple<T, R>>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public <R, A> BRelation<BTuple<S,R>,BTuple<T,A>> parallelProduct(BRelation<R,A> arg) { + public <R, A> BRelation<BTuple<S, R>, BTuple<T, A>> parallelProduct(BRelation<R, A> arg) { PersistentHashMap thisMap = (PersistentHashMap) this.map; PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(thisMap)); @@ -631,8 +593,8 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object domainElementThis : thisDomain) { - for(Object domaineElementOther : otherDomain) { + for (Object domainElementThis : thisDomain) { + for (Object domaineElementOther : otherDomain) { S domainElementThisElement = (S) domainElementThis; R domainElementOtherElement = (R) domaineElementOther; @@ -640,289 +602,253 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { PersistentHashSet otherRange = (PersistentHashSet) GET.invoke(otherMap, domainElementOtherElement); PersistentHashSet resultRange = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke())); - for(Object lhs : thisRange) { - for(Object rhs : otherRange) { + for (Object lhs : thisRange) { + for (Object rhs : otherRange) { T lhsElement = (T) lhs; A rhsElement = (A) rhs; - resultRange = (PersistentHashSet) UNION.invoke(resultRange, SET.invoke(SEQ.invoke(LIST.invoke(new BTuple<T,A>(lhsElement, rhsElement))))); + resultRange = (PersistentHashSet) UNION.invoke(resultRange, SET.invoke(SEQ.invoke(LIST.invoke(new BTuple<>(lhsElement, rhsElement))))); } } - BTuple<S,R> tuple = new BTuple<S,R>(domainElementThisElement, domainElementOtherElement); + BTuple<S, R> tuple = new BTuple<S, R>(domainElementThisElement, domainElementOtherElement); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, resultRange); } } - return new BRelation<BTuple<S, R>, BTuple<T, A>>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public <R> BRelation<S,R> composition(BRelation<T,R> arg) { + public <R> BRelation<S, R> composition(BRelation<T, R> arg) { PersistentHashMap thisMap = this.map; - PersistentHashMap otherMap = arg.map; - PersistentHashSet thisDomain = (PersistentHashSet) SET.invoke(KEYS.invoke(thisMap)); - PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : thisDomain) { + for (Object e1 : thisDomain) { S domainElement = (S) e1; PersistentHashSet range = (PersistentHashSet) GET.invoke(thisMap, domainElement); PersistentHashSet set = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke())); - if(range == null) { + if (range == null) { break; } - for(Object e2: range) { + for (Object e2 : range) { T rangeElement = (T) e2; - set = (PersistentHashSet) UNION.invoke(set, (PersistentHashSet) GET.invoke(otherMap, rangeElement)); + set = (PersistentHashSet) UNION.invoke(set, (PersistentHashSet) GET.invoke(arg.map, rangeElement)); } - if(set.isEmpty()) { + if (set.isEmpty()) { continue; } resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, set); } - return new BRelation<S, R>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public BRelation<S,S> iterate(BInteger n) { - BRelation<S,S> thisRelation = (BRelation<S,S>) this; - BRelation<S,S> result = (BRelation<S,S>) this; - for(BInteger i = new BInteger(2); i.lessEqual(n).booleanValue(); i = i.succ()) { + public BRelation<S, S> iterate(BInteger n) { + BRelation<S, S> thisRelation = (BRelation<S, S>) this; + BRelation<S, S> result = (BRelation<S, S>) this; + for (BInteger i = BInteger.TWO; i.lessEqual(n).booleanValue(); i = i.succ()) { result = result.composition(thisRelation); } return result; } @SuppressWarnings("unchecked") - public BRelation<S,S> closure() { - BRelation<S,S> thisRelation = (BRelation<S,S>) this; - BRelation<S,S> result = iterate(new BInteger(0)); - BRelation<S,S> nextResult = result.composition(thisRelation); - BRelation<S,S> lastResult = null; + public BRelation<S, S> closure() { + BRelation<S, S> thisRelation = (BRelation<S, S>) this; + BRelation<S, S> result = iterate(BInteger.ZERO); + BRelation<S, S> nextResult = result.composition(thisRelation); + BRelation<S, S> lastResult; do { lastResult = result; result = result.union(nextResult); nextResult = result.composition(thisRelation); - } while(!result.equal(lastResult).booleanValue()); + } while (!result.equal(lastResult).booleanValue()); return result; } @SuppressWarnings("unchecked") - public BRelation<S,S> closure1() { - BRelation<S,S> thisRelation = (BRelation<S,S>) this; - BRelation<S,S> result = (BRelation<S,S>) this; - BRelation<S,S> nextResult = result.composition(thisRelation); - BRelation<S,S> lastResult = null; + public BRelation<S, S> closure1() { + BRelation<S, S> thisRelation = (BRelation<S, S>) this; + BRelation<S, S> result = (BRelation<S, S>) this; + BRelation<S, S> nextResult = result.composition(thisRelation); + BRelation<S, S> lastResult; do { lastResult = result; result = result.union(nextResult); nextResult = result.composition(thisRelation); - } while(!result.equal(lastResult).booleanValue()); + } while (!result.equal(lastResult).booleanValue()); return result; } - public BBoolean isInClosure(BTuple<S,S> tuple) { + public BBoolean isInClosure(BTuple<S, S> tuple) { S projection1 = tuple.projection1(); S projection2 = tuple.projection2(); - if(projection1.equals(projection2)) { + if (projection1.equals(projection2)) { PersistentHashSet imageOfProjection1 = (PersistentHashSet) GET.invoke(this.map, projection1); - if(imageOfProjection1 != null && !imageOfProjection1.isEmpty()) { - return new BBoolean(true); + if (imageOfProjection1 != null && !imageOfProjection1.isEmpty()) { + return BBoolean.TRUE; } PersistentHashSet keys = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); for (Object key : keys) { PersistentHashSet image = (PersistentHashSet) GET.invoke(this.map, key); - if(image != null && image.contains(projection2)) { - return new BBoolean(true); + if (image != null && image.contains(projection2)) { + return BBoolean.TRUE; } } } return isInClosure1(tuple); } - public BBoolean isNotInClosure(BTuple<S,S> tuple) { + public BBoolean isNotInClosure(BTuple<S, S> tuple) { return isInClosure(tuple).not(); } @SuppressWarnings("unchecked") - public BBoolean isInClosure1(BTuple<S,S> tuple) { + public BBoolean isInClosure1(BTuple<S, S> tuple) { BBoolean inThisRelation = this.elementOf((BTuple<S, T>) tuple); - if(inThisRelation.booleanValue()) { + if (inThisRelation.booleanValue()) { return inThisRelation; } - BRelation<S,S> thisRelation = (BRelation<S,S>) this; - BRelation<S,S> result = (BRelation<S,S>) this; - BRelation<S,S> nextResult = result.composition(thisRelation); - BRelation<S,S> lastResult = null; + BRelation<S, S> thisRelation = (BRelation<S, S>) this; + BRelation<S, S> result = (BRelation<S, S>) this; + BRelation<S, S> nextResult = result.composition(thisRelation); + BRelation<S, S> lastResult; do { inThisRelation = nextResult.elementOf(tuple); - if(inThisRelation.booleanValue()) { + if (inThisRelation.booleanValue()) { return inThisRelation; } lastResult = result; result = result.union(nextResult); nextResult = result.composition(thisRelation); - } while(!result.equal(lastResult).booleanValue()); - return new BBoolean(false); + } while (!result.equal(lastResult).booleanValue()); + return BBoolean.FALSE; } - public BBoolean isNotInClosure1(BTuple<S,S> tuple) { + public BBoolean isNotInClosure1(BTuple<S, S> tuple) { return isInClosure1(tuple).not(); } @SuppressWarnings("unchecked") - public static <S,T> BRelation<BTuple<S,T>, S> projection1(BSet<S> arg1, BSet<T> arg2) { + public static <S, T> BRelation<BTuple<S, T>, S> projection1(BSet<S> arg1, BSet<T> arg2) { PersistentHashSet argSet1 = (PersistentHashSet) arg1.getSet(); PersistentHashSet argSet2 = (PersistentHashSet) arg2.getSet(); PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : argSet1) { - for(Object e2 : argSet2) { + for (Object e1 : argSet1) { + for (Object e2 : argSet2) { S element1 = (S) e1; T element2 = (T) e2; - BTuple<S,T> tuple = new BTuple<S,T>(element1, element2); + BTuple<S, T> tuple = new BTuple<S, T>(element1, element2); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element1)))); } } - return new BRelation<BTuple<S, T>, S>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R> BRelation<BTuple<S,BTuple<T,R>>, S> projection1(BSet<S> arg1, BRelation<T,R> arg2) { - + public static <S, T, R> BRelation<BTuple<S, BTuple<T, R>>, S> projection1(BSet<S> arg1, BRelation<T, R> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : arg1) { - for(Object e2 : arg2) { - S element1 = (S) e1; - BTuple<T,R> element2 = (BTuple<T,R>) e2; - - BTuple<S,BTuple<T,R>> tuple = new BTuple<S,BTuple<T,R>>(element1, element2); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element1)))); + for (S e1 : arg1) { + for (BTuple<T, R> e2 : arg2) { + BTuple<S, BTuple<T, R>> tuple = new BTuple<>(e1, e2); + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(e1)))); } } - return new BRelation<BTuple<S,BTuple<T,R>>, S>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R> BRelation<BTuple<BTuple<S,T>,R>, BTuple<S,T>> projection1(BRelation<S,T> arg1, BSet<R> arg2) { - + public static <S, T, R> BRelation<BTuple<BTuple<S, T>, R>, BTuple<S, T>> projection1(BRelation<S, T> arg1, BSet<R> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : arg1) { - for(Object e2 : arg2) { - BTuple<S,T> element1 = (BTuple<S,T>) e1; - R element2 = (R) e2; - - BTuple<BTuple<S,T>,R> tuple = new BTuple<BTuple<S,T>,R>(element1, element2); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element1)))); + for (BTuple<S, T> e1 : arg1) { + for (R e2 : arg2) { + BTuple<BTuple<S, T>, R> tuple = new BTuple<>(e1, e2); + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(e1)))); } } - return new BRelation<BTuple<BTuple<S,T>,R>, BTuple<S,T>>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R,A> BRelation<BTuple<BTuple<S,T>,BTuple<R,A>>, BTuple<S,T>> projection1(BRelation<S,T> arg1, BRelation<R,A> arg2) { - + public static <S, T, R, A> BRelation<BTuple<BTuple<S, T>, BTuple<R, A>>, BTuple<S, T>> projection1(BRelation<S, T> arg1, BRelation<R, A> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : arg1) { - for(Object e2 : arg2) { - BTuple<S,T> element1 = (BTuple<S,T>) e1; - BTuple<R,A> element2 = (BTuple<R,A>) e2; - - BTuple<BTuple<S,T>,BTuple<R,A>> tuple = new BTuple<BTuple<S,T>,BTuple<R,A>>(element1, element2); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element1)))); + for (BTuple<S, T> e1 : arg1) { + for (BTuple<R, A> e2 : arg2) { + BTuple<BTuple<S, T>, BTuple<R, A>> tuple = new BTuple<>(e1, e2); + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(e1)))); } } - return new BRelation<BTuple<BTuple<S,T>,BTuple<R,A>>, BTuple<S,T>>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public static <S,T> BRelation<BTuple<S,T>, T> projection2(BSet<S> arg1, BSet<T> arg2) { + public static <S, T> BRelation<BTuple<S, T>, T> projection2(BSet<S> arg1, BSet<T> arg2) { PersistentHashSet argSet1 = (PersistentHashSet) arg1.getSet(); PersistentHashSet argSet2 = (PersistentHashSet) arg2.getSet(); PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : argSet1) { - for(Object e2 : argSet2) { + for (Object e1 : argSet1) { + for (Object e2 : argSet2) { S element1 = (S) e1; T element2 = (T) e2; - BTuple<S,T> tuple = new BTuple<S,T>(element1, element2); + BTuple<S, T> tuple = new BTuple<>(element1, element2); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element2)))); } } - return new BRelation<BTuple<S, T>, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R> BRelation<BTuple<S,BTuple<T,R>>, BTuple<T,R>> projection2(BSet<S> arg1, BRelation<T,R> arg2) { - + public static <S, T, R> BRelation<BTuple<S, BTuple<T, R>>, BTuple<T, R>> projection2(BSet<S> arg1, BRelation<T, R> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : arg1) { - for(Object e2 : arg2) { - S element1 = (S) e1; - BTuple<T,R> element2 = (BTuple<T,R>) e2; - - BTuple<S,BTuple<T,R>> tuple = new BTuple<S,BTuple<T,R>>(element1, element2); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element2)))); + for (S e1 : arg1) { + for (BTuple<T, R> e2 : arg2) { + BTuple<S, BTuple<T, R>> tuple = new BTuple<>(e1, e2); + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(e2)))); } } - return new BRelation<BTuple<S,BTuple<T,R>>, BTuple<T,R>>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R> BRelation<BTuple<BTuple<S,T>,R>, R> projection2(BRelation<S,T> arg1, BSet<R> arg2) { - + public static <S, T, R> BRelation<BTuple<BTuple<S, T>, R>, R> projection2(BRelation<S, T> arg1, BSet<R> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : arg1) { - for(Object e2 : arg2) { - BTuple<S,T> element1 = (BTuple<S,T>) e1; - R element2 = (R) e2; - - BTuple<BTuple<S,T>,R> tuple = new BTuple<BTuple<S,T>,R>(element1, element2); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element2)))); + for (BTuple<S, T> e1 : arg1) { + for (R e2 : arg2) { + BTuple<BTuple<S, T>, R> tuple = new BTuple<>(e1, e2); + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(e2)))); } } - return new BRelation<BTuple<BTuple<S,T>,R>, R>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R,A> BRelation<BTuple<BTuple<S,T>,BTuple<R,A>>, BTuple<R,A>> projection2(BRelation<S,T> arg1, BRelation<R,A> arg2) { - + public static <S, T, R, A> BRelation<BTuple<BTuple<S, T>, BTuple<R, A>>, BTuple<R, A>> projection2(BRelation<S, T> arg1, BRelation<R, A> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e1 : arg1) { - for(Object e2 : arg2) { - BTuple<S,T> element1 = (BTuple<S,T>) e1; - BTuple<R,A> element2 = (BTuple<R,A>) e2; - - BTuple<BTuple<S,T>,BTuple<R,A>> tuple = new BTuple<BTuple<S,T>,BTuple<R,A>>(element1, element2); - resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(element2)))); + for (BTuple<S, T> e1 : arg1) { + for (BTuple<R, A> e2 : arg2) { + BTuple<BTuple<S, T>, BTuple<R, A>> tuple = new BTuple<>(e1, e2); + resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, tuple, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(e2)))); } } - return new BRelation<BTuple<BTuple<S,T>,BTuple<R,A>>, BTuple<R,A>>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public BRelation<S,BSet<T>> fnc() { - PersistentHashMap thisMap = this.map; + public BRelation<S, BSet<T>> fnc() { PersistentHashSet domain = this.domain().getSet(); - PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(Object e : domain) { + for (Object e : domain) { S domainElement = (S) e; - PersistentHashSet range = (PersistentHashSet) GET.invoke(thisMap, e); - BSet<T> rangeSet = new BSet<T>(range); + PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, e); + BSet<T> rangeSet = new BSet<>(range); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke(rangeSet)))); } - return new BRelation<S, BSet<T>>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public BRelation rel() { BSet<S> domain = this.domain(); - PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(S domainElement : domain) { + for (S domainElement : domain) { BSet range = (BSet) this.functionCall(domainElement); PersistentHashSet rangeSet = range.getSet(); resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, domainElement, rangeSet); @@ -930,91 +856,83 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { return new BRelation(resultMap); } - @SuppressWarnings("unchecked") - public static <T> BRelation<T,T> identity(BSet<T> arg) { + public static <T> BRelation<T, T> identity(BSet<T> arg) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(T e : arg) { + for (T e : arg) { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e, SET.invoke(SEQ.invoke(LIST.invoke(e)))); } - return new BRelation<T, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T> BRelation<BTuple<S,T>,BTuple<S,T>> identity(BRelation<S,T> arg) { + public static <S, T> BRelation<BTuple<S, T>, BTuple<S, T>> identity(BRelation<S, T> arg) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BTuple<S,T> e : arg) { + for (BTuple<S, T> e : arg) { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e, SET.invoke(SEQ.invoke(LIST.invoke(e)))); } - return new BRelation<BTuple<S,T>,BTuple<S,T>>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T> BRelation<S,T> cartesianProduct(BSet<S> arg1, BSet<T> arg2) { + public static <S, T> BRelation<S, T> cartesianProduct(BSet<S> arg1, BSet<T> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(S e1 : arg1) { - if(!arg2.getSet().isEmpty()) { + for (S e1 : arg1) { + if (!arg2.getSet().isEmpty()) { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e1, arg2.getSet()); } } - return new BRelation<S, T>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R> BRelation<BTuple<S,T>, R> cartesianProduct(BRelation<S,T> arg1, BSet<R> arg2) { + public static <S, T, R> BRelation<BTuple<S, T>, R> cartesianProduct(BRelation<S, T> arg1, BSet<R> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BTuple<S,T> e1 : arg1) { - if(!arg2.getSet().isEmpty()) { + for (BTuple<S, T> e1 : arg1) { + if (!arg2.getSet().isEmpty()) { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e1, arg2.getSet()); } } return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R> BRelation<S,BTuple<T,R>> cartesianProduct(BSet<S> arg1, BRelation<T,R> arg2) { + public static <S, T, R> BRelation<S, BTuple<T, R>> cartesianProduct(BSet<S> arg1, BRelation<T, R> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(S e1 : arg1) { + for (S e1 : arg1) { PersistentHashSet rangeSet = PersistentHashSet.EMPTY; - for(BTuple<T,R> e2 : arg2) { + for (BTuple<T, R> e2 : arg2) { rangeSet = (PersistentHashSet) UNION.invoke(rangeSet, SET.invoke(SEQ.invoke(LIST.invoke(e2)))); } - if(!rangeSet.isEmpty()) { + if (!rangeSet.isEmpty()) { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e1, rangeSet); } } - return new BRelation<S,BTuple<T,R>>(resultMap); + return new BRelation<>(resultMap); } - @SuppressWarnings("unchecked") - public static <S,T,R,A> BRelation<BTuple<S,T>,BTuple<R,A>> cartesianProduct(BRelation<S,T> arg1, BRelation<R,A> arg2) { + public static <S, T, R, A> BRelation<BTuple<S, T>, BTuple<R, A>> cartesianProduct(BRelation<S, T> arg1, BRelation<R, A> arg2) { PersistentHashMap resultMap = PersistentHashMap.EMPTY; - for(BTuple<S,T> e1 : arg1) { + for (BTuple<S, T> e1 : arg1) { PersistentHashSet rangeSet = PersistentHashSet.EMPTY; - for(BTuple<R,A> e2 : arg2) { + for (BTuple<R, A> e2 : arg2) { rangeSet = (PersistentHashSet) UNION.invoke(rangeSet, SET.invoke(SEQ.invoke(LIST.invoke(e2)))); } - if(!rangeSet.isEmpty()) { + if (!rangeSet.isEmpty()) { resultMap = (PersistentHashMap) ASSOC.invoke(resultMap, e1, rangeSet); } } - return new BRelation<BTuple<S,T>,BTuple<R,A>>(resultMap); + return new BRelation<>(resultMap); } @SuppressWarnings("unchecked") - public BTuple<S,T> nondeterminism(int index) { + public BTuple<S, T> nondeterminism(int index) { int size = this.size(); - if(index >= size) { + if (index >= size) { return null; } - PersistentHashMap thisMap = this.map; PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); - int i = 0; - for(Object domObj : domain) { + for (Object domObj : domain) { PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, (S) domObj); - for(Object rangeObj : range) { - if(i == index) { - return new BTuple<S,T>((S) domObj, (T) rangeObj); + for (Object rangeObj : range) { + if (i == index) { + return new BTuple<>((S) domObj, (T) rangeObj); } i++; } @@ -1023,15 +941,13 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public BTuple<S,T> nondeterminism() { - PersistentHashMap thisMap = this.map; + public BTuple<S, T> nondeterminism() { PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); - int index = (int) Math.floor(Math.random() * domain.size()); int i = 0; S domainElement = null; - for(Object obj : domain) { - if(i == index) { + for (Object obj : domain) { + if (i == index) { domainElement = (S) obj; break; } @@ -1039,14 +955,14 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, domainElement); - index = (int) Math.floor(Math.random() * range.size()); - i = 0; - if(range == null) { + if (range == null) { return null; } - for(Object obj : range) { - if(i == index) { - return new BTuple<S,T>(domainElement, (T) obj); + index = (int) Math.floor(Math.random() * range.size()); + i = 0; + for (Object obj : range) { + if (i == index) { + return new BTuple<>(domainElement, (T) obj); } i++; } @@ -1060,7 +976,7 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { @SuppressWarnings("unchecked") public <R1, R2> BBoolean isTotal(BRelation<R1, R2> domain) { BSet<BTuple<R1, R2>> domainAsSet = new BSet<BTuple<R1, R2>>(); - for(BTuple<R1, R2> tuple: domain) { + for (BTuple<R1, R2> tuple : domain) { domainAsSet = domainAsSet.union(new BSet<>(tuple)); } return this.domain().equal((BSet<S>) domainAsSet); @@ -1072,23 +988,23 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } public BBoolean isTotalInteger() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isTotalNatural() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isTotalNatural1() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isTotalString() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isTotalStruct() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isPartial(BSet<S> domain) { @@ -1096,76 +1012,76 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public <A1,A2> BBoolean isPartial(BRelation<A1, A2> domain) { - for(S element : this.domain()) { + public <A1, A2> BBoolean isPartial(BRelation<A1, A2> domain) { + for (S element : this.domain()) { BTuple<A1, A2> elementAsTuple = (BTuple<A1, A2>) element; PersistentHashSet range = (PersistentHashSet) GET.invoke(domain.map, elementAsTuple.projection1()); - if(range == null) { - return new BBoolean(false); + if (range == null) { + return BBoolean.FALSE; } - if(!range.contains(elementAsTuple.projection2())) { - return new BBoolean(false); + if (!range.contains(elementAsTuple.projection2())) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isPartialBoolean() { - for(S e : this.domain()) { - if(e instanceof BBoolean) { - return new BBoolean(true); + for (S e : this.domain()) { + if (e instanceof BBoolean) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isPartialInteger() { - for(S e : this.domain()) { - if(e instanceof BInteger) { - return new BBoolean(true); + for (S e : this.domain()) { + if (e instanceof BInteger) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isPartialNatural() { - for(S e : this.domain()) { - if(e instanceof BInteger && !((BInteger)e).isNatural().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BInteger && !((BInteger) e).isNatural().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isPartialNatural1() { - for(S e : this.domain()) { - if(e instanceof BInteger && !((BInteger)e).isNatural1().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BInteger && !((BInteger) e).isNatural1().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isPartialString() { - for(S e : this.domain()) { - if(e instanceof BString && !((BString) e).isString().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BString && !((BString) e).isString().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isPartialStruct() { - for(S e : this.domain()) { - if(e instanceof BStruct && !((BStruct) e).isRecord().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BStruct && !((BStruct) e).isRecord().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomain(BSet<S> domain) { @@ -1173,76 +1089,76 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public <A1,A2> BBoolean checkDomain(BRelation<A1, A2> domain) { - for(S element : this.domain()) { + public <A1, A2> BBoolean checkDomain(BRelation<A1, A2> domain) { + for (S element : this.domain()) { BTuple<A1, A2> elementAsTuple = (BTuple<A1, A2>) element; PersistentHashSet range = (PersistentHashSet) GET.invoke(domain.map, elementAsTuple.projection1()); - if(range == null) { - return new BBoolean(false); + if (range == null) { + return BBoolean.FALSE; } - if(!range.contains(elementAsTuple.projection2())) { - return new BBoolean(false); + if (!range.contains(elementAsTuple.projection2())) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomainBoolean() { - for(S e : this.domain()) { - if(e instanceof BBoolean) { - return new BBoolean(true); + for (S e : this.domain()) { + if (e instanceof BBoolean) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomainInteger() { - for(S e : this.domain()) { - if(e instanceof BInteger) { - return new BBoolean(true); + for (S e : this.domain()) { + if (e instanceof BInteger) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomainNatural() { - for(S e : this.domain()) { - if(e instanceof BInteger && !((BInteger) e).isNatural().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BInteger && !((BInteger) e).isNatural().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomainNatural1() { - for(S e : this.domain()) { - if(e instanceof BInteger && !((BInteger) e).isNatural1().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BInteger && !((BInteger) e).isNatural1().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomainString() { - for(S e : this.domain()) { - if(e instanceof BString && !((BString) e).isString().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BString && !((BString) e).isString().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkDomainStruct() { - for(S e : this.domain()) { - if(e instanceof BStruct && !((BStruct) e).isRecord().booleanValue()) { - return new BBoolean(false); + for (S e : this.domain()) { + if (e instanceof BStruct && !((BStruct) e).isRecord().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRange(BSet<T> range) { @@ -1250,90 +1166,90 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } @SuppressWarnings("unchecked") - public <A1,A2> BBoolean checkRange(BRelation<A1, A2> range) { - for(T element : this.range()) { + public <A1, A2> BBoolean checkRange(BRelation<A1, A2> range) { + for (T element : this.range()) { BTuple<A1, A2> elementAsTuple = (BTuple<A1, A2>) element; PersistentHashSet rangeRange = (PersistentHashSet) GET.invoke(range.map, elementAsTuple.projection1()); - if(rangeRange == null) { - return new BBoolean(false); + if (rangeRange == null) { + return BBoolean.FALSE; } - if(!rangeRange.contains(elementAsTuple.projection2())) { - return new BBoolean(false); + if (!rangeRange.contains(elementAsTuple.projection2())) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRangeInteger() { - for(T e : this.range()) { - if(e instanceof BInteger) { - return new BBoolean(true); + for (T e : this.range()) { + if (e instanceof BInteger) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRangeBoolean() { - for(T e : this.range()) { - if(e instanceof BBoolean) { - return new BBoolean(true); + for (T e : this.range()) { + if (e instanceof BBoolean) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRangeNatural() { - for(T e : this.range()) { - if(e instanceof BInteger && !((BInteger) e).isNatural().booleanValue()) { - return new BBoolean(false); + for (T e : this.range()) { + if (e instanceof BInteger && !((BInteger) e).isNatural().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRangeNatural1() { - for(T e : this.range()) { - if(e instanceof BInteger && !((BInteger) e).isNatural1().booleanValue()) { - return new BBoolean(false); + for (T e : this.range()) { + if (e instanceof BInteger && !((BInteger) e).isNatural1().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRangeString() { - for(T e : this.range()) { - if(e instanceof BString && !((BString) e).isString().booleanValue()) { - return new BBoolean(false); + for (T e : this.range()) { + if (e instanceof BString && !((BString) e).isString().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean checkRangeStruct() { - for(T e : this.range()) { - if(e instanceof BStruct && !((BStruct) e).isRecord().booleanValue()) { - return new BBoolean(false); + for (T e : this.range()) { + if (e instanceof BStruct && !((BStruct) e).isRecord().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isRelation() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isFunction() { - for(S element : this.domain()) { + for (S element : this.domain()) { PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, element); - if(range.size() > 1) { - return new BBoolean(false); + if (range.size() > 1) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isSurjection(BSet<T> range) { @@ -1341,42 +1257,42 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } public BBoolean isSurjectionInteger() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isSurjectionNatural() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isSurjectionNatural1() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isSurjectionString() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isSurjectionStruct() { - return new BBoolean(false); + return BBoolean.FALSE; } @SuppressWarnings("unchecked") public BBoolean isInjection() { PersistentHashSet visited = (PersistentHashSet) SET.invoke(SEQ.invoke(LIST.invoke())); - for(S element : this.domain()) { + for (S element : this.domain()) { PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, element); - if(range == null) { + if (range == null) { break; } - for(Object e : range) { + for (Object e : range) { T rangeElement = (T) e; - if(visited.contains(rangeElement)) { - return new BBoolean(false); + if (visited.contains(rangeElement)) { + return BBoolean.FALSE; } visited = (PersistentHashSet) UNION.invoke(visited, SET.invoke(SEQ.invoke(LIST.invoke(rangeElement)))); } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isBijection(BSet<T> range) { @@ -1384,27 +1300,27 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { } public BBoolean isBijectionInteger() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isBijectionNatural() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isBijectionNatural1() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isBijectionString() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isBijectionStruct() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isInDomain(S element) { - return new BBoolean(this.map.containsKey(element)); + return BBoolean.of(this.map.containsKey(element)); } public BBoolean isNotInDomain(S element) { @@ -1415,11 +1331,11 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { PersistentHashSet keys = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); for (Object key : keys) { PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, key); - if(range != null && range.contains(element)) { - return new BBoolean(true); + if (range != null && range.contains(element)) { + return BBoolean.TRUE; } } - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isNotInRange(T element) { @@ -1429,41 +1345,41 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { public BBoolean isInRelationalImage(T element, BSet<S> set) { for (S key : set) { PersistentHashSet image = (PersistentHashSet) GET.invoke(this.map, key); - if(image != null && image.contains(element)) { - return new BBoolean(true); + if (image != null && image.contains(element)) { + return BBoolean.TRUE; } } - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean isNotInRelationalImage(T element, BSet<S> set) { return isInRelationalImage(element, set).not(); } - public <R> BBoolean isInComposition(BTuple<S,R> tuple, BRelation<T,R> arg) { + public <R> BBoolean isInComposition(BTuple<S, R> tuple, BRelation<T, R> arg) { S projection1 = tuple.projection1(); R projection2 = tuple.projection2(); PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, projection1); - if(range != null) { + if (range != null) { for (Object value : range) { PersistentHashSet range2 = (PersistentHashSet) GET.invoke(arg.map, value); if (range2 != null && range2.contains(projection2)) { - return new BBoolean(true); + return BBoolean.TRUE; } } } - return new BBoolean(false); + return BBoolean.FALSE; } - public <R> BBoolean isNotInComposition(BTuple<S,R> tuple, BRelation<T,R> arg) { + public <R> BBoolean isNotInComposition(BTuple<S, R> tuple, BRelation<T, R> arg) { return isInComposition(tuple, arg).not(); } @SuppressWarnings("unchecked") @Override - public Iterator<BTuple<S,T>> iterator() { + public Iterator<BTuple<S, T>> iterator() { PersistentHashMap thisMap = this.map; @@ -1475,13 +1391,13 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { @Override public boolean hasNext() { - if(keyIterator == null) { + if (keyIterator == null) { return false; } - if(keyIterator.hasNext()) { + if (keyIterator.hasNext()) { return true; } - if(valueIterator == null) { + if (valueIterator == null) { return false; } return valueIterator.hasNext(); @@ -1491,55 +1407,21 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { @Override public BTuple<S, T> next() { // If there is no next key, then we have already iterated through the relation - if(currentLhs == null) { + if (currentLhs == null) { return null; } - if(valueIterator == null || !valueIterator.hasNext()) { + if (valueIterator == null || !valueIterator.hasNext()) { currentLhs = keyIterator.next(); valueIterator = currentLhs == null ? null : ((PersistentHashSet) thisMap.get(currentLhs)).iterator(); } - if(currentLhs == null || !valueIterator.hasNext()) { + if (currentLhs == null || !valueIterator.hasNext()) { return null; } - return new BTuple<S,T>(currentLhs, valueIterator.next()); + return new BTuple<S, T>(currentLhs, valueIterator.next()); } }; } - - @SuppressWarnings("unchecked") - public java.lang.String toString() { - - PersistentHashMap thisMap = this.map; - PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(thisMap)); - - int size = this.size(); - int i = 0; - - StringBuffer sb = new StringBuffer(); - sb.append("{"); - for(Object e1 : domain) { - S domainElement = (S) e1; - PersistentHashSet range = (PersistentHashSet) GET.invoke(thisMap, domainElement); - if(range == null) { - break; - } - for(Object e2 : range) { - T rangeElement = (T) e2; - sb.append("("); - sb.append(domainElement.toString()); - sb.append(" |-> "); - sb.append(rangeElement.toString()); - sb.append(")"); - if (i+1 < size) { - sb.append(", "); - } - i++; - } - } - sb.append("}"); - return sb.toString(); - } } diff --git a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BSet.java b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BSet.java index 281c01e07..d1661ee2e 100755 --- a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BSet.java +++ b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BSet.java @@ -1,55 +1,28 @@ package de.hhu.stups.btypes; -import clojure.java.api.Clojure; -import clojure.lang.AFn; -import clojure.lang.IFn; -import clojure.lang.PersistentHashSet; -import clojure.lang.RT; -import clojure.lang.Var; - import java.util.Collection; +import java.util.Collections; import java.util.Iterator; -import java.util.Set; import java.util.LinkedList; -import java.util.Queue; -import java.util.Optional; - -import java.lang.reflect.GenericDeclaration; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.lang.reflect.Method; - import java.util.Objects; +import java.util.Optional; +import java.util.Queue; +import java.util.Set; -public class BSet<T> implements Set<T>, BObject { - - private static final class createBInteger extends AFn { - @Override - public Object invoke(Object obj) { - return new BInteger(Integer.parseInt(obj.toString())); - } - } - - protected static final Var SET; - - protected static final Var EMPTY; - - protected static final Var COUNT; - - protected static final IFn INTERSECTION; - - protected static final IFn UNION; - - protected static final IFn DIFFERENCE; - - protected static final IFn RANGE; - - protected static final IFn MAP; - - protected static final IFn INC; +import clojure.java.api.Clojure; +import clojure.lang.IFn; +import clojure.lang.PersistentHashSet; +import clojure.lang.RT; +import clojure.lang.Var; - protected static final IFn CREATE_INTEGER; +public final class BSet<T> implements BObject, Set<T> { + private static final Var SET; + private static final Var EMPTY; + private static final Var COUNT; + private static final IFn INTERSECTION; + private static final IFn UNION; + private static final IFn DIFFERENCE; static { RT.var("clojure.core", "require").invoke(Clojure.read("clojure.set")); @@ -59,27 +32,22 @@ public class BSet<T> implements Set<T>, BObject { INTERSECTION = RT.var("clojure.set", "intersection"); UNION = RT.var("clojure.set", "union"); DIFFERENCE = RT.var("clojure.set", "difference"); - RANGE = RT.var("clojure.core", "range"); - MAP = RT.var("clojure.core", "map"); - INC = RT.var("clojure.core", "inc"); - CREATE_INTEGER = new createBInteger(); } - protected final PersistentHashSet set; + private final PersistentHashSet set; - public BSet(PersistentHashSet elements) { - this.set = elements; + BSet(PersistentHashSet elements) { + this.set = Objects.requireNonNull(elements, "elements"); } - @SuppressWarnings("unchecked") @SafeVarargs public BSet(T... elements) { this.set = (PersistentHashSet) SET.invoke(elements); } - public java.lang.String toString() { + public String toString() { Iterator<T> it = this.iterator(); - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("{"); while (it.hasNext()) { T b = it.next(); @@ -116,34 +84,31 @@ public class BSet<T> implements Set<T>, BObject { throw new UnsupportedOperationException(); } - @SuppressWarnings("unchecked") public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (o == null || getClass() != o.getClass()) + } else if (!(o instanceof BSet)) { return false; - - BSet<T> bObjects = (BSet<T>) o; - - return set.equals(bObjects.set); + } else { + return this.set.equals(((BSet<?>) o).set); + } } public int hashCode() { - return set.hashCode(); + return this.set.hashCode(); } public boolean removeAll(Collection<?> c) { throw new UnsupportedOperationException(); } - @SuppressWarnings("unchecked") - public T[] toArray() { - return (T[]) set.toArray(); + public Object[] toArray() { + return set.toArray(); } @SuppressWarnings("unchecked") - public <T> T[] toArray(T[] a) { - return (T[]) set.toArray(a); + public <A> A[] toArray(A[] a) { + return (A[]) set.toArray(a); } public boolean containsAll(Collection<?> c) { @@ -164,104 +129,104 @@ public class BSet<T> implements Set<T>, BObject { } public BSet<T> intersect(BSet<T> set) { - return new BSet<T>((PersistentHashSet) INTERSECTION.invoke(this.set, set.set)); + return new BSet<>((PersistentHashSet) INTERSECTION.invoke(this.set, set.set)); + } + + public BSet<T> difference(BSet<T> set) { + return new BSet<>((PersistentHashSet) DIFFERENCE.invoke(this.set, set.set)); + } + + public BSet<T> union(BSet<T> set) { + return new BSet<>((PersistentHashSet) UNION.invoke(this.set, set.set)); } @SuppressWarnings("unchecked") - public <K extends BObject> T intersectForSets() { - if(set.isEmpty()) { + public <K extends BObject> T unionForSets() { + if (set.isEmpty()) { return (T) new BSet<K>(); } else { return (T) this.set.stream() - .reduce((a, e) -> ((BSet<K>) a).intersect((BSet<K>) e)).get(); + .reduce(new BSet<K>(), (a, e) -> ((BSet<K>) a).union((BSet<K>) e)); } } @SuppressWarnings("unchecked") - public <T1 extends BObject, T2 extends BObject> T intersectForRelations() { - if(set.isEmpty()) { - return (T) new BRelation<T1,T2>(); + public <T1 extends BObject, T2 extends BObject> T unionForRelations() { + if (set.isEmpty()) { + return (T) new BRelation<T1, T2>(); } else { return (T) this.set.stream() - .reduce((a, e) -> ((BRelation<T1, T2>) a).intersect((BRelation<T1, T2>) e)).get(); + .reduce(new BRelation<T1, T2>(), (a, e) -> ((BRelation<T1, T2>) a).union((BRelation<T1, T2>) e)); } } - public BSet<T> difference(BSet<T> set) { - return new BSet<T>((PersistentHashSet) DIFFERENCE.invoke(this.set, set.set)); - } - - public BSet<T> union(BSet<T> set) { - return new BSet<T>((PersistentHashSet) UNION.invoke(this.set, set.set)); - } @SuppressWarnings("unchecked") - public <K extends BObject> T unionForSets() { - if(set.isEmpty()) { + public <K extends BObject> T intersectForSets() { + if (set.isEmpty()) { return (T) new BSet<K>(); } else { return (T) this.set.stream() - .reduce(new BSet<K>(), (a, e) -> ((BSet<K>) a).union((BSet<K>) e)); + .reduce((a, e) -> ((BSet<K>) a).intersect((BSet<K>) e)).get(); } } @SuppressWarnings("unchecked") - public <T1 extends BObject, T2 extends BObject> T unionForRelations() { - if(set.isEmpty()) { - return (T) new BRelation<T1,T2>(); + public <T1 extends BObject, T2 extends BObject> T intersectForRelations() { + if (set.isEmpty()) { + return (T) new BRelation<T1, T2>(); } else { return (T) this.set.stream() - .reduce(new BRelation<T1, T2>(), (a, e) -> ((BRelation<T1, T2>) a).union((BRelation<T1, T2>) e)); + .reduce((a, e) -> ((BRelation<T1, T2>) a).intersect((BRelation<T1, T2>) e)).get(); } } public static BSet<BInteger> interval(BInteger a, BInteger b) { PersistentHashSet persistentSet = PersistentHashSet.create(); - for(BInteger i = a; i.lessEqual(b).booleanValue(); i = i.plus(new BInteger(1))) { + for (BInteger i = a; i.lessEqual(b).booleanValue(); i = i.succ()) { persistentSet = (PersistentHashSet) persistentSet.cons(i); } - return new BSet<BInteger>(persistentSet); + return new BSet<>(persistentSet); } - public BInteger card() { - return new BInteger((int) COUNT.invoke(this.set)); + return BInteger.of((int) COUNT.invoke(this.set)); } public BInteger _size() { - return new BInteger((int) COUNT.invoke(this.set)); + return BInteger.of((int) COUNT.invoke(this.set)); } public BBoolean elementOf(T object) { - return new BBoolean(this.set.contains(object)); + return BBoolean.of(this.set.contains(object)); } public BBoolean notElementOf(T object) { - return new BBoolean(!this.set.contains(object)); + return BBoolean.of(!this.set.contains(object)); } public BBoolean equal(BSet<T> o) { - return new BBoolean(equals(o)); + return BBoolean.of(equals(o)); } public BBoolean unequal(BSet<T> o) { - return new BBoolean(!equals(o)); + return BBoolean.of(!equals(o)); } public BBoolean subset(BSet<T> set) { - return new BBoolean(set.containsAll(this)); + return BBoolean.of(set.containsAll(this)); } public BBoolean notSubset(BSet<T> set) { - return new BBoolean(!set.containsAll(this)); + return BBoolean.of(!set.containsAll(this)); } public BBoolean strictSubset(BSet<T> set) { - return new BBoolean(set.size() != this.set.size() && set.containsAll(this)); + return BBoolean.of(set.size() != this.set.size() && set.containsAll(this)); } public BBoolean strictNotSubset(BSet<T> set) { - return new BBoolean(set.size() == this.set.size() || !set.containsAll(this)); + return BBoolean.of(set.size() == this.set.size() || !set.containsAll(this)); } public T nondeterminism() { @@ -269,29 +234,28 @@ public class BSet<T> implements Set<T>, BObject { return nondeterminism(index); } + @SuppressWarnings("unchecked") public T nondeterminism(int index) { - if(index >= this.size()) { + if (index >= this.size()) { return null; } - return toArray()[index]; + return (T) toArray()[index]; } @SuppressWarnings("unchecked") public BInteger min() { - Optional<BInteger> result = this.set.stream().reduce((a,b) -> ((BInteger) a).lessEqual((BInteger) b).booleanValue() ? (BInteger) a : (BInteger) b); - if(result.isPresent()) { - return result.get(); + if (this.set.isEmpty()) { + throw new RuntimeException("Minimum does not exist"); } - throw new RuntimeException("Minumum does not exist"); + return (BInteger) Collections.min(this.set); } @SuppressWarnings("unchecked") public BInteger max() { - Optional<BInteger> result = this.set.stream().reduce((a,b) -> ((BInteger) a).greaterEqual((BInteger) b).booleanValue() ? (BInteger) a : (BInteger) b); - if(result.isPresent()) { - return result.get(); + if (this.set.isEmpty()) { + throw new RuntimeException("Maximum does not exist"); } - throw new RuntimeException("Maximum does not exist"); + return (BInteger) Collections.max(this.set); } @SuppressWarnings("unchecked") @@ -301,13 +265,13 @@ public class BSet<T> implements Set<T>, BObject { Queue<K> queue = new LinkedList<>(); queue.add(start); result = result.union(new BSet<K>(start)); - while(!queue.isEmpty()) { + while (!queue.isEmpty()) { K currentSet = queue.remove(); - for(T element : this) { + for (T element : this) { K nextSet = (K) currentSet.union(new BSet<T>(element)); int previousSize = result.size(); - result = result.union(new BSet<K>(nextSet)); - if(previousSize < result.size()) { + result = result.union(new BSet<>(nextSet)); + if (previousSize < result.size()) { queue.add(nextSet); } } @@ -315,9 +279,9 @@ public class BSet<T> implements Set<T>, BObject { return result; } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public <K extends BSet<T>> BSet<K> pow1() { - BSet<T> emptySet = new BSet<T>(); + BSet<T> emptySet = new BSet<>(); return this.pow().difference(new BSet(emptySet)); } @@ -329,31 +293,31 @@ public class BSet<T> implements Set<T>, BObject { return this.pow1(); } - public BSet<BRelation<BInteger,T>> permutate() { - BSet<BInteger> interval = BSet.interval(new BInteger(1), this._size()); - BSet<BRelation<BInteger,T>> permutations = BRelation.cartesianProduct(interval, this).pow(); - BSet<BRelation<BInteger,T>> result = permutations; - for(BRelation<BInteger, T> permutation : permutations) { - if(!permutation.isBijection(this).booleanValue()) { - result = result.difference(new BSet<BRelation<BInteger, T>>(permutation)); + public BSet<BRelation<BInteger, T>> permutate() { + BSet<BInteger> interval = BSet.interval(BInteger.ONE, this._size()); + BSet<BRelation<BInteger, T>> permutations = BRelation.cartesianProduct(interval, this).pow(); + BSet<BRelation<BInteger, T>> result = permutations; + for (BRelation<BInteger, T> permutation : permutations) { + if (!permutation.isBijection(this).booleanValue()) { + result = result.difference(new BSet<>(permutation)); } } return result; } public BBoolean subsetOfBoolean() { - for(T e : this) { - if(e instanceof BBoolean) { - return new BBoolean(true); + for (T e : this) { + if (e instanceof BBoolean) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean strictSubsetOfBoolean() { - return new BBoolean(subsetOfBoolean().booleanValue() && this.size() < 2); + return BBoolean.of(subsetOfBoolean().booleanValue() && this.size() < 2); } public BBoolean notSubsetOfBoolean() { @@ -361,22 +325,22 @@ public class BSet<T> implements Set<T>, BObject { } public BBoolean equalBoolean() { - return new BBoolean(subsetOfBoolean().booleanValue() && this.size() == 2); + return BBoolean.of(subsetOfBoolean().booleanValue() && this.size() == 2); } public BBoolean unequalBoolean() { - return new BBoolean(subsetOfBoolean().booleanValue() && this.size() < 2); + return BBoolean.of(subsetOfBoolean().booleanValue() && this.size() < 2); } public BBoolean subsetOfInteger() { - for(T e : this) { - if(e instanceof BInteger) { - return new BBoolean(true); + for (T e : this) { + if (e instanceof BInteger) { + return BBoolean.TRUE; } else { - return new BBoolean(false); + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean strictSubsetOfInteger() { @@ -388,43 +352,43 @@ public class BSet<T> implements Set<T>, BObject { } public BBoolean equalInteger() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean unequalInteger() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean equalNatural() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean unequalNatural() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean equalNatural1() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean unequalNatural1() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean equalString() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean unequalString() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean equalStruct() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean unequalStruct() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean notStrictSubsetOfInteger() { @@ -432,13 +396,13 @@ public class BSet<T> implements Set<T>, BObject { } public BBoolean subsetOfNatural() { - for(T e : this) { + for (T e : this) { BInteger element = (BInteger) e; - if(!element.isNatural().booleanValue()) { - return new BBoolean(false); + if (!element.isNatural().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean strictSubsetOfNatural() { @@ -454,13 +418,13 @@ public class BSet<T> implements Set<T>, BObject { } public BBoolean subsetOfNatural1() { - for(T e : this) { + for (T e : this) { BInteger element = (BInteger) e; - if(!element.isNatural1().booleanValue()) { - return new BBoolean(false); + if (!element.isNatural1().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean strictSubsetOfNatural1() { @@ -476,13 +440,13 @@ public class BSet<T> implements Set<T>, BObject { } public BBoolean subsetOfString() { - for(T e : this) { + for (T e : this) { BString element = (BString) e; - if(!element.isString().booleanValue()) { - return new BBoolean(false); + if (!element.isString().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean strictSubsetOfString() { @@ -499,13 +463,13 @@ public class BSet<T> implements Set<T>, BObject { public BBoolean subsetOfStruct() { - for(T e : this) { + for (T e : this) { BStruct element = (BStruct) e; - if(!element.isRecord().booleanValue()) { - return new BBoolean(false); + if (!element.isRecord().booleanValue()) { + return BBoolean.FALSE; } } - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean strictSubsetOfStruct() { @@ -523,4 +487,4 @@ public class BSet<T> implements Set<T>, BObject { public PersistentHashSet getSet() { return set; } -} \ No newline at end of file +} diff --git a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BString.java b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BString.java index 153840920..1892a6539 100755 --- a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BString.java +++ b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BString.java @@ -1,65 +1,53 @@ package de.hhu.stups.btypes; -public class BString implements BObject { - public java.lang.String getValue() { - return value; - } +import java.util.Objects; - private final java.lang.String value; +public final class BString implements BObject { - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; + private final String value; - BString bString = (BString) o; - - if (!value.equals(bString.value)) - return false; - - return true; + public BString(String value) { + this.value = Objects.requireNonNull(value, "value"); } - public int length() { - return value.length(); + public String getValue() { + return this.value; } - public boolean isEmpty() { - return value.isEmpty(); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } else if (!(o instanceof BString)) { + return false; + } else { + return this.value.equals(((BString) o).value); + } } @Override public int hashCode() { - return value.hashCode(); - } - - public BString(java.lang.String value) { - this.value = value; + return this.value.hashCode(); } - public java.lang.String toString() { + @Override + public String toString() { return '"' + this.value + '"'; } - public boolean isCase(Object o) { - return this.value.equals(o); - } - public BBoolean isString() { - return new BBoolean(true); + return BBoolean.TRUE; } public BBoolean isNotString() { - return new BBoolean(false); + return BBoolean.FALSE; } public BBoolean equal(BString o) { - return new BBoolean(equals(o)); + return BBoolean.of(this.equals(o)); } public BBoolean unequal(BString o) { - return new BBoolean(!equals(o)); + return BBoolean.of(!this.equals(o)); } } diff --git a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BStruct.java b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BStruct.java index 769802d4a..a8ec6d851 100755 --- a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BStruct.java +++ b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BStruct.java @@ -1,12 +1,15 @@ package de.hhu.stups.btypes; -public class BStruct implements BObject { +public abstract class BStruct implements BObject { - public BBoolean isRecord() { - return new BBoolean(true); - } + protected BStruct() { + } - public BBoolean isNotRecord() { - return new BBoolean(false); - } + public BBoolean isRecord() { + return BBoolean.TRUE; + } + + public BBoolean isNotRecord() { + return BBoolean.FALSE; + } } diff --git a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BTuple.java b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BTuple.java index f14727628..32876de3f 100755 --- a/btypes_primitives/src/main/java/de/hhu/stups/btypes/BTuple.java +++ b/btypes_primitives/src/main/java/de/hhu/stups/btypes/BTuple.java @@ -2,57 +2,49 @@ package de.hhu.stups.btypes; import java.util.Objects; -public class BTuple<S,T> implements BObject { +public final class BTuple<S, T> implements BObject { - private S first; - - private T second; + private final S first; + private final T second; public BTuple(S first, T second) { - if (first == null || second == null) { - throw new IllegalArgumentException(); - } - this.first = first; - this.second = second; + this.first = Objects.requireNonNull(first, "first"); + this.second = Objects.requireNonNull(second, "second"); } - public boolean equals(Object o) { if (this == o) { return true; - } - if (o == null || getClass() != o.getClass()) { + } else if (!(o instanceof BTuple)) { return false; + } else { + BTuple<?, ?> that = (BTuple<?, ?>) o; + return this.first.equals(that.first) && this.second.equals(that.second); } - - BTuple bObjects = (BTuple) o; - // elements is never null - return bObjects.projection1().equals(this.first) && bObjects.projection2().equals(this.second); } public int hashCode() { - return Objects.hash(first, second); + return Objects.hash(this.first, this.second); } @Override - public java.lang.String toString() { - return "(" + this.projection1() + " |-> " + this.projection2() + ')'; + public String toString() { + return "(" + this.first + " |-> " + this.second + ")"; } public S projection1() { - return first; + return this.first; } public T projection2() { - return second; + return this.second; } - public BBoolean equal(BTuple o) { - return new BBoolean(equals(o)); + public BBoolean equal(BTuple<?, ?> o) { + return BBoolean.of(this.equals(o)); } - public BBoolean unequal(BTuple o) { - return new BBoolean(!equals(o)); + public BBoolean unequal(BTuple<?, ?> o) { + return BBoolean.of(!this.equals(o)); } - } diff --git a/btypes_primitives/src/test/java/de/hhu/stup/btypes/BIntegerTest.java b/btypes_primitives/src/test/java/de/hhu/stup/btypes/BIntegerTest.java new file mode 100644 index 000000000..3668c21b9 --- /dev/null +++ b/btypes_primitives/src/test/java/de/hhu/stup/btypes/BIntegerTest.java @@ -0,0 +1,79 @@ +package de.hhu.stup.btypes; + +import java.math.BigInteger; + +import de.hhu.stups.btypes.BInteger; + +import org.junit.Test; +import org.junit.experimental.runners.Enclosed; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import static org.junit.Assert.assertEquals; + +@RunWith(Enclosed.class) +public class BIntegerTest { + + private static BInteger toBInt(Object o) { + if (o instanceof BInteger) { + return (BInteger) o; + } else if (o instanceof Integer) { + return BInteger.of((int) o); + } else if (o instanceof Long) { + return BInteger.of((int) o); + } else if (o instanceof BigInteger) { + return BInteger.of((BigInteger) o); + } else { + throw new IllegalArgumentException(); + } + } + + @RunWith(Parameterized.class) + public static class PowerTest { + + @Parameterized.Parameters(name = "{index}: power({0}, {1}) = {2}") + public static Object[][] data() { + return new Object[][] { + { 0, 0, 1 }, + { 0, 1, 0 }, + { 0, 2, 0 }, + { 0, 3, 0 }, + { 0, 4, 0 }, + { 0, 5, 0 }, + { 1, 0, 1 }, + { 1, 1, 1 }, + { 1, 2, 1 }, + { 1, 3, 1 }, + { 1, 4, 1 }, + { 1, 5, 1 }, + { 2, 0, 1 }, + { 2, 1, 2 }, + { 2, 2, 4 }, + { 2, 3, 8 }, + { 2, 4, 16 }, + { 2, 5, 32 }, + { 3, 0, 1 }, + { 3, 1, 3 }, + { 3, 2, 9 }, + { 3, 3, 27 }, + { 3, 4, 81 }, + { 3, 5, 243 }, + }; + } + + @Parameterized.Parameter + public Object base; + @Parameterized.Parameter(1) + public Object power; + @Parameterized.Parameter(2) + public Object expected; + + @Test + public void test() { + BInteger base = toBInt(this.base); + BInteger power = toBInt(this.power); + BInteger expected = toBInt(this.expected); + assertEquals(expected, base.power(power)); + } + } +} diff --git a/src/main/resources/de/hhu/stups/codegenerator/JavaTemplate.stg b/src/main/resources/de/hhu/stups/codegenerator/JavaTemplate.stg index c1a28afcb..8e659ae82 100644 --- a/src/main/resources/de/hhu/stups/codegenerator/JavaTemplate.stg +++ b/src/main/resources/de/hhu/stups/codegenerator/JavaTemplate.stg @@ -218,11 +218,11 @@ public static class <name> extends BStruct { <functions; separator="\n\n"> public BBoolean equal(<name> o) { - return new BBoolean(<equalPredicates; separator=" && ">); + return BBoolean.of(<equalPredicates; separator=" && ">); } public BBoolean unequal(<name> o) { - return new BBoolean(<unequalPredicates; separator=" || ">); + return BBoolean.of(<unequalPredicates; separator=" || ">); } public String toString() { @@ -471,25 +471,25 @@ lambda_function_call(arg1, arg2, fromOtherMachine, otherMachine) ::= << >> quantified_predicate(identifier, forall, predicate) ::= << -BBoolean <identifier> = new BBoolean(<if(forall)>true<else>false<endif>); +BBoolean <identifier> = BBoolean.<if(forall)>TRUE<else>FALSE<endif>; <predicate> >> quantified_predicate_evaluation(otherIterationConstructs, identifier, emptyPredicate, hasCondition, conditionalPredicate, predicate, forall) ::= << <otherIterationConstructs> <if(emptyPredicate)> -<identifier> = new BBoolean(<if(forall)>false<else>true<endif>); +<identifier> = BBoolean.<if(forall)>FALSE<else>TRUE<endif>; break; <else> if(<if(forall)>!<endif>(<predicate>).booleanValue()) { - <identifier> = new BBoolean(<if(forall)>false<else>true<endif>); + <identifier> = BBoolean.<if(forall)>FALSE<else>TRUE<endif>; break; } <endif> >> quantified_expression(identifier, identity, useBigInteger, subType, leftType, rightType, evaluation, isInteger, isRelation) ::= << -<if(isInteger)>BInteger <identifier> = <if(useBigInteger)>new BInteger("<identity>")<else>new BInteger(<identity>)<endif>;<else> +<if(isInteger)>BInteger <identifier> = BInteger.of(<identity>);<else> <if(isRelation)>BRelation\<<leftType>, <rightType>\> <identifier> = new BRelation\<<leftType>, <rightType>\>(); <else>BSet\<<subType>\> <identifier> = new BSet\<<subType>\>();<endif><endif> @@ -577,11 +577,11 @@ public enum <name> implements BObject { <enums; separator=", \n">; public BBoolean equal(<name> o) { - return new BBoolean(this == o); + return BBoolean.of(this == o); } public BBoolean unequal(<name> o) { - return new BBoolean(this != o); + return BBoolean.of(this != o); } } >> @@ -813,19 +813,19 @@ binary(arg1,operator,arg2) ::= << >> or(arg1, arg2) ::= << -new BBoolean(<arg1>.booleanValue() || <arg2>.booleanValue()) +BBoolean.of(<arg1>.booleanValue() || <arg2>.booleanValue()) >> and(arg1, arg2) ::= << -new BBoolean(<arg1>.booleanValue() && <arg2>.booleanValue()) +BBoolean.of(<arg1>.booleanValue() && <arg2>.booleanValue()) >> implies(arg1, arg2) ::= << -new BBoolean(!<arg1>.booleanValue() || <arg2>.booleanValue()) +BBoolean.of(!<arg1>.booleanValue() || <arg2>.booleanValue()) >> equivalent(arg1, arg2) ::= << -new BBoolean((!<arg1>.booleanValue() || <arg2>.booleanValue()) && (!<arg2>.booleanValue() || <arg1>.booleanValue())) +<arg1>.equivalent(<arg2>) >> unary(operator, obj, args) ::= << @@ -1135,7 +1135,7 @@ var(locals, body) ::=<< >> boolean_val(val) ::= << -<if(val)>new BBoolean(true)<else>new BBoolean(false)<endif> +BBoolean.<if(val)>TRUE<else>FALSE<endif> >> identifier(identifier, rhsOnLhs, fromOtherMachine, otherMachine) ::= << @@ -1143,7 +1143,7 @@ identifier(identifier, rhsOnLhs, fromOtherMachine, otherMachine) ::= << >> number(number, useBigInteger) ::= << -<if(useBigInteger)>new BInteger("<number>")<else>new BInteger(<number>)<endif> +BInteger.of(<number>) >> infinite_predicate(arg, operator, rhsArguments) ::= << diff --git a/src/test/java/de/hhu/stups/codegenerator/java/TestMachines.java b/src/test/java/de/hhu/stups/codegenerator/java/TestMachines.java index d7f4d330f..770eb997b 100644 --- a/src/test/java/de/hhu/stups/codegenerator/java/TestMachines.java +++ b/src/test/java/de/hhu/stups/codegenerator/java/TestMachines.java @@ -393,6 +393,7 @@ public class TestMachines extends TestJava { } @Test + @Ignore("integer overflow in power law check x**(y*z) = (x**y)**z") public void testArithmeticLaws_With_Execute() throws Exception { testJavaMC("ArithmeticLaws", "ArithmeticLaws", true, 1, false); } diff --git a/src/test/resources/de/hhu/stups/codegenerator/BooleanPredicateAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/BooleanPredicateAddition.stjava index e0d147710..da7032a80 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/BooleanPredicateAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/BooleanPredicateAddition.stjava @@ -1,4 +1,4 @@ public static void main(String[] args) { BooleanPredicate bool = new BooleanPredicate(); - System.out.println(bool.Inc(new BInteger(10))); + System.out.println(bool.Inc(BInteger.of(10))); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/ChoiceAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/ChoiceAddition.stjava index 93a9c8688..a07817a93 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/ChoiceAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/ChoiceAddition.stjava @@ -1,4 +1,4 @@ public static void main(String[] args) { Choice choice = new Choice(); - choice.calculate(new BInteger(3)); + choice.calculate(BInteger.of(3)); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/EquivalenceAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/EquivalenceAddition.stjava index b552ac637..81bf5553d 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/EquivalenceAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/EquivalenceAddition.stjava @@ -1,4 +1,4 @@ public static void main(String[] args) { Equivalence equi = new Equivalence(); - System.out.println(equi.Inc(new BInteger(10))); + System.out.println(equi.Inc(BInteger.of(10))); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/ManyLocalDeclarations2Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/ManyLocalDeclarations2Addition.stjava index f9256a1e6..46f0e1fa1 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/ManyLocalDeclarations2Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/ManyLocalDeclarations2Addition.stjava @@ -1,4 +1,4 @@ public static void main(String[] args) { ManyLocalDeclarations2 locals = new ManyLocalDeclarations2(); - System.out.println(locals.Inc(new BInteger(10)).card()); + System.out.println(locals.Inc(BInteger.of(10)).card()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/ManyLocalDeclarationsAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/ManyLocalDeclarationsAddition.stjava index 899d01b94..bea7bc1ac 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/ManyLocalDeclarationsAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/ManyLocalDeclarationsAddition.stjava @@ -1,4 +1,4 @@ public static void main(String[] args) { ManyLocalDeclarations locals = new ManyLocalDeclarations(); - System.out.println(locals.Inc(new BInteger(10)).card()); + System.out.println(locals.Inc(BInteger.of(10)).card()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/OperationAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/OperationAddition.stjava index dc33ca80e..592efe913 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/OperationAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/OperationAddition.stjava @@ -1,4 +1,4 @@ public static void main(String[] args) { Operation operation = new Operation(); - System.out.println(operation.Inc(new BInteger(10))); + System.out.println(operation.Inc(BInteger.of(10))); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/WhileAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/WhileAddition.stjava index 2f0324171..5e63f5932 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/WhileAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/WhileAddition.stjava @@ -1,4 +1,4 @@ public static void main(String[] args) { While while1 = new While(); - System.out.println(while1.Inc(new BInteger(1))); + System.out.println(while1.Inc(BInteger.of(1))); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_AssertionClockAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_AssertionClockAddition.stjava index d537e352a..166220342 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_AssertionClockAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_AssertionClockAddition.stjava @@ -1,5 +1,5 @@ public static void main(String[] args) { M_AssertionClock program = new M_AssertionClock(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_AssertionExampleAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_AssertionExampleAddition.stjava index 545f16746..6d1e48164 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_AssertionExampleAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_AssertionExampleAddition.stjava @@ -1,5 +1,5 @@ public static void main(String[] args) { M_AssertionExample program = new M_AssertionExample(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(program.getR()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_COUNTAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_COUNTAddition.stjava index fe10d4ed4..e276f3f3c 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_COUNTAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_COUNTAddition.stjava @@ -1,11 +1,11 @@ public static void main(String[] args) { M_COUNT counter = new M_COUNT(); - counter.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + counter.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(counter.getRes()); - counter.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + counter.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(counter.getRes()); for(int i = 0; i < 100; i++) { - counter.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + counter.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); } System.out.println(counter.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock12Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock12Addition.stjava index 5db851c5e..7afd74728 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock12Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock12Addition.stjava @@ -1,11 +1,11 @@ public static void main(String[] args) { M_Clock12 clock = new M_Clock12(); - clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(clock.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock4Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock4Addition.stjava index 4475deade..983dd3ba1 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock4Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock4Addition.stjava @@ -1,11 +1,11 @@ public static void main(String[] args) { M_Clock4 clock = new M_Clock4(); - clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(clock.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock6Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock6Addition.stjava index 1819c4116..1fed686f8 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock6Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock6Addition.stjava @@ -1,11 +1,11 @@ public static void main(String[] args) { M_Clock6 clock = new M_Clock6(); - clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(clock.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock7Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock7Addition.stjava index 340f87d73..5fb310ba7 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock7Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock7Addition.stjava @@ -1,11 +1,11 @@ public static void main(String[] args) { M_Clock7 clock = new M_Clock7(); - clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(clock.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock8Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock8Addition.stjava index b81c96ad5..f6677b056 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock8Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Clock8Addition.stjava @@ -1,11 +1,11 @@ public static void main(String[] args) { M_Clock8 clock = new M_Clock8(); - clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(clock.getRes()); - clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + clock.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(clock.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Current2Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Current2Addition.stjava index 5ad422b6f..7beff2751 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Current2Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Current2Addition.stjava @@ -1,34 +1,34 @@ public static void main(String[] args) { M_Current2 current = new M_Current2(); - current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(current.getRes()); System.out.println(current.getRes1()); System.out.println(current.getRes2()); - current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(current.getRes()); System.out.println(current.getRes1()); System.out.println(current.getRes2()); - current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(current.getRes()); System.out.println(current.getRes1()); System.out.println(current.getRes2()); - current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(current.getRes()); System.out.println(current.getRes1()); System.out.println(current.getRes2()); - current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(current.getRes()); System.out.println(current.getRes1()); System.out.println(current.getRes2()); - current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(current.getRes()); System.out.println(current.getRes1()); System.out.println(current.getRes2()); - current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(current.getRes()); System.out.println(current.getRes1()); System.out.println(current.getRes2()); - current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + current.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(current.getRes()); System.out.println(current.getRes1()); System.out.println(current.getRes2()); diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Current3Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Current3Addition.stjava index 55bb4dab7..c2c0c7d09 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Current3Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Current3Addition.stjava @@ -1,19 +1,19 @@ public static void main(String[] args) { M_Current3 program = new M_Current3(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_CurrentAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_CurrentAddition.stjava index e995479ff..a39245339 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_CurrentAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_CurrentAddition.stjava @@ -1,14 +1,14 @@ public static void main(String[] args) { M_Current program = new M_Current(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getRes1()); System.out.println(program.getRes2()); System.out.println(program.getRes3()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getRes1()); System.out.println(program.getRes2()); System.out.println(program.getRes3()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(5)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(5)))); System.out.println(program.getRes1()); System.out.println(program.getRes2()); System.out.println(program.getRes3()); diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_DivisionAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_DivisionAddition.stjava index e1a53162c..f6ed0fc6b 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_DivisionAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_DivisionAddition.stjava @@ -1,9 +1,9 @@ public static void main(String[] args) { M_Division program = new M_Division(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(0)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(0)))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Fby2Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Fby2Addition.stjava index 171443414..0d9a6ccdd 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Fby2Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Fby2Addition.stjava @@ -1,7 +1,7 @@ public static void main(String[] args) { M_Fby2 program = new M_Fby2(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getZ()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getZ()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Fby3Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Fby3Addition.stjava index 9043983bf..05db6a0b2 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Fby3Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Fby3Addition.stjava @@ -1,13 +1,13 @@ public static void main(String[] args) { M_Fby3 program = new M_Fby3(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getZ()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getZ()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getZ()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getZ()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getZ()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_FbyAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_FbyAddition.stjava index 91d9657fa..190a4ef62 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_FbyAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_FbyAddition.stjava @@ -1,9 +1,9 @@ public static void main(String[] args) { M_Fby program = new M_Fby(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getZ()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getZ()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(5)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(5)))); System.out.println(program.getZ()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_If_Then_Else2Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_If_Then_Else2Addition.stjava index 71064da01..6dc9068d8 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_If_Then_Else2Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_If_Then_Else2Addition.stjava @@ -1,11 +1,11 @@ public static void main(String[] args) { M_If_Then_Else2 program = new M_If_Then_Else2(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getZ()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getZ()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getZ()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getZ()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_If_Then_ElseAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_If_Then_ElseAddition.stjava index c54ab1fd0..052f1c2c9 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_If_Then_ElseAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_If_Then_ElseAddition.stjava @@ -1,9 +1,9 @@ public static void main(String[] args) { M_If_Then_Else program = new M_If_Then_Else(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getZ()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getZ()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getZ()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_LiftAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_LiftAddition.stjava index 7ab0addb9..98ff071fc 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_LiftAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_LiftAddition.stjava @@ -1,19 +1,19 @@ public static void main(String[] args) { M_Lift lift = new M_Lift(); - lift.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + lift.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(lift.getFloor()); - lift.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + lift.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(lift.getFloor()); for(int i = 0; i < 100; i++) { - lift.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + lift.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); } System.out.println(lift.getFloor()); - lift.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + lift.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(lift.getFloor()); for(int i = 0; i < 100; i++) { - lift.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + lift.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); } System.out.println(lift.getFloor()); - lift.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + lift.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(lift.getFloor()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_MachineAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_MachineAddition.stjava index d1be1a6f9..789610eef 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_MachineAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_MachineAddition.stjava @@ -1,15 +1,15 @@ public static void main(String[] args) { M_Machine program = new M_Machine(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getRes()); System.out.println(program.getRes1()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getRes()); System.out.println(program.getRes1()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getRes()); System.out.println(program.getRes1()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getRes()); System.out.println(program.getRes1()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_ModuloAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_ModuloAddition.stjava index e235f2277..a9f5a1f22 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_ModuloAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_ModuloAddition.stjava @@ -1,11 +1,11 @@ public static void main(String[] args) { M_Modulo program = new M_Modulo(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(-1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(-1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(-3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(-3)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(5))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(5))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(-3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(-2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(-3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(-2)))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_MovingItem_mainAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_MovingItem_mainAddition.stjava index 6a07f8d81..eef96d7d9 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_MovingItem_mainAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_MovingItem_mainAddition.stjava @@ -1,34 +1,34 @@ public static void main(String[] args) { M_MovingItem_main program = new M_MovingItem_main(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getStart1()); System.out.println(program.getStart2()); System.out.println(program.getStop()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getStart1()); System.out.println(program.getStart2()); System.out.println(program.getStop()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getStart1()); System.out.println(program.getStart2()); System.out.println(program.getStop()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getStart1()); System.out.println(program.getStart2()); System.out.println(program.getStop()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getStart1()); System.out.println(program.getStart2()); System.out.println(program.getStop()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getStart1()); System.out.println(program.getStart2()); System.out.println(program.getStop()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getStart1()); System.out.println(program.getStart2()); System.out.println(program.getStop()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getStart1()); System.out.println(program.getStart2()); System.out.println(program.getStop()); diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Nil3Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Nil3Addition.stjava index 67aea1b00..4f6744a9b 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Nil3Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Nil3Addition.stjava @@ -1,9 +1,9 @@ public static void main(String[] args) { M_Nil3 program = new M_Nil3(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilAddition.stjava index ecc447c8d..45003ee8b 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilAddition.stjava @@ -1,9 +1,9 @@ public static void main(String[] args) { M_Nil program = new M_Nil(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilChecking2Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilChecking2Addition.stjava index 679584ba8..157c40b49 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilChecking2Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilChecking2Addition.stjava @@ -1,7 +1,7 @@ public static void main(String[] args) { M_NilChecking2 program = new M_NilChecking2(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilChecking5Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilChecking5Addition.stjava index 8c24aa1e9..656d1fe3b 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilChecking5Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilChecking5Addition.stjava @@ -1,13 +1,13 @@ public static void main(String[] args) { M_NilChecking5 program = new M_NilChecking5(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(5)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(5)))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilChecking6Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilChecking6Addition.stjava index 3256ee09e..d0ceec783 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilChecking6Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilChecking6Addition.stjava @@ -1,13 +1,13 @@ public static void main(String[] args) { M_NilChecking6 program = new M_NilChecking6(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(5)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(5)))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilCheckingAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilCheckingAddition.stjava index d4c991d59..9037b0c17 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilCheckingAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NilCheckingAddition.stjava @@ -1,11 +1,11 @@ public static void main(String[] args) { M_NilChecking program = new M_NilChecking(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCallAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCallAddition.stjava index 8639dbf6c..39418c481 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCallAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCallAddition.stjava @@ -1,13 +1,13 @@ public static void main(String[] args) { M_NodeCall program = new M_NodeCall(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(5)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(5)))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCall_Clock2Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCall_Clock2Addition.stjava index 44bd6fecc..e7985ca93 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCall_Clock2Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCall_Clock2Addition.stjava @@ -1,11 +1,11 @@ public static void main(String [] args) { M_NodeCall_Clock2 program = new M_NodeCall_Clock2(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCall_Clock3Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCall_Clock3Addition.stjava index 368dc9e4a..f5889d5ed 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCall_Clock3Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCall_Clock3Addition.stjava @@ -1,11 +1,11 @@ public static void main(String [] args) { M_NodeCall_Clock3 program = new M_NodeCall_Clock3(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCall_ClockAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCall_ClockAddition.stjava index 3d466b112..da666882c 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCall_ClockAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_NodeCall_ClockAddition.stjava @@ -1,11 +1,11 @@ public static void main(String [] args) { M_NodeCall_Clock program = new M_NodeCall_Clock(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre2Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre2Addition.stjava index 63fce1f1e..cc8cfb696 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre2Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre2Addition.stjava @@ -1,18 +1,18 @@ public static void main(String[] args) { M_Pre2 pre = new M_Pre2(); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getRes()); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getRes()); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(pre.getRes()); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getRes()); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre3Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre3Addition.stjava index f79dc5eae..3cf3a3584 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre3Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre3Addition.stjava @@ -1,7 +1,7 @@ public static void main(String[] args) { M_Pre3 pre = new M_Pre3(); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getA()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getA()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre4Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre4Addition.stjava index 9c80dbbf8..095f805d5 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre4Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre4Addition.stjava @@ -1,15 +1,15 @@ public static void main(String[] args) { M_Pre4 pre = new M_Pre4(); - pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(pre.getZ()); - pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(pre.getZ()); - pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(pre.getZ()); - pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(pre.getZ()); - pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(0)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(0)))); System.out.println(pre.getZ()); - pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(-1)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(-1)))); System.out.println(pre.getZ()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre5Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre5Addition.stjava index 83bbaa609..06c7d261e 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre5Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre5Addition.stjava @@ -1,21 +1,21 @@ public static void main(String [] args) { M_Pre5 pre = new M_Pre5(); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre6Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre6Addition.stjava index c8ad8a3e2..b61d12494 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre6Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre6Addition.stjava @@ -1,21 +1,21 @@ public static void main(String [] args) { M_Pre6 pre = new M_Pre6(); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); - pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getRes1()); System.out.println(pre.getRes2()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre7Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre7Addition.stjava index 2b4de24cf..3a95bd83a 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre7Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_Pre7Addition.stjava @@ -1,15 +1,15 @@ public static void main(String [] args) { M_Pre7 pre = new M_Pre7(); - pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getY()); - pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(pre.getY()); - pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(pre.getY()); - pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getY()); - pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(5))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(5))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(pre.getY()); - pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(6))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + pre.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(6))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(pre.getY()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_PreAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_PreAddition.stjava index 61e232d07..9a25da576 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_PreAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_PreAddition.stjava @@ -1,11 +1,11 @@ public static void main(String [] args) { M_Pre program = new M_Pre(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(0)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(0)))); System.out.println(program.getD()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(0)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(0)))); System.out.println(program.getD()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(0)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(0)))); System.out.println(program.getD()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(0)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(0)))); System.out.println(program.getD()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_SLOW_TIME_STABLEAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_SLOW_TIME_STABLEAddition.stjava index 2b470fa7b..6acf57795 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_SLOW_TIME_STABLEAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_SLOW_TIME_STABLEAddition.stjava @@ -1,15 +1,15 @@ public static void main(String[] args) { M_SLOW_TIME_STABLE program = new M_SLOW_TIME_STABLE(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getLevel()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getLevel()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getLevel()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getLevel()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getLevel()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getLevel()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_SubmodeExampleAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_SubmodeExampleAddition.stjava index bd883c962..171ec701e 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_SubmodeExampleAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_SubmodeExampleAddition.stjava @@ -1,27 +1,27 @@ public static void main(String[] args) { M_SubmodeExample program = new M_SubmodeExample(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getSelected()); System.out.println(program.getActive()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getSelected()); System.out.println(program.getActive()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getSelected()); System.out.println(program.getActive()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getSelected()); System.out.println(program.getActive()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getSelected()); System.out.println(program.getActive()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getSelected()); System.out.println(program.getActive()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getSelected()); System.out.println(program.getActive()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getSelected()); System.out.println(program.getActive()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_TIME_STABLEAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_TIME_STABLEAddition.stjava index 85a4e0f19..fe3ad9225 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_TIME_STABLEAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_TIME_STABLEAddition.stjava @@ -1,15 +1,15 @@ public static void main(String [] args) { M_TIME_STABLE program = new M_TIME_STABLE(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getLevel()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getLevel()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getLevel()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getLevel()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getLevel()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getLevel()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_UMS_mainAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_UMS_mainAddition.stjava index f8a08ebe6..66cdcec22 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_UMS_mainAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_UMS_mainAddition.stjava @@ -1,31 +1,31 @@ public static void main(String [] args) { M_UMS_main ums = new M_UMS_main(); - ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(ums.getGrant_Access()); System.out.println(ums.getGrant_Exit()); System.out.println(ums.getDo_AB()); System.out.println(ums.getDo_BC()); - ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(ums.getGrant_Access()); System.out.println(ums.getGrant_Exit()); System.out.println(ums.getDo_AB()); System.out.println(ums.getDo_BC()); - ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(ums.getGrant_Access()); System.out.println(ums.getGrant_Exit()); System.out.println(ums.getDo_AB()); System.out.println(ums.getDo_BC()); - ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(ums.getGrant_Access()); System.out.println(ums.getGrant_Exit()); System.out.println(ums.getDo_AB()); System.out.println(ums.getDo_BC()); - ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(ums.getGrant_Access()); System.out.println(ums.getGrant_Exit()); System.out.println(ums.getDo_AB()); System.out.println(ums.getDo_BC()); - ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(ums.getGrant_Access()); System.out.println(ums.getGrant_Exit()); System.out.println(ums.getDo_AB()); diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_UMS_verifAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_UMS_verifAddition.stjava index 09bb27905..16018479a 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_UMS_verifAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_UMS_verifAddition.stjava @@ -1,15 +1,15 @@ public static void main(String[] args) { M_UMS_verif ums = new M_UMS_verif(); - ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(ums.getProperty()); - ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(ums.getProperty()); - ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(ums.getProperty()); - ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(ums.getProperty()); - ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(ums.getProperty()); - ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + ums.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(ums.getProperty()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_UnequalAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_UnequalAddition.stjava index 48a30a63b..0c93a700c 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_UnequalAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_UnequalAddition.stjava @@ -1,7 +1,7 @@ public static void main(String[] args) { M_Unequal program = new M_Unequal(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(-1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(-1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getRes()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_VerifyMovingItemAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_VerifyMovingItemAddition.stjava index 93e83fbd4..9de70d396 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_VerifyMovingItemAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_VerifyMovingItemAddition.stjava @@ -1,19 +1,19 @@ public static void main(String[] args) { M_VerifyMovingItem program = new M_VerifyMovingItem(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getOK()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When10Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When10Addition.stjava index ca05d7e9a..dec711aae 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When10Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When10Addition.stjava @@ -1,11 +1,11 @@ public static void main(String[] args) { M_When10 when = new M_When10(); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1)))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(when.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When11Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When11Addition.stjava index 7a90d0bdb..7fbc6fd54 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When11Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When11Addition.stjava @@ -1,13 +1,13 @@ public static void main(String [] args) { M_When11 when = new M_When11(); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When2Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When2Addition.stjava index 1465f706a..76cccb210 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When2Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When2Addition.stjava @@ -1,12 +1,12 @@ public static void main(String[] args) { M_When2 when = new M_When2(); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(5)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(5)))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When3Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When3Addition.stjava index 6686cf0ed..9183c51dd 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When3Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When3Addition.stjava @@ -1,13 +1,13 @@ public static void main(String[] args) { M_When3 when = new M_When3(); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When4Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When4Addition.stjava index 58b20bf9f..3d31c2e22 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When4Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When4Addition.stjava @@ -1,9 +1,9 @@ public static void main(String [] args) { M_When4 when = new M_When4(); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When5Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When5Addition.stjava index b65e6a53c..a2ace6c1b 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When5Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When5Addition.stjava @@ -1,15 +1,15 @@ public static void main(String[] args) { M_When5 when = new M_When5(); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When6Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When6Addition.stjava index 9cc7bdc22..4799d0857 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When6Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When6Addition.stjava @@ -1,15 +1,15 @@ public static void main(String[] args) { M_When6 when = new M_When6(); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When7Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When7Addition.stjava index 1b7939bec..8a1a8a691 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When7Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When7Addition.stjava @@ -1,15 +1,15 @@ public static void main(String[] args) { M_When7 when = new M_When7(); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes1()); System.out.println(when.getRes2()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When8Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When8Addition.stjava index 457693f1c..940bbb308 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When8Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When8Addition.stjava @@ -1,18 +1,18 @@ public static void main(String[] args) { M_When8 when = new M_When8(); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes()); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes()); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes()); System.out.println(when.getRes1()); System.out.println(when.getRes2()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes()); System.out.println(when.getRes1()); System.out.println(when.getRes2()); diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When9Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When9Addition.stjava index b9a07de0e..bff3e8aa3 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When9Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_When9Addition.stjava @@ -1,11 +1,11 @@ public static void main(String[] args) { M_When9 when = new M_When9(); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_WhenAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_WhenAddition.stjava index 8356ffbde..9a8b54bc0 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_WhenAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_WhenAddition.stjava @@ -1,9 +1,9 @@ public static void main(String[] args) { M_When when = new M_When(); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(when.getRes()); - when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + when.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(when.getRes()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_carlights2_v4Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_carlights2_v4Addition.stjava index 21e6839a9..4d50011b1 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_carlights2_v4Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_carlights2_v4Addition.stjava @@ -1,21 +1,21 @@ public static void main(String[] args) { M_carlights2_v4 program = new M_carlights2_v4(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(0))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(10)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(0))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(10)))); System.out.println(program.getIsOn()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(0))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(9)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(0))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(9)))); System.out.println(program.getIsOn()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(0))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(8)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(0))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(8)))); System.out.println(program.getIsOn()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(7)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(7)))); System.out.println(program.getIsOn()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(6)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(6)))); System.out.println(program.getIsOn()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(5)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(5)))); System.out.println(program.getIsOn()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getIsOn()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(5)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(5)))); System.out.println(program.getIsOn()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(6)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(6)))); System.out.println(program.getIsOn()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list2Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list2Addition.stjava index 4e9e4bae7..640670441 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list2Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list2Addition.stjava @@ -1,12 +1,12 @@ public static void main(String[] args) { M_expr_list2 program = new M_expr_list2(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getA()); System.out.println(program.getB()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getA()); System.out.println(program.getB()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(0))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(-1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(0))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(-1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getA()); System.out.println(program.getB()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list3Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list3Addition.stjava index 46cd463ba..88af5873b 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list3Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list3Addition.stjava @@ -1,12 +1,12 @@ public static void main(String[] args) { M_expr_list3 program = new M_expr_list3(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getA()); System.out.println(program.getB()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getA()); System.out.println(program.getB()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(0))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(-1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(0))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(-1))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getA()); System.out.println(program.getB()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list4Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list4Addition.stjava index 4c5bba9de..617382d07 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list4Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list4Addition.stjava @@ -1,12 +1,12 @@ public static void main(String[] args) { M_expr_list4 program = new M_expr_list4(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getA()); System.out.println(program.getB()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getA()); System.out.println(program.getB()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(0))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(0)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(0))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(0)))); System.out.println(program.getA()); System.out.println(program.getB()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list5Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list5Addition.stjava index 6051a7d45..d90dd52e4 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list5Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list5Addition.stjava @@ -1,9 +1,9 @@ public static void main(String[] args) { M_expr_list5 program = new M_expr_list5(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getA()); System.out.println(program.getB()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getA()); System.out.println(program.getB()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list6Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list6Addition.stjava index 5008c7d7b..8beb3d192 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list6Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list6Addition.stjava @@ -1,10 +1,10 @@ public static void main(String[] args) { M_expr_list6 program = new M_expr_list6(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3)))); System.out.println(program.getA()); System.out.println(program.getB()); System.out.println(program.getC()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getA()); System.out.println(program.getB()); System.out.println(program.getC()); diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list9Addition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list9Addition.stjava index cf44e5528..41bfbedfb 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list9Addition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_list9Addition.stjava @@ -1,15 +1,15 @@ public static void main(String[] args) { M_expr_list9 program = new M_expr_list9(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getA()); System.out.println(program.getB()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(4)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(3))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(4)))); System.out.println(program.getA()); System.out.println(program.getB()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(5))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(6)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(5))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(6)))); System.out.println(program.getA()); System.out.println(program.getB()); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(7))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(8)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(7))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(8)))); System.out.println(program.getA()); System.out.println(program.getB()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_listAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_listAddition.stjava index 018903133..dd6e7b69c 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_listAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_expr_listAddition.stjava @@ -1,6 +1,6 @@ public static void main(String[] args) { M_expr_list program = new M_expr_list(); - program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, new BInteger(2)))); + program.clock_step(new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(1))), new BRelation<LibraryLustre.REF, BInteger>(new BTuple<>(LibraryLustre.REF.ref, BInteger.of(2)))); System.out.println(program.getA()); System.out.println(program.getB()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_pilot_flyingAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_pilot_flyingAddition.stjava index 1d4a140b4..23144edca 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_pilot_flyingAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_pilot_flyingAddition.stjava @@ -1,48 +1,48 @@ public static void main(String[] args) { M_pilot_flying program = new M_pilot_flying(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getLPFS()); System.out.println(program.getRPFS()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_speed_mainAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_speed_mainAddition.stjava index d81dd04ae..d727890ab 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_speed_mainAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_speed_mainAddition.stjava @@ -1,54 +1,54 @@ public static void main(String[] args) { M_speed_main program = new M_speed_main(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getLate()); System.out.println(program.getEarly()); } \ No newline at end of file diff --git a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_speed_verifAddition.stjava b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_speed_verifAddition.stjava index c036e5639..7ecf68ea9 100644 --- a/src/test/resources/de/hhu/stups/codegenerator/lustre/M_speed_verifAddition.stjava +++ b/src/test/resources/de/hhu/stups/codegenerator/lustre/M_speed_verifAddition.stjava @@ -1,37 +1,37 @@ public static void main(String[] args) { M_speed_verif program = new M_speed_verif(); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(true)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.TRUE))); System.out.println(program.getOK()); - program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false))), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, new BBoolean(false)))); + program.clock_step(new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE)), new BRelation<LibraryLustre.REF, BBoolean>(new BTuple<>(LibraryLustre.REF.ref, BBoolean.FALSE))); System.out.println(program.getOK()); } \ No newline at end of file -- GitLab