BinOpVec

org.saddle.ops.BinOpVec
trait BinOpVec

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

Attributes

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

Members list

Concise view

Type members

Classlikes

final class VecSclrElemOp[OP <: ScalarOp, A, B, C](val op: BinOp[OP, A, B, C])(implicit evidence$1: ScalarTag[C]) extends BinOp[OP, Vec[A], B, Vec[C]]

Attributes

Graph
Supertypes
trait BinOp[OP, Vec[A], B, Vec[C]]
class Object
trait Matchable
class Any
final class VecVecDot[A, B, C](opadd: BinOp[Add, C, C, C], opmul: BinOp[Multiply, A, B, C])(implicit evidence$3: ScalarTag[C], evidence$4: Numeric[C]) extends BinOp[InnerProd, Vec[A], Vec[B], C]

Attributes

Graph
Supertypes
trait BinOp[InnerProd, Vec[A], Vec[B], C]
class Object
trait Matchable
class Any
final class VecVecElemOp[OP <: ScalarOp, A, B, C](op: BinOp[OP, A, B, C])(implicit evidence$2: ScalarTag[C]) extends BinOp[OP, Vec[A], Vec[B], Vec[C]]

Attributes

Graph
Supertypes
trait BinOp[OP, Vec[A], Vec[B], Vec[C]]
class Object
trait Matchable
class Any
final class VecVecOuter[A, B, C](opmul: BinOp[Multiply, A, B, C])(implicit evidence$5: ScalarTag[C]) extends BinOp[OuterProd, Vec[A], Vec[B], Mat[C]]

Attributes

Graph
Supertypes
trait BinOp[OuterProd, Vec[A], Vec[B], Mat[C]]
class Object
trait Matchable
class Any

Implicits

Implicits

