Module Owl_dense_ndarray.Any

include Owl_dense_ndarray_a
type 'a arr = {
mutable shape : int array;
mutable stride : int array;
mutable data : 'a array;
}
Create N-dimensional array
val create : int array -> 'a -> 'a arr
val init : int array -> (int -> 'a) -> 'a arr
val init_nd : int array -> (int array -> 'a) -> 'a arr
val sequential : ?⁠a:float -> ?⁠step:float -> int array -> float arr
val zeros : int array -> float arr
val ones : int array -> float arr
Obtain basic properties
val shape : 'a arr -> int array
val num_dims : 'a arr -> int
val nth_dim : 'a arr -> int -> int
val numel : 'a arr -> int
val same_shape : 'a arr -> 'a arr -> bool
val strides : 'a arr -> int array
val slice_size : 'a arr -> int array
val index_1d_nd : int -> int array -> int array
val index_nd_1d : int array -> int array -> int
Manipulate a N-dimensional array
val get : 'a arr -> int array -> 'a
val set : 'a arr -> int array -> 'a -> unit
val get_index : 'a arr -> int array array -> 'a array
val set_index : 'a arr -> int array array -> 'a array -> unit
val get_fancy : Owl_types.index list -> 'a arr -> 'a arr
val set_fancy : Owl_types.index list -> 'a arr -> 'a arr -> unit
val get_slice : int list list -> 'a arr -> 'a arr
val set_slice : int list list -> 'a arr -> 'a arr -> unit
val fill : 'a arr -> 'a -> unit
val copy_ : out:'a arr -> 'a arr -> unit
val copy : 'a arr -> 'a arr
val reshape : 'a arr -> int array -> 'a arr
val flatten : 'a arr -> 'a arr
val sub_left : 'a arr -> int array -> 'a arr
val squeeze : ?⁠axis:int array -> 'a arr -> 'a arr
val expand : ?⁠hi:bool -> 'a arr -> int -> 'a arr
val reverse : 'a arr -> 'a arr
val transpose : ?⁠axis:int array -> 'a arr -> 'a arr
val swap : int -> int -> 'a arr -> 'a arr
val repeat : 'a arr -> int array -> 'a arr
val tile : 'a arr -> int array -> 'a arr
val concatenate : ?⁠axis:int -> 'a arr array -> 'a arr
val pad : 'a -> int list list -> 'a arr -> 'a arr
Iterate array elements
val iter : ('a -> unit) -> 'a arr -> unit
val iteri : (int -> 'a -> unit) -> 'a arr -> unit
val map : ('a -> 'b) -> 'a arr -> 'b arr
val mapi : (int -> 'a -> 'b) -> 'a arr -> 'b arr
val filter : ('a -> bool) -> 'a arr -> int array
val filteri : (int -> 'a -> bool) -> 'a arr -> int array
val fold : ('a -> 'b -> 'a) -> 'a -> 'b arr -> 'a
val foldi : (int -> 'a -> 'b -> 'a) -> 'a -> 'b arr -> 'a
val iter2 : ('a -> 'b -> unit) -> 'a arr -> 'b arr -> unit
val iter2i : (int -> 'a -> 'b -> unit) -> 'a arr -> 'b arr -> unit
val map2 : ('a -> 'b -> 'c) -> 'a arr -> 'b arr -> 'c arr
val map2i : (int -> 'a -> 'b -> 'c) -> 'a arr -> 'b arr -> 'c arr
Examine array elements or compare two arrays
val exists : ('a -> bool) -> 'a arr -> bool
val not_exists : ('a -> bool) -> 'a arr -> bool
val for_all : ('a -> bool) -> 'a arr -> bool
val is_equal : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a arr -> bool
val not_equal : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a arr -> bool
val greater : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a arr -> bool
val less : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a arr -> bool
val greater_equal : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a arr -> bool
val less_equal : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a arr -> bool
val elt_equal : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a arr -> bool arr
val elt_not_equal : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a arr -> bool arr
val elt_greater : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a arr -> bool arr
val elt_less : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a arr -> bool arr
val elt_greater_equal : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a arr -> bool arr
val elt_less_equal : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a arr -> bool arr
val elt_equal_scalar : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a -> bool arr
val elt_not_equal_scalar : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a -> bool arr
val elt_greater_scalar : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a -> bool arr
val elt_less_scalar : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a -> bool arr
val elt_greater_equal_scalar : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a -> bool arr
val elt_less_equal_scalar : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a -> bool arr
val sort : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> unit
val min : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a
val max : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a
val min_i : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a * int
val max_i : ?⁠cmp:('a -> 'a -> int) -> 'a arr -> 'a * int
Input/Output functions
val of_array : 'a array -> int array -> 'a arr
val to_array : 'a arr -> 'a array