Browse Source

Added new compiled operation for has_value

Yentl Van Tendeloo 8 years ago
parent
commit
069afa5f81
1 changed files with 8 additions and 0 deletions
  1. 8 0
      kernel/modelverse_kernel/compiled.py

+ 8 - 0
kernel/modelverse_kernel/compiled.py

@@ -95,3 +95,11 @@ def set_merge(a, b, **remainder):
     values = yield [("RE", [i]) for i in outputs]
     yield [("CE", [a, i[1]]) for i in values]
     raise PrimitiveFinished(a)
+
+def has_value(a, **remainder):
+    v, = yield [("RV", [a])]
+    if v is None:
+        result, = yield [("CNV", [False])]
+    else:
+        result, = yield [("CNV", [True])]
+    raise PrimitiveFinished(result)