implicit def VecSclrElmOpBBB[Op <: ScalarOp](implicit op: BinOp[Op, Boolean, Boolean, Boolean]): VecSclrElemOp[Op, Boolean, Boolean, Boolean]
implicit def VecSclrElmOpDDB[Op <: ScalarOp](implicit op: BinOp[Op, Double, Double, Boolean]): VecSclrElemOp[Op, Double, Double, Boolean]
implicit def VecSclrElmOpDDD[Op <: ScalarOp](implicit op: BinOp[Op, Double, Double, Double]): VecSclrElemOp[Op, Double, Double, Double]
implicit def VecSclrElmOpDIB[Op <: ScalarOp](implicit op: BinOp[Op, Double, Int, Boolean]): VecSclrElemOp[Op, Double, Int, Boolean]
implicit def VecSclrElmOpDID[Op <: ScalarOp](implicit op: BinOp[Op, Double, Int, Double]): VecSclrElemOp[Op, Double, Int, Double]
implicit def VecSclrElmOpDLB[Op <: ScalarOp](implicit op: BinOp[Op, Double, Long, Boolean]): VecSclrElemOp[Op, Double, Long, Boolean]
implicit def VecSclrElmOpDLD[Op <: ScalarOp](implicit op: BinOp[Op, Double, Long, Double]): VecSclrElemOp[Op, Double, Long, Double]
implicit def VecSclrElmOpIDB[Op <: ScalarOp](implicit op: BinOp[Op, Int, Double, Boolean]): VecSclrElemOp[Op, Int, Double, Boolean]
implicit def VecSclrElmOpIDD[Op <: ScalarOp](implicit op: BinOp[Op, Int, Double, Double]): VecSclrElemOp[Op, Int, Double, Double]
implicit def VecSclrElmOpIIB[Op <: ScalarOp](implicit op: BinOp[Op, Int, Int, Boolean]): VecSclrElemOp[Op, Int, Int, Boolean]
implicit def VecSclrElmOpIII[Op <: ScalarOp](implicit op: BinOp[Op, Int, Int, Int]): VecSclrElemOp[Op, Int, Int, Int]
implicit def VecSclrElmOpILB[Op <: ScalarOp](implicit op: BinOp[Op, Int, Long, Boolean]): VecSclrElemOp[Op, Int, Long, Boolean]
implicit def VecSclrElmOpILL[Op <: ScalarOp](implicit op: BinOp[Op, Int, Long, Long]): VecSclrElemOp[Op, Int, Long, Long]
implicit def VecSclrElmOpLDB[Op <: ScalarOp](implicit op: BinOp[Op, Long, Double, Boolean]): VecSclrElemOp[Op, Long, Double, Boolean]
implicit def VecSclrElmOpLDD[Op <: ScalarOp](implicit op: BinOp[Op, Long, Double, Double]): VecSclrElemOp[Op, Long, Double, Double]
implicit def VecSclrElmOpLIB[Op <: ScalarOp](implicit op: BinOp[Op, Long, Int, Boolean]): VecSclrElemOp[Op, Long, Int, Boolean]
implicit def VecSclrElmOpLIL[Op <: ScalarOp](implicit op: BinOp[Op, Long, Int, Long]): VecSclrElemOp[Op, Long, Int, Long]
implicit def VecSclrElmOpLLB[Op <: ScalarOp](implicit op: BinOp[Op, Long, Long, Boolean]): VecSclrElemOp[Op, Long, Long, Boolean]
implicit def VecSclrElmOpLLL[Op <: ScalarOp](implicit op: BinOp[Op, Long, Long, Long]): VecSclrElemOp[Op, Long, Long, Long]
implicit def VecVecDotOpDDD(implicit opA: BinOp[Add, Double, Double, Double], opM: BinOp[Multiply, Double, Double, Double]): VecVecDot[Double, Double, Double]
implicit def VecVecDotOpDID(implicit opA: BinOp[Add, Double, Double, Double], opM: BinOp[Multiply, Double, Int, Double]): VecVecDot[Double, Int, Double]
implicit def VecVecDotOpDLD(implicit opA: BinOp[Add, Double, Double, Double], opM: BinOp[Multiply, Double, Long, Double]): VecVecDot[Double, Long, Double]
implicit def VecVecDotOpIDD(implicit opA: BinOp[Add, Double, Double, Double], opM: BinOp[Multiply, Int, Double, Double]): VecVecDot[Int, Double, Double]
implicit def VecVecDotOpIII(implicit opA: BinOp[Add, Int, Int, Int], opM: BinOp[Multiply, Int, Int, Int]): VecVecDot[Int, Int, Int]
implicit def VecVecDotOpILL(implicit opA: BinOp[Add, Long, Long, Long], opM: BinOp[Multiply, Int, Long, Long]): VecVecDot[Int, Long, Long]
implicit def VecVecDotOpLDD(implicit opA: BinOp[Add, Double, Double, Double], opM: BinOp[Multiply, Long, Double, Double]): VecVecDot[Long, Double, Double]
implicit def VecVecDotOpLIL(implicit opA: BinOp[Add, Long, Long, Long], opM: BinOp[Multiply, Long, Int, Long]): VecVecDot[Long, Int, Long]
implicit def VecVecDotOpLLL(implicit opA: BinOp[Add, Long, Long, Long], opM: BinOp[Multiply, Long, Long, Long]): VecVecDot[Long, Long, Long]
implicit def VecVecElemOpBBB[Op <: ScalarOp](implicit op: BinOp[Op, Boolean, Boolean, Boolean]): VecVecElemOp[Op, Boolean, Boolean, Boolean]
implicit def VecVecElemOpDDB[Op <: ScalarOp](implicit op: BinOp[Op, Double, Double, Boolean]): VecVecElemOp[Op, Double, Double, Boolean]
implicit def VecVecElemOpDIB[Op <: ScalarOp](implicit op: BinOp[Op, Double, Int, Boolean]): VecVecElemOp[Op, Double, Int, Boolean]
implicit def VecVecElemOpDLB[Op <: ScalarOp](implicit op: BinOp[Op, Double, Long, Boolean]): VecVecElemOp[Op, Double, Long, Boolean]
implicit def VecVecElemOpIDB[Op <: ScalarOp](implicit op: BinOp[Op, Int, Double, Boolean]): VecVecElemOp[Op, Int, Double, Boolean]
implicit def VecVecElemOpIIB[Op <: ScalarOp](implicit op: BinOp[Op, Int, Int, Boolean]): VecVecElemOp[Op, Int, Int, Boolean]
implicit def VecVecElemOpILB[Op <: ScalarOp](implicit op: BinOp[Op, Int, Long, Boolean]): VecVecElemOp[Op, Int, Long, Boolean]
implicit def VecVecElemOpLDB[Op <: ScalarOp](implicit op: BinOp[Op, Long, Double, Boolean]): VecVecElemOp[Op, Long, Double, Boolean]
implicit def VecVecElemOpLIB[Op <: ScalarOp](implicit op: BinOp[Op, Long, Int, Boolean]): VecVecElemOp[Op, Long, Int, Boolean]
implicit def VecVecElemOpLLB[Op <: ScalarOp](implicit op: BinOp[Op, Long, Long, Boolean]): VecVecElemOp[Op, Long, Long, Boolean]
implicit def VecVecOuterOpDDD(implicit opM: BinOp[Multiply, Double, Double, Double]): VecVecOuter[Double, Double, Double]
implicit def VecVecOuterOpDID(implicit opM: BinOp[Multiply, Double, Int, Double]): VecVecOuter[Double, Int, Double]
implicit def VecVecOuterOpDLD(implicit opM: BinOp[Multiply, Double, Long, Double]): VecVecOuter[Double, Long, Double]
implicit def VecVecOuterOpIDD(implicit opM: BinOp[Multiply, Int, Double, Double]): VecVecOuter[Int, Double, Double]
implicit def VecVecOuterOpIII(implicit opM: BinOp[Multiply, Int, Int, Int]): VecVecOuter[Int, Int, Int]
implicit def VecVecOuterOpILL(implicit opM: BinOp[Multiply, Int, Long, Long]): VecVecOuter[Int, Long, Long]
implicit def VecVecOuterOpLDD(implicit opM: BinOp[Multiply, Long, Double, Double]): VecVecOuter[Long, Double, Double]
implicit def VecVecOuterOpLIL(implicit opM: BinOp[Multiply, Long, Int, Long]): VecVecOuter[Long, Int, Long]
implicit def VecVecOuterOpLLL(implicit opM: BinOp[Multiply, Long, Long, Long]): VecVecOuter[Long, Long, Long]
implicit def VecVelElemOpDDD[Op <: ScalarOp](implicit op: BinOp[Op, Double, Double, Double]): VecVecElemOp[Op, Double, Double, Double]
implicit def VecVelElemOpDID[Op <: ScalarOp](implicit op: BinOp[Op, Double, Int, Double]): VecVecElemOp[Op, Double, Int, Double]
implicit def VecVelElemOpDLD[Op <: ScalarOp](implicit op: BinOp[Op, Double, Long, Double]): VecVecElemOp[Op, Double, Long, Double]
implicit def VecVelElemOpIDD[Op <: ScalarOp](implicit op: BinOp[Op, Int, Double, Double]): VecVecElemOp[Op, Int, Double, Double]
implicit def VecVelElemOpIII[Op <: ScalarOp](implicit op: BinOp[Op, Int, Int, Int]): VecVecElemOp[Op, Int, Int, Int]
implicit def VecVelElemOpILL[Op <: ScalarOp](implicit op: BinOp[Op, Int, Long, Long]): VecVecElemOp[Op, Int, Long, Long]
implicit def VecVelElemOpLDD[Op <: ScalarOp](implicit op: BinOp[Op, Long, Double, Double]): VecVecElemOp[Op, Long, Double, Double]
implicit def VecVelElemOpLIL[Op <: ScalarOp](implicit op: BinOp[Op, Long, Int, Long]): VecVecElemOp[Op, Long, Int, Long]
implicit def VecVelElemOpLLL[Op <: ScalarOp](implicit op: BinOp[Op, Long, Long, Long]): VecVecElemOp[Op, Long, Long, Long]