BinOpMat

org.saddle.ops.BinOpMat
trait BinOpMat

Provides concrete implementations of binary operations for org.saddle.Mat; these instances provide implicit support for org.saddle.ops.NumericOps methods which are inherited by Mat.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object BinOps.type

Members list

Type members

Classlikes

final class MatMatElemOp[OP <: ScalarOp, A, B, C](op: BinOp[OP, A, B, C])(implicit evidence$2: ScalarTag[C]) extends BinOp[OP, Mat[A], Mat[B], Mat[C]]

Binary element-wise operation on two Mats

Binary element-wise operation on two Mats

Broadcasts according to the following rules (same as numpy). If any of the pairs of dimensions are the same, or one of the pair is size 1, then the dimensions are compatible. If the compatible dimension is size 1, then it is virtually expanded to match the size of the corresponding dimension of the other operand.

Attributes

Supertypes
trait BinOp[OP, Mat[A], Mat[B], Mat[C]]
class Object
trait Matchable
class Any
final class MatSclrElemOp[OP <: ScalarOp, A, B, C](val op: BinOp[OP, A, B, C])(implicit evidence$1: ScalarTag[C]) extends BinOp[OP, Mat[A], B, Mat[C]]

Attributes

Supertypes
trait BinOp[OP, Mat[A], B, Mat[C]]
class Object
trait Matchable
class Any

Implicits

Implicits

implicit def MatMatElemOpDDD[Op <: ScalarOp](implicit op: BinOp[Op, Double, Double, Double]): MatMatElemOp[Op, Double, Double, Double]
implicit def MatMatElemOpDID[Op <: ScalarOp](implicit op: BinOp[Op, Double, Int, Double]): MatMatElemOp[Op, Double, Int, Double]
implicit def MatMatElemOpDLD[Op <: ScalarOp](implicit op: BinOp[Op, Double, Long, Double]): MatMatElemOp[Op, Double, Long, Double]
implicit def MatMatElemOpIDD[Op <: ScalarOp](implicit op: BinOp[Op, Int, Double, Double]): MatMatElemOp[Op, Int, Double, Double]
implicit def MatMatElemOpIII[Op <: ScalarOp](implicit op: BinOp[Op, Int, Int, Int]): MatMatElemOp[Op, Int, Int, Int]
implicit def MatMatElemOpILL[Op <: ScalarOp](implicit op: BinOp[Op, Int, Long, Long]): MatMatElemOp[Op, Int, Long, Long]
implicit def MatMatElemOpLDD[Op <: ScalarOp](implicit op: BinOp[Op, Long, Double, Double]): MatMatElemOp[Op, Long, Double, Double]
implicit def MatMatElemOpLIL[Op <: ScalarOp](implicit op: BinOp[Op, Long, Int, Long]): MatMatElemOp[Op, Long, Int, Long]
implicit def MatMatElemOpLLL[Op <: ScalarOp](implicit op: BinOp[Op, Long, Long, Long]): MatMatElemOp[Op, Long, Long, Long]
implicit def MatSclrElmOpBBB[Op <: ScalarOp](implicit op: BinOp[Op, Boolean, Boolean, Boolean]): MatSclrElemOp[Op, Boolean, Boolean, Boolean]
implicit def MatSclrElmOpDDB[Op <: ScalarOp](implicit op: BinOp[Op, Double, Double, Boolean]): MatSclrElemOp[Op, Double, Double, Boolean]
implicit def MatSclrElmOpDDD[Op <: ScalarOp](implicit op: BinOp[Op, Double, Double, Double]): MatSclrElemOp[Op, Double, Double, Double]
implicit def MatSclrElmOpDIB[Op <: ScalarOp](implicit op: BinOp[Op, Double, Int, Boolean]): MatSclrElemOp[Op, Double, Int, Boolean]
implicit def MatSclrElmOpDID[Op <: ScalarOp](implicit op: BinOp[Op, Double, Int, Double]): MatSclrElemOp[Op, Double, Int, Double]
implicit def MatSclrElmOpDLB[Op <: ScalarOp](implicit op: BinOp[Op, Double, Long, Boolean]): MatSclrElemOp[Op, Double, Long, Boolean]
implicit def MatSclrElmOpDLD[Op <: ScalarOp](implicit op: BinOp[Op, Double, Long, Double]): MatSclrElemOp[Op, Double, Long, Double]
implicit def MatSclrElmOpIDB[Op <: ScalarOp](implicit op: BinOp[Op, Int, Double, Boolean]): MatSclrElemOp[Op, Int, Double, Boolean]
implicit def MatSclrElmOpIDD[Op <: ScalarOp](implicit op: BinOp[Op, Int, Double, Double]): MatSclrElemOp[Op, Int, Double, Double]
implicit def MatSclrElmOpIIB[Op <: ScalarOp](implicit op: BinOp[Op, Int, Int, Boolean]): MatSclrElemOp[Op, Int, Int, Boolean]
implicit def MatSclrElmOpIII[Op <: ScalarOp](implicit op: BinOp[Op, Int, Int, Int]): MatSclrElemOp[Op, Int, Int, Int]
implicit def MatSclrElmOpILL[Op <: ScalarOp](implicit op: BinOp[Op, Int, Long, Long]): MatSclrElemOp[Op, Int, Long, Long]
implicit def MatSclrElmOpLDB[Op <: ScalarOp](implicit op: BinOp[Op, Long, Double, Boolean]): MatSclrElemOp[Op, Long, Double, Boolean]
implicit def MatSclrElmOpLDD[Op <: ScalarOp](implicit op: BinOp[Op, Long, Double, Double]): MatSclrElemOp[Op, Long, Double, Double]
implicit def MatSclrElmOpLIB[Op <: ScalarOp](implicit op: BinOp[Op, Long, Int, Boolean]): MatSclrElemOp[Op, Long, Int, Boolean]
implicit def MatSclrElmOpLIL[Op <: ScalarOp](implicit op: BinOp[Op, Long, Int, Long]): MatSclrElemOp[Op, Long, Int, Long]
implicit def MatSclrElmOpLLB[Op <: ScalarOp](implicit op: BinOp[Op, Long, Long, Boolean]): MatSclrElemOp[Op, Long, Long, Boolean]
implicit def MatSclrElmOpLLL[Op <: ScalarOp](implicit op: BinOp[Op, Long, Long, Long]): MatSclrElemOp[Op, Long, Long, Long]