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