tupelo.array
array->col-vals
(array->col-vals arr)
Inputs: [arr :- tsk/Array]
Returns: tsk/Vec
Returns the concatenation of all array cols.
array->cols
(array->cols arr)
(array->cols arr col-idxs)
(array->cols arr low high)
Inputs: ([arr] [arr col-idxs] [arr :- tsk/Array low :- s/Int high :- s/Int])
Returns: tsk/Array
Usage:
(array->cols arr) Returns all array cols
(array->cols arr col-idxs) Returns array cols specified by col-idxs
(array->cols arr low high) Returns array cols in half-open interval [low..high)
array->row-vals
(array->row-vals arr)
Inputs: [arr :- tsk/Array]
Returns: tsk/Vec
Returns the concatenation of all array rows.
array->rows
(array->rows arr)
(array->rows arr row-idxs)
(array->rows arr low high)
Inputs: ([arr] [arr row-idxs] [arr :- tsk/Array low :- s/Int high :- s/Int])
Returns: tsk/Array
Usage:
(array->rows arr) Returns all array rows
(array->rows arr row-idxs) Returns array rows specified by row-idxs
(array->rows arr low high) Returns array rows in half-open interval [low..high)
array->str
(array->str arr)
Inputs: [arr :- tsk/Array]
Returns: s/Str
Returns a string representation of an array
col-drop
(col-drop orig & idxs-drop)
Inputs: [orig :- tsk/Array & idxs-drop :- [s/Int]]
Returns: tsk/Array
Drop one or more colss from an array
col-get
(col-get arr jj)
Inputs: [arr :- tsk/Array jj :- s/Int]
Returns: tsk/Vec
Gets an Array col
col-set
(col-set orig jj new-col)
Inputs: [orig :- tsk/Array jj :- s/Int new-col :- tsk/Vec]
Returns: tsk/Array
Sets an Array col
col-vals->array
(col-vals->array nrows ncols col-data)
Inputs: [nrows :- s/Int ncols :- s/Int col-data :- tsk/Vec]
Returns: tsk/Array
Return a new Array of size=[nrows ncols] with its columns constructed from from col-data.
cols-append
(cols-append orig & cols)
Inputs: [orig :- tsk/Array & cols :- [tsk/Vec]]
Returns: tsk/Array
Appends one or more cols onto an array.
diagonal-anti
(diagonal-anti arr)
Inputs: [arr :- tsk/Array]
Returns: tsk/Vec
Returns the anti-diagonal of an array
diagonal-main
(diagonal-main arr)
Inputs: [arr :- tsk/Array]
Returns: tsk/Vec
Returns the main diagonal of an array
edn-cols->array
(edn-cols->array col-vecs)
Inputs: [col-vecs :- tsk/Array]
Returns: tsk/Array
[col-vecs]
Return a new Array initialized from col-vecs. Cols must all have same length.
edn-rows->array
(edn-rows->array row-vecs)
Inputs: [row-vecs :- tsk/Array]
Returns: tsk/Array
Return a new Array initialized from row-vecs. Rows must all have same length.
elem-get
(elem-get arr ii jj)
Inputs: [arr :- tsk/Array ii :- s/Int jj :- s/Int]
Returns: s/Any
Gets an Array element
elem-set
(elem-set arr ii jj newVal)
Inputs: [arr :- tsk/Array ii :- s/Int jj :- s/Int newVal :- s/Any]
Returns: tsk/Array
Puts a value into an Array element, returning the updated Array.
flip-lr
(flip-lr orig)
Inputs: [orig :- tsk/Array]
Returns: tsk/Array
Flips an array in the left-right direction,
reversing the order of the cols of an array
flip-ud
(flip-ud orig)
Inputs: [orig :- tsk/Array]
Returns: tsk/Array
Flips an array in the up-down direction,
reversing the order of the rows of an array
glue-horiz
(glue-horiz & arrays)
Inputs: [& arrays :- [tsk/Array]]
Returns: tsk/Array
Concatenates 2 or more arrays horizontally. Arrays must all have the same number of rows.
glue-vert
(glue-vert & arrays)
Inputs: [& arrays :- [tsk/Array]]
Returns: tsk/Array
Concatenates 2 or more arrays vertically. Arrays must all have the same number of cols.
new
(new nrows ncols)
(new nrows ncols init-val)
Inputs: ([nrows :- s/Int ncols :- s/Int] [nrows :- s/Int ncols :- s/Int init-val :- s/Any])
Returns: tsk/Array
Return a new Array (vector-of-vectors) of size=[nrows ncols], initialized to `init-val` (default=nil)
num-cols
(num-cols arr)
Inputs: [arr :- tsk/Array]
Returns: s/Int
Returns the number of cols of an Array.
num-rows
(num-rows arr)
Inputs: [arr :- tsk/Array]
Returns: s/Int
Returns the number of rows of an Array.
ones
(ones nrows ncols)
Inputs: [nrows :- s/Int ncols :- s/Int]
Returns: tsk/Array
Return a new Array (vector-of-vectors) of size=[nrows ncols], initialized to one
rotate-left
(rotate-left orig)
Inputs: [orig :- tsk/Array]
Returns: tsk/Array
Rotates an array 90 deg counter-clockwise.
rotate-right
(rotate-right orig)
Inputs: [orig :- tsk/Array]
Returns: tsk/Array
Rotates an array 90 deg clockwise.
row-drop
(row-drop orig & idxs-drop)
Inputs: [orig :- tsk/Array & idxs-drop :- [s/Int]]
Returns: tsk/Array
Drop one or more rows from an array
row-get
(row-get arr ii)
Inputs: [arr :- tsk/Array ii :- s/Int]
Returns: tsk/Vec
Gets an Array row
row-set
(row-set orig ii new-row)
Inputs: [orig :- tsk/Array ii :- s/Int new-row :- tsk/Vec]
Returns: tsk/Array
Sets an Array row
row-vals->array
(row-vals->array nrows ncols row-data)
Inputs: [nrows :- s/Int ncols :- s/Int row-data :- tsk/Vec]
Returns: tsk/Array
Return a new Array of size=[nrows ncols] with its rows constructed from from row-data.
rows-append
(rows-append orig & rows)
Inputs: [orig :- tsk/Array & rows :- [tsk/Vec]]
Returns: tsk/Array
Appends one or more rows onto an array.
symmetric?
(symmetric? arr)
Inputs: [arr :- tsk/Array]
Returns: s/Bool
Returns true iff an array is symmetric
transpose
(transpose orig)
Inputs: [orig :- tsk/Array]
Returns: tsk/Array
Returns the transpose of an array
zeros
(zeros nrows ncols)
Inputs: [nrows :- s/Int ncols :- s/Int]
Returns: tsk/Array
Return a new Array (vector-of-vectors) of size=[nrows ncols], initialized to zero