26. Miscelanious algorithms¶
The ALGORITHM module exposes collection of miscellaneous array manipulation algorithms.
All functions and symbols are in “algorithm” module, use require to get access to it.
require daslib/algorithm
26.1. Search¶
lower_bound (a:array<auto(TT)> const;f:int const;l:int const;val:TT const -&) : auto
lower_bound (a:array<auto(TT)> const;val:TT const -&) : auto
binary_search (a:array<auto(TT)> const;val:TT const -&) : auto
binary_search (a:array<auto(TT)> const;f:int const;last:int const;val:TT const -&) : auto
lower_bound (a:auto const;f:int const;l:int const;val:auto const) : auto
binary_search (a:auto const;f:int const;last:int const;val:auto const) : auto
-
lower_bound
(a: array<auto(TT)> const; f: int const; l: int const; val: TT const)¶
lower_bound returns auto
argument |
argument type |
---|---|
a |
array<auto(TT)> const |
f |
int const |
l |
int const |
val |
TT const |
Returns an iterator pointing to the first element in the range [first, last) that is not less than (i.e. greater or equal to) value, or last if no such element is found.
-
lower_bound
(a: array<auto(TT)> const; val: TT const)
lower_bound returns auto
argument |
argument type |
---|---|
a |
array<auto(TT)> const |
val |
TT const |
Returns an iterator pointing to the first element in the range [first, last) that is not less than (i.e. greater or equal to) value, or last if no such element is found.
-
lower_bound
(a: array<auto(TT)> const; f: int const; l: int const; value: TT const; less: block<(a:TT const;b:TT const):bool> const)
lower_bound returns auto
argument |
argument type |
---|---|
a |
array<auto(TT)> const |
f |
int const |
l |
int const |
value |
TT const |
less |
block<(a:TT const;b:TT const):bool> const |
Returns an iterator pointing to the first element in the range [first, last) that is not less than (i.e. greater or equal to) value, or last if no such element is found.
-
lower_bound
(a: array<auto(TT)> const; value: TT const; less: block<(a:TT const;b:TT const):bool> const)
lower_bound returns auto
argument |
argument type |
---|---|
a |
array<auto(TT)> const |
value |
TT const |
less |
block<(a:TT const;b:TT const):bool> const |
Returns an iterator pointing to the first element in the range [first, last) that is not less than (i.e. greater or equal to) value, or last if no such element is found.
-
binary_search
(a: array<auto(TT)> const; val: TT const)¶
binary_search returns auto
argument |
argument type |
---|---|
a |
array<auto(TT)> const |
val |
TT const |
now for all the other types
-
binary_search
(a: array<auto(TT)> const; f: int const; last: int const; val: TT const)
binary_search returns auto
argument |
argument type |
---|---|
a |
array<auto(TT)> const |
f |
int const |
last |
int const |
val |
TT const |
now for all the other types
-
binary_search
(a: array<auto(TT)> const; val: TT const; less: block<(a:TT const;b:TT const):bool> const)
binary_search returns auto
argument |
argument type |
---|---|
a |
array<auto(TT)> const |
val |
TT const |
less |
block<(a:TT const;b:TT const):bool> const |
now for all the other types
-
binary_search
(a: array<auto(TT)> const; f: int const; last: int const; val: TT const; less: block<(a:TT const;b:TT const):bool> const)
binary_search returns auto
argument |
argument type |
---|---|
a |
array<auto(TT)> const |
f |
int const |
last |
int const |
val |
TT const |
less |
block<(a:TT const;b:TT const):bool> const |
now for all the other types
-
lower_bound
(a: auto const; f: int const; l: int const; val: auto const)
lower_bound returns auto
argument |
argument type |
---|---|
a |
auto const |
f |
int const |
l |
int const |
val |
auto const |
Returns an iterator pointing to the first element in the range [first, last) that is not less than (i.e. greater or equal to) value, or last if no such element is found.
-
lower_bound
(a: auto const; val: auto const)
lower_bound returns auto
argument |
argument type |
---|---|
a |
auto const |
val |
auto const |
Returns an iterator pointing to the first element in the range [first, last) that is not less than (i.e. greater or equal to) value, or last if no such element is found.
-
lower_bound
(a: auto const; f: int const; l: int const; val: auto(TT) const; less: block<(a:TT const;b:TT const):bool> const)
lower_bound returns auto
argument |
argument type |
---|---|
a |
auto const |
f |
int const |
l |
int const |
val |
auto(TT) const |
less |
block<(a:TT const;b:TT const):bool> const |
Returns an iterator pointing to the first element in the range [first, last) that is not less than (i.e. greater or equal to) value, or last if no such element is found.
-
lower_bound
(a: auto const; val: auto(TT) const; less: block<(a:TT const;b:TT const):bool> const)
lower_bound returns auto
argument |
argument type |
---|---|
a |
auto const |
val |
auto(TT) const |
less |
block<(a:TT const;b:TT const):bool> const |
Returns an iterator pointing to the first element in the range [first, last) that is not less than (i.e. greater or equal to) value, or last if no such element is found.
-
binary_search
(a: auto const; val: auto const)
binary_search returns auto
argument |
argument type |
---|---|
a |
auto const |
val |
auto const |
now for all the other types
-
binary_search
(a: auto const; f: int const; last: int const; val: auto const)
binary_search returns auto
argument |
argument type |
---|---|
a |
auto const |
f |
int const |
last |
int const |
val |
auto const |
now for all the other types
-
binary_search
(a: auto const; val: auto(TT) const; less: block<(a:TT const;b:TT const):bool> const)
binary_search returns auto
argument |
argument type |
---|---|
a |
auto const |
val |
auto(TT) const |
less |
block<(a:TT const;b:TT const):bool> const |
now for all the other types
-
binary_search
(a: auto const; f: int const; last: int const; val: auto(TT) const; less: block<(a:TT const;b:TT const):bool> const)
binary_search returns auto
argument |
argument type |
---|---|
a |
auto const |
f |
int const |
last |
int const |
val |
auto(TT) const |
less |
block<(a:TT const;b:TT const):bool> const |
now for all the other types
26.2. Array manipulation¶
-
unique
(a: array<auto(TT)>)¶
unique returns auto
argument |
argument type |
---|---|
a |
array<auto(TT)> |
Returns array of the elements of a with duplicates removed.
-
sort_unique
(a: array<auto(TT)>)¶
sort_unique returns auto
argument |
argument type |
---|---|
a |
array<auto(TT)> |
Returns array of the elements of a, sorted and with duplicates removed. The elements of a are sorted in ascending order. The resulted array has only unqiue elements.
-
reverse
(a: array<auto>)¶
reverse returns auto
argument |
argument type |
---|---|
a |
array<auto> |
Returns array of the elements of a in reverse order.
-
combine
(a: array<auto(TT)> const; b: array<auto(TT)> const)¶
combine returns auto
argument |
argument type |
---|---|
a |
array<auto(TT)> const |
b |
array<auto(TT)> const |
Returns array of the elements of a and then b.
-
reverse
(a: auto)
reverse returns auto
argument |
argument type |
---|---|
a |
auto |
Returns array of the elements of a in reverse order.
-
combine
(a: auto const; b: auto const)
combine returns auto
argument |
argument type |
---|---|
a |
auto const |
b |
auto const |
Returns array of the elements of a and then b.
26.3. Uncategorized¶
-
erase_all
(arr: auto; value: auto const)¶
erase_all returns auto
argument |
argument type |
---|---|
arr |
auto |
value |
auto const |
Erase all elements equal to value from arr
-
topological_sort
(nodes: array<auto(Node)> const)¶
topological_sort returns auto
argument |
argument type |
---|---|
nodes |
array<auto(Node)> const |
Topological sort of a graph. Each node has an id, and set (table with no values) of dependencies. Dependency before represents a link from a node, which should appear in the sorted list before the node. Returns a sorted list of nodes.
-
intersection
(a: table<auto(TT);void> const; b: table<auto(TT);void> const)¶
intersection returns table<TT;void>
argument |
argument type |
---|---|
a |
table<auto(TT);void> const |
b |
table<auto(TT);void> const |
Returns the intersection of two sets
-
union
(a: table<auto(TT);void> const; b: table<auto(TT);void> const)¶
union returns table<TT;void>
argument |
argument type |
---|---|
a |
table<auto(TT);void> const |
b |
table<auto(TT);void> const |
Returns the union of two sets
-
difference
(a: table<auto(TT);void> const; b: table<auto(TT);void> const)¶
difference returns table<TT;void>
argument |
argument type |
---|---|
a |
table<auto(TT);void> const |
b |
table<auto(TT);void> const |
Returns the difference of two sets
-
identical
(a: table<auto(TT);void> const; b: table<auto(TT);void> const)¶
identical returns bool
argument |
argument type |
---|---|
a |
table<auto(TT);void> const |
b |
table<auto(TT);void> const |
Returns true if the two sets are identical