|
@@ -3,7 +3,6 @@ import modelverse_jit.runtime as jit_runtime
|
|
|
import time
|
|
|
|
|
|
def reverseKeyLookupMulti(a, b, **remainder):
|
|
|
- start = time.time()
|
|
|
edges, b_val, result = yield [("RO", [a]), ("RV", [b]), ("CN", [])]
|
|
|
expanded_edges = yield [("RE", [i]) for i in edges]
|
|
|
values = yield [("RV", [i[1]]) for i in expanded_edges]
|
|
@@ -19,11 +18,9 @@ def reverseKeyLookupMulti(a, b, **remainder):
|
|
|
edges = yield [("CE", [result, result]) for value in values]
|
|
|
yield [("CE", [edge, value[1]]) for edge, value in zip(edges, values)]
|
|
|
|
|
|
- print("[COMPILED]reverseKeyLookupMulti : %s : %s" % (time.time() - start, time.time() - start))
|
|
|
raise PrimitiveFinished(result)
|
|
|
|
|
|
def reverseKeyLookup(a, b, **remainder):
|
|
|
- start = time.time()
|
|
|
edges_out, edges_in = yield [("RO", [a]), ("RI", [b])]
|
|
|
options = set(edges_out) & set(edges_in)
|
|
|
if options:
|
|
@@ -36,46 +33,36 @@ def reverseKeyLookup(a, b, **remainder):
|
|
|
result = e[1]
|
|
|
else:
|
|
|
result, = yield [("CNV", ["(unknown: %s)" % b])]
|
|
|
- print("[COMPILED]reverseKeyLookup : %s : %s" % (time.time() - start, time.time() - start))
|
|
|
raise PrimitiveFinished(result)
|
|
|
|
|
|
def instantiated_name(a, b, **remainder):
|
|
|
- start = time.time()
|
|
|
name_value, = yield [("RV", [b])]
|
|
|
if name_value == "":
|
|
|
b, = yield [("CNV", ["__" + str(a)])]
|
|
|
- print("[COMPILED]instantiated_name : %s : %s" % (time.time() - start, time.time() - start))
|
|
|
raise PrimitiveFinished(b)
|
|
|
|
|
|
def set_merge(a, b, **remainder):
|
|
|
- start = time.time()
|
|
|
keys, = yield [("RDK", [b])]
|
|
|
edges = yield [("CE", [a, a]) for key in keys]
|
|
|
_ = yield [("CE", [edge, key]) for edge, key in zip(edges, keys)]
|
|
|
- print("[COMPILED]set_merge : %s : %s" % (time.time() - start, time.time() - start))
|
|
|
raise PrimitiveFinished(a)
|
|
|
|
|
|
def has_value(a, **remainder):
|
|
|
- start = time.time()
|
|
|
v, = yield [("RV", [a])]
|
|
|
if v is None:
|
|
|
result, = yield [("CNV", [False])]
|
|
|
else:
|
|
|
result, = yield [("CNV", [True])]
|
|
|
- print("[COMPILED]has_value : %s : %s" % (time.time() - start, time.time() - start))
|
|
|
raise PrimitiveFinished(result)
|
|
|
|
|
|
def make_reverse_dictionary(a, **remainder):
|
|
|
- start = time.time()
|
|
|
reverse, = yield [("CN", [])]
|
|
|
key_nodes, = yield [("RDK", [a])]
|
|
|
values = yield [("RDN", [a, i]) for i in key_nodes]
|
|
|
yield [("CD", [reverse, str(v), k]) for k, v in zip(key_nodes, values)]
|
|
|
- print("[COMPILED]make_reverse_dictionary : %s : %s" % (time.time() - start, time.time() - start))
|
|
|
raise PrimitiveFinished(reverse)
|
|
|
|
|
|
def dict_eq(a, b, **remainder):
|
|
|
- start = time.time()
|
|
|
key_nodes, = yield [("RDK", [a])]
|
|
|
key_values = yield [("RV", [i]) for i in key_nodes]
|
|
|
values = yield [("RD", [a, i]) for i in key_values]
|
|
@@ -89,11 +76,9 @@ def dict_eq(a, b, **remainder):
|
|
|
b_dict = dict(zip(key_values, values))
|
|
|
|
|
|
result, = yield [("CNV", [a_dict == b_dict])]
|
|
|
- print("[COMPILED]dict_eq : %s : %s" % (time.time() - start, time.time() - start))
|
|
|
raise PrimitiveFinished(result)
|
|
|
|
|
|
def string_substr(a, b, c, **remainder):
|
|
|
- start = time.time()
|
|
|
a_val, b_val, c_val = yield [("RV", [a]),
|
|
|
("RV", [b]),
|
|
|
("RV", [c])]
|
|
@@ -103,7 +88,6 @@ def string_substr(a, b, c, **remainder):
|
|
|
new_value = ""
|
|
|
|
|
|
result, = yield [("CNV", [new_value])]
|
|
|
- print("[COMPILED]string_substr : %s : %s" % (time.time() - start, time.time() - start))
|
|
|
raise PrimitiveFinished(result)
|
|
|
|
|
|
def integer_gt(a, b, **remainder):
|