From 874bc510a07efaa522f93f6fea86c0fdf4456656 Mon Sep 17 00:00:00 2001
From: Fabian Vu <fabian.vu@hhu.de>
Date: Mon, 17 Feb 2025 14:53:30 +0100
Subject: [PATCH] Some fixes in B(Big)Integer and BSet

---
 .../java/de/hhu/stups/btypes/BInteger.java    | 20 +++++++++----------
 .../main/java/de/hhu/stups/btypes/BSet.java   | 19 ++++++++++++++----
 2 files changed, 25 insertions(+), 14 deletions(-)

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 aca62d9e5..3a2cc0e46 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
@@ -70,32 +70,32 @@ public class BInteger extends java.lang.Number implements Comparable<BInteger>,
 	}
 
 	public BBoolean lessEqual(BInteger o) {
-		return new BBoolean(this.value <= o.value);
+		return new BBoolean(compareTo(o) <= 0);
 	}
 
 
 	public BBoolean greaterEqual(BInteger o) {
-		return new BBoolean(this.value >= o.value);
-	}
-
-	public java.math.BigInteger asBigInteger() {
-		return new java.math.BigInteger(String.valueOf(value));
+		return new BBoolean(compareTo(o) >= 0);
 	}
 
 	public BBoolean less(BInteger o) {
-		return new BBoolean(this.value < o.value);
+		return new BBoolean(compareTo(o) < 0);
 	}
 
 	public BBoolean greater(BInteger o) {
-		return new BBoolean(this.value > o.value);
+		return new BBoolean(compareTo(o) > 0);
 	}
 
 	public BBoolean equal(BInteger o) {
-		return new BBoolean(this.value == o.value);
+		return new BBoolean(compareTo(o) == 0);
 	}
 
 	public BBoolean unequal(BInteger o) {
-		return new BBoolean(this.value != o.value);
+		return new BBoolean(compareTo(o) != 0);
+	}
+
+	public java.math.BigInteger asBigInteger() {
+		return new java.math.BigInteger(String.valueOf(value));
 	}
 
 	@Override
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 f190d5266..e7ee93110 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
@@ -348,20 +348,31 @@ public class BSet<T> implements BObject, Set<T> {
 		return new BBoolean(true);
 	}
 
+	public BBoolean subsetOfBoolean() {
+		for(T e : this) {
+			if(e instanceof BBoolean) {
+				return new BBoolean(true);
+			} else {
+				return new BBoolean(false);
+			}
+		}
+		return new BBoolean(true);
+	}
+
 	public BBoolean strictSubsetOfBoolean() {
-		return subsetOfBoolean();
+		return new BBoolean(this.subsetOfBoolean().booleanValue() && this.size() < 2);
 	}
 
 	public BBoolean notSubsetOfBoolean() {
-		return subsetOfBoolean().not();
+		return this.subsetOfBoolean().not();
 	}
 
 	public BBoolean equalBoolean() {
-		return new BBoolean(subsetOfBoolean().booleanValue() && this.size() == 2);
+		return new BBoolean(this.subsetOfBoolean().booleanValue() && this.size() == 2);
 	}
 
 	public BBoolean unequalBoolean() {
-		return new BBoolean(subsetOfBoolean().booleanValue() && this.size() < 2);
+		return new BBoolean(this.subsetOfBoolean().booleanValue() && this.size() < 2);
 	}
 
 	public BBoolean strictSubsetOfInteger() {
-- 
GitLab