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 1d3816877bc9afdad4e77e5f057a86db81af425e..a44527396ac8b96606c1a4de204027da1a0ccad7 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 @@ -219,14 +219,12 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { S prj1 = object.projection1(); T prj2 = object.projection2(); - PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); + PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, prj1); - if(!domain.contains(prj1)) { + if(range == null) { return new BBoolean(false); } - PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, prj1); - return new BBoolean(range.contains(prj2)); } @@ -234,14 +232,12 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { S prj1 = object.projection1(); T prj2 = object.projection2(); - PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); + PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, prj1); - if(!domain.contains(prj1)) { + if(range == null) { return new BBoolean(true); } - PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, prj1); - return new BBoolean(!range.contains(prj2)); } 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 0631fb3e08e288739c8ccfdff6456d8e93143042..533652d3b29f2f4d98dabff19d24ee67b49786bf 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 @@ -218,14 +218,12 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { S prj1 = object.projection1(); T prj2 = object.projection2(); - PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); + PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, prj1); - if(!domain.contains(prj1)) { + if(range == null) { return new BBoolean(false); } - PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, prj1); - return new BBoolean(range.contains(prj2)); } @@ -233,14 +231,12 @@ public class BRelation<S,T> implements BObject, Iterable<BTuple<S,T>> { S prj1 = object.projection1(); T prj2 = object.projection2(); - PersistentHashSet domain = (PersistentHashSet) SET.invoke(KEYS.invoke(this.map)); + PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, prj1); - if(!domain.contains(prj1)) { + if(range == null) { return new BBoolean(true); } - PersistentHashSet range = (PersistentHashSet) GET.invoke(this.map, prj1); - return new BBoolean(!range.contains(prj2)); }