浏览代码

More efficient string_startswith

Yentl Van Tendeloo 7 年之前
父节点
当前提交
0266832b4a
共有 1 个文件被更改,包括 8 次插入0 次删除
  1. 8 0
      kernel/modelverse_kernel/compiled.py

+ 8 - 0
kernel/modelverse_kernel/compiled.py

@@ -494,3 +494,11 @@ def set_difference(a, b, **remainder):
     res, = yield [("CN", [])]
     yield [("CD", [res, v, res]) for v in result]
     yield [("RETURN", [{'id': res}])]
+
+def string_startswith(a, b, **remainder):
+    if "value" not in a:
+        a['value'], = yield [("RV", [a['id']])]
+    if "value" not in b:
+        b['value'], = yield [("RV", [b['id']])]
+
+    yield [("RETURN", [{"value": a['value'].startswith(b['value'])}])]