## Uses of Class
org.apache.sysds.common.Types.OpOp2

Packages that use Types.OpOp2
org.apache.sysds.common
org.apache.sysds.hops
org.apache.sysds.hops.rewrite
org.apache.sysds.lops
org.apache.sysds.runtime.matrix.operators

### Uses of Types.OpOp2 in org.apache.sysds.common

Methods in org.apache.sysds.common that return Types.OpOp2
`static Types.OpOp2` Types.OpOp2.`valueOf(String name)` Returns the enum constant of this type with the specified name.
`static Types.OpOp2` Types.OpOp2.`valueOfByOpcode(String opcode)`
`static Types.OpOp2[]` Types.OpOp2.`values()` Returns an array containing the constants of this enum type, in the order they are declared.

### Uses of Types.OpOp2 in org.apache.sysds.hops

Methods in org.apache.sysds.hops that return Types.OpOp2
`Types.OpOp2` BinaryOp.`getComplementPPredOperation()`
`Types.OpOp2` BinaryOp.`getOp()`

Methods in org.apache.sysds.hops with parameters of type Types.OpOp2
`static double` OptimizerUtils.`getBinaryOpSparsity(double sp1, double sp2, Types.OpOp2 op, boolean worstcase)` Estimates the result sparsity for matrix-matrix binary operations (A op B)
`static double` OptimizerUtils.`getBinaryOpSparsityConditionalSparseSafe(double sp1, Types.OpOp2 op, LiteralOp lit)`
`static long` OptimizerUtils.`getOuterNonZeros(long n1, long n2, long nnz1, long nnz2, Types.OpOp2 op)`
`static boolean` OptimizerUtils.`isBinaryOpConditionalSparseSafe(Types.OpOp2 op)` Determines if a given binary op is potentially conditional sparse safe.
`static boolean` OptimizerUtils.`isBinaryOpConditionalSparseSafeExact(Types.OpOp2 op, LiteralOp lit)` Determines if a given binary op with scalar literal guarantee an output sparsity which is exactly the same as its matrix input sparsity.
`static boolean` OptimizerUtils.`isBinaryOpSparsityConditionalSparseSafe(Types.OpOp2 op, LiteralOp lit)`
`void` BinaryOp.`setOp(Types.OpOp2 iop)`

Constructors in org.apache.sysds.hops with parameters of type Types.OpOp2
Constructor and Description
`AggBinaryOp(String l, Types.DataType dt, Types.ValueType vt, Types.OpOp2 innOp, Types.AggOp outOp, Hop in1, Hop in2)`
`BinaryOp(String l, Types.DataType dt, Types.ValueType vt, Types.OpOp2 o, Hop inp1, Hop inp2)`
`QuaternaryOp(String l, Types.DataType dt, Types.ValueType vt, Types.OpOp4 o, Hop inW, Hop inU, Hop inV, boolean umult, Types.OpOp1 uop, Types.OpOp2 sop)`

### Uses of Types.OpOp2 in org.apache.sysds.hops.rewrite

Methods in org.apache.sysds.hops.rewrite with parameters of type Types.OpOp2
`static BinaryOp` HopRewriteUtils.`createBinary(Hop input1, Hop input2, Types.OpOp2 op)`
`static BinaryOp` HopRewriteUtils.`createBinary(Hop input1, Hop input2, Types.OpOp2 op, boolean outer)`
`static int` HopRewriteUtils.`getValidOpPos(Types.OpOp2 input, Types.OpOp2... validTab)`
`static int` HopRewriteUtils.`getValidOpPos(Types.OpOp2 input, Types.OpOp2... validTab)`
`static boolean` HopRewriteUtils.`isBinary(Hop hop, Types.OpOp2... types)`
`static boolean` HopRewriteUtils.`isBinary(Hop hop, Types.OpOp2 type)`
`static boolean` HopRewriteUtils.`isBinary(Hop hop, Types.OpOp2 type, int maxParents)`
`static boolean` HopRewriteUtils.`isBinaryMatrixScalar(Hop hop, Types.OpOp2 type, double val)`
`static boolean` HopRewriteUtils.`isValidOp(Types.OpOp2 input, Types.OpOp2... validTab)`
`static boolean` HopRewriteUtils.`isValidOp(Types.OpOp2 input, Types.OpOp2... validTab)`
`static boolean` HopRewriteUtils.`isValidOuterBinaryOp(Types.OpOp2 op)`

### Uses of Types.OpOp2 in org.apache.sysds.lops

Methods in org.apache.sysds.lops that return Types.OpOp2
`Types.OpOp2` BinaryScalar.`getOperationType()`
`Types.OpOp2` Binary.`getOperationType()`
`Types.OpOp2` BinaryM.`getOperationType()`

Methods in org.apache.sysds.lops with parameters of type Types.OpOp2
`static String` BinaryM.`getOpcode(Types.OpOp2 op)`

Constructors in org.apache.sysds.lops with parameters of type Types.OpOp2
Constructor and Description
`Binary(Lop input1, Lop input2, Types.OpOp2 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)` Constructor to perform a binary operation.
`Binary(Lop input1, Lop input2, Types.OpOp2 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
`BinaryM(Lop input1, Lop input2, Types.OpOp2 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean colVector)` Constructor to perform a binary operation.
`BinaryScalar(Lop input1, Lop input2, Types.OpOp2 op, Types.DataType dt, Types.ValueType vt)` Constructor to perform a scalar operation
`BinaryUAggChain(Lop input1, Types.OpOp2 bop, Types.AggOp uaop, Types.Direction uadir, Types.DataType dt, Types.ValueType vt, Types.ExecType et)` Constructor to setup a map mult chain without weights
`TernaryAggregate(Lop input1, Lop input2, Lop input3, Types.AggOp aggOp, Types.OpOp2 binOp, Types.Direction direction, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
`UAggOuterChain(Lop input1, Lop input2, Types.AggOp uaop, Types.Direction uadir, Types.OpOp2 bop, Types.DataType dt, Types.ValueType vt, Types.ExecType et)` Constructor to setup a unaryagg outer chain

### Uses of Types.OpOp2 in org.apache.sysds.runtime.matrix.operators

Methods in org.apache.sysds.runtime.matrix.operators that return Types.OpOp2
`Types.OpOp2` BinaryOperator.`getBinaryOperatorOpOp2()` Method for getting the hop binary operator type for a given function object.