Module Uop.O

val (+) : t -> t -> t

a + b is alu_binary with Ops.t.Add.

val (*) : t -> t -> t

a * b is alu_binary with Ops.t.Mul.

val (-) : t -> t -> t

a - b is alu_binary with Ops.t.Sub.

val (/) : t -> t -> t

a / b is alu_binary with Ops.t.Fdiv, matching tinygrad's true-division shorthand.

val (//) : t -> t -> t

a // b is alu_binary with Ops.t.Floordiv, matching tinygrad's floor-division shorthand.

val (mod) : t -> t -> t

a mod b is alu_binary with Ops.t.Floormod.

val (<) : t -> t -> t

a < b is alu_binary with Ops.t.Cmplt.

val cdiv : t -> t -> t

cdiv a b is alu_binary with Ops.t.Cdiv, the truncating C-style division op.

val cmod : t -> t -> t

cmod a b is alu_binary with Ops.t.Cmod, the truncating C-style remainder op.

val floordiv : t -> t -> t

floordiv a b is alu_binary with Ops.t.Floordiv.

val floormod : t -> t -> t

floormod a b is alu_binary with Ops.t.Floormod.

val ne : t -> t -> t

ne a b is alu_binary with Ops.t.Cmpne.

val where : t -> t -> t -> t

where c t e is alu_ternary with Ops.t.Where.

val neg : t -> t

neg a is alu_unary with Ops.t.Neg.

val not_ : t -> t

not_ a is ne a (const_bool true), matching tinygrad's logical-not UOp form after boolean casting.

val cast : Dtype.t -> t -> t

cast dt a is Uop.cast with ~src:a ~dtype:dt; argument order is swapped for point-free use.

val int_ : int -> t

int_ n is Uop.const_int.

val float_ : float -> t

float_ x is Uop.const_float.

val bool_ : bool -> t

bool_ b is Uop.const_bool.