|
@@ -404,7 +404,6 @@ Element function set_in_node(a: Element, b: Element):
|
|
return dict_in_node(a, b)!
|
|
return dict_in_node(a, b)!
|
|
|
|
|
|
String function reverseKeyLookup(dict : Element, element : Element):
|
|
String function reverseKeyLookup(dict : Element, element : Element):
|
|
- // TODO don't know if this AL will actually work...
|
|
|
|
Integer nr_in
|
|
Integer nr_in
|
|
Integer nr_out
|
|
Integer nr_out
|
|
Integer counter
|
|
Integer counter
|
|
@@ -422,21 +421,18 @@ String function reverseKeyLookup(dict : Element, element : Element):
|
|
return ""!
|
|
return ""!
|
|
|
|
|
|
Element function reverseKeyLookupMulti(dict : Element, element : Element):
|
|
Element function reverseKeyLookupMulti(dict : Element, element : Element):
|
|
- // TODO don't know if this AL will actually work...
|
|
|
|
- Integer nr_in
|
|
|
|
Integer nr_out
|
|
Integer nr_out
|
|
Integer counter
|
|
Integer counter
|
|
Element link
|
|
Element link
|
|
Element result
|
|
Element result
|
|
|
|
|
|
result = set_create()
|
|
result = set_create()
|
|
- nr_in = read_nr_in(element)
|
|
|
|
|
|
+ nr_out = read_nr_out(dict)
|
|
counter = 0
|
|
counter = 0
|
|
- while (counter < nr_in):
|
|
|
|
- if (element_eq(read_edge_src(read_in(element, counter)), dict)):
|
|
|
|
|
|
+ while (counter < nr_out):
|
|
|
|
+ if (value_eq(read_edge_dst(read_out(dict, counter)), element)):
|
|
// Got a match
|
|
// Got a match
|
|
- set_add(result, read_edge_dst(read_out(read_in(element, counter), 0)))
|
|
|
|
-
|
|
|
|
|
|
+ set_add(result, read_edge_dst(read_out(read_out(dict, counter), 0)))
|
|
counter = counter + 1
|
|
counter = counter + 1
|
|
|
|
|
|
return result!
|
|
return result!
|