|
@@ -207,3 +207,13 @@ def create_tuple(a, b, **remainder):
|
|
|
("CD", [result, 1, b]),
|
|
|
]
|
|
|
raise PrimitiveFinished(result)
|
|
|
+
|
|
|
+def set_overlap(a, b, **remainder):
|
|
|
+ a_keys, b_keys, res = yield [("RDK", [a]), ("RDK", [b]), ("CN", [])]
|
|
|
+ a_values = yield [("RV", [i]) for i in a_keys]
|
|
|
+ b_values = yield [("RV", [i]) for i in b_keys]
|
|
|
+
|
|
|
+ result = set(a_values) & set(b_values)
|
|
|
+ yield [("CD", [res, value, res]) for value in result]
|
|
|
+
|
|
|
+ raise PrimitiveFinished(res)
|