Module Nx.Infix

Element-wise arithmetic

val (+) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a + b is add a b.

val (-) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a - b is sub a b.

val (*) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a * b is mul a b.

val (/) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a / b is div a b.

val (**) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a ** b is pow a b.

Scalar arithmetic

val (+$) : ('a, 'b) t -> 'a -> ('a, 'b) t

t +$ s is add_s t s.

val (-$) : ('a, 'b) t -> 'a -> ('a, 'b) t

t -$ s is sub_s t s.

val (*$) : ('a, 'b) t -> 'a -> ('a, 'b) t

t *$ s is mul_s t s.

val (/$) : ('a, 'b) t -> 'a -> ('a, 'b) t

t /$ s is div_s t s.

val (**$) : ('a, 'b) t -> 'a -> ('a, 'b) t

t **$ s is pow_s t s.

Comparisons

val (<) : ('a, 'b) t -> ('a, 'b) t -> (bool, bool_elt) t

a < b is cmplt a b.

val (<>) : ('a, 'b) t -> ('a, 'b) t -> (bool, bool_elt) t

a <> b is cmpne a b.

val (=) : ('a, 'b) t -> ('a, 'b) t -> (bool, bool_elt) t

a = b is cmpeq a b.

val (>) : ('a, 'b) t -> ('a, 'b) t -> (bool, bool_elt) t

a > b is cmpgt a b.

val (<=) : ('a, 'b) t -> ('a, 'b) t -> (bool, bool_elt) t

a <= b is cmple a b.

val (>=) : ('a, 'b) t -> ('a, 'b) t -> (bool, bool_elt) t

a >= b is cmpge a b.

Scalar comparisons

val (=$) : ('a, 'b) t -> 'a -> (bool, bool_elt) t

t =$ s is equal_s t s.

val (<>$) : ('a, 'b) t -> 'a -> (bool, bool_elt) t

t <>$ s is not_equal_s t s.

val (<$) : ('a, 'b) t -> 'a -> (bool, bool_elt) t

t <$ s is less_s t s.

val (>$) : ('a, 'b) t -> 'a -> (bool, bool_elt) t

t >$ s is greater_s t s.

val (<=$) : ('a, 'b) t -> 'a -> (bool, bool_elt) t

t <=$ s is less_equal_s t s.

val (>=$) : ('a, 'b) t -> 'a -> (bool, bool_elt) t

t >=$ s is greater_equal_s t s.

Bitwise

val (lxor) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a lxor b is bitwise_xor a b.

val (lor) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a lor b is bitwise_or a b.

val (land) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a land b is bitwise_and a b.

Modulo

val (%) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a % b is mod_ a b.

val (mod) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a mod b is mod_ a b.

val (%$) : ('a, 'b) t -> 'a -> ('a, 'b) t

t %$ s is mod_s t s.

Logical

val (^) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a ^ b is logical_xor a b.

val (&&) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a && b is logical_and a b.

val (||) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a || b is logical_or a b.

val (~-) : ('a, 'b) t -> ('a, 'b) t

~-t is logical_not t.

Linear algebra

val (@@) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a @@ b is matmul a b.

val (/@) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a /@ b is solve a b.

val (**@) : ('a, 'b) t -> int -> ('a, 'b) t

t **@ n is matrix_power t n.

val (<.>) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a <.> b is dot a b.

Concatenation

val (@=) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a @= b is vstack [a; b].

val (@||) : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t

a @|| b is hstack [a; b].

Indexing

val (.%{}) : ('a, 'b) t -> int list -> ('a, 'b) t

t.%\{i\} is get i t.

val (.%{}<-) : ('a, 'b) t -> int list -> ('a, 'b) t -> unit

t.%\{i\} <- v is set i t v.

val (.${}) : ('a, 'b) t -> index list -> ('a, 'b) t

t.$\{s\} is slice s t.

val (.${}<-) : ('a, 'b) t -> index list -> ('a, 'b) t -> unit

t.$\{s\} <- v is set_slice s t v.