| class A_ALG{ETP,ATP<$ARR{ETP}} |
|---|
| **** | Miscellaneous array algorithms Usage:
_____a:_ARRAY{FLT}_:=_|1.0,2.0,3.0,3.0|; _____a_alg:_A_ALG{INT,ARRAY{INT}};_--_dummy_variable _____Counting_3s_in_the_array _______number_of_threes:_INT_:=_a_alg.count(a,3.0); _____Getting_an_array_of_indices _______index_array:ARRAY{INT}_:=_a_alg.inds(a); |
| COMPARE{_} |
| count(a: ATP,v:ETP):INT |
|---|
| **** | The number of elements that are `elt_eq' to `v'. |
| equals(a: ATP,e: $ARR{ETP}): BOOL |
|---|
| **** | Returns true if all of "e"'s elements are equal to a's elts |
| inds(a: ATP): ARRAY{INT} |
|---|
| **** | Return an index array which is the same size as self and is set to the values of the indices |
| map(a: ATP,r:ROUT{ETP}:ETP) |
|---|
| **** | Set each element of self to the result of applying `r' to it. |
| mismatch(a:ATP,pattern: ARRAY{ETP}):INT |
|---|
| **** | The index of the first element of self which differs from `a'. -1 if self is a prefix of `a' or self is void. |
| reduce(a:ATP, r:ROUT{ETP,ETP}:ETP, start_value:ETP) :ETP |
|---|
| **** | Combine all the elements of self by applying `r' over elements in the order determined by ind! |
| replace(a: ATP, old_elt,new_replacement: ETP) |
|---|
| **** | Replace elements that are `elt_eq' to `o' by `n' wherever it occurs |
| replace_if(a: ATP,test: ROUT{ETP}:BOOL,replacement_value: ETP) |
|---|
| scan(a:ATP, r:ROUT{ETP,ETP}:ETP, start_value:ETP) |
|---|
| **** | Set each element in a to the result of applying `r' left to right to the array up to the element. The first element is left unchanged. |
| str(a: ATP): STR |
|---|
| **** | Prints out a string version of the array of the components that are under $STR, and their associated indices |
| elt_str(e: ETP,i: INT): STR |
|---|