Module Ops.Group

val mem : t -> t list -> bool

mem op group is true iff op occurs in group.

val union : t list -> t list -> t list

union a b appends members of b not already in a.

val without : t list -> t list -> t list

without group excluded is group without members of excluded.

val unary : t list

Unary ALU ops.

val binary : t list

Binary ALU ops.

val ternary : t list

Ternary ALU ops.

val alu : t list

unary @ binary @ ternary.

val broadcastable : t list

Broadcastable ops: Group, binary, and ternary ops.

val elementwise : t list

Elementwise ops: alu, Cast, and Bitcast.

val defines : t list

Defines: Buffer and Param.

val irreducible : t list

Irreducible leaves: Special, Param, Range, and Const.

val movement : t list

Movement ops: Shrink, Reshape, Permute, Expand, Pad, and Flip.

val commutative : t list

Binary ops whose operands may be swapped.

val associative : t list

Binary ops satisfying associativity.

val idempotent : t list

Binary ops satisfying f x x = x.

val reduce : t list

Ops valid as Reduce and Allreduce arguments: Add, Mul, and Max.

val comparison : t list

Binary ops producing booleans: Cmplt, Cmpne, and Cmpeq.

val all : t list

Every constructor of t, in tinygrad declaration order.

val is_unary : t -> bool

is_unary op is true iff op is in unary.

val is_binary : t -> bool

is_binary op is true iff op is in binary.

val is_ternary : t -> bool

is_ternary op is true iff op is in ternary.

val is_alu : t -> bool

is_alu op is true iff op is in alu.

val is_broadcastable : t -> bool

is_broadcastable op is true iff op is in broadcastable.

val is_elementwise : t -> bool

is_elementwise op is true iff op is in elementwise.

val is_define : t -> bool

is_define op is true iff op is in defines.

val is_irreducible : t -> bool

is_irreducible op is true iff op is in irreducible.

val is_movement : t -> bool

is_movement op is true iff op is in movement.

val is_commutative : t -> bool

is_commutative op is true iff op is in commutative.

val is_associative : t -> bool

is_associative op is true iff op is in associative.

val is_idempotent : t -> bool

is_idempotent op is true iff op is in idempotent.

val is_reduce : t -> bool

is_reduce op is true iff op is in reduce.

val is_comparison : t -> bool

is_comparison op is true iff op is in comparison.