package ops
Provides type aliases for a few basic operations
- Alphabetic
- By Inheritance
- ops
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait Add extends ScalarOp
- type AddOp[T] = BinOp[Add, T, T, T]
- trait AndOp extends ScalarOp
- trait BinOp[O <: OpType, -X, -Y, +Z] extends AnyRef
Concrete implementations of BinOp provide primitive-specialized support for performing binary operations on elements of the following objects, as well as the objects themselves:
Concrete implementations of BinOp provide primitive-specialized support for performing binary operations on elements of the following objects, as well as the objects themselves:
Appropriate BinOp instances have to be made available in an implicit context in order for the org.saddle.ops.NumericOps methods inherited by the structures above to operate in a seamless fashion.
For example:
Vec(1,2,3) * Vec(4,5,6) == Vec(4,10,18)
The multiplication above relies on two BinOp implementations: the first is BinOp[Multiply, Vec, Vec, Vec], whose implementation in turn relies on BinOp[Multiply, Int, Int, Int].
- Annotations
- @implicitNotFound()
- trait BinOpFrame extends AnyRef
Provides concrete implementations of binary operations for org.saddle.Frame; these instances provide implicit support for org.saddle.ops.NumericOps methods which are inherited by Frame.
- trait BinOpInPlace[O <: OpType, -X, -Y] extends AnyRef
- trait BinOpMat extends AnyRef
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.
- trait BinOpMatInPlace extends AnyRef
- trait BinOpSeries extends AnyRef
Provides concrete implementations of binary operations for org.saddle.Series; these instances provide implicit support for org.saddle.ops.NumericOps methods which are inherited by Series.
- trait BinOpVec extends AnyRef
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.
- trait BinOpVecInPlace extends AnyRef
- trait BitAnd extends ScalarOp
- trait BitOr extends ScalarOp
- trait BitShl extends ScalarOp
- trait BitShr extends ScalarOp
- trait BitUShr extends ScalarOp
- trait BitXor extends ScalarOp
- type DivOp[T] = BinOp[Divide, T, T, T]
- trait Divide extends ScalarOp
- trait EqOp extends ScalarOp
- trait GtOp extends ScalarOp
- trait GteOp extends ScalarOp
- trait InnerProd extends MatrixOp
- trait LtOp extends ScalarOp
- trait LteOp extends ScalarOp
- trait MatrixOp extends OpType
- trait Mod extends ScalarOp
- type MulOp[T] = BinOp[Multiply, T, T, T]
- trait Multiply extends ScalarOp
- trait NeqOp extends ScalarOp
- trait NumericOps[+This] extends AnyRef
NumericOps provides a mix-in trait for mathematical objects, which in Saddle include:
NumericOps provides a mix-in trait for mathematical objects, which in Saddle include:
The methods of this trait allow certain element-wise operations involving these objects to be expressed more naturally as mathematical expressions.
For instance:
Vec(1,2,4) << 1 == Vec(2,4,8) Vec(1,2,4) + Vec(3,5,7) == Vec(4,7,11) Vec(1,2,4) dot Vec(3,5,7) == 41
- This
The type of the class inheriting the NumericOps trait
- sealed trait OpType extends AnyRef
All operations on Saddle objects are defined via instances of subtypes of the trait OpType.
All operations on Saddle objects are defined via instances of subtypes of the trait OpType. The instances further derive from ScalarOp or MatrixOp, depending on whether the second operand is a scalar or higher-dimensional object.
- trait OrOp extends ScalarOp
- trait OuterProd extends MatrixOp
- trait Power extends ScalarOp
- trait ScalarOp extends OpType
- type SubOp[T] = BinOp[Subtract, T, T, T]
- trait Subtract extends ScalarOp
- trait XorOp extends ScalarOp
Value Members
- object BinOps extends BinOpMat with BinOpMatInPlace with BinOpVec with BinOpVecInPlace with BinOpFrame with BinOpSeries
Contains implementations of primitive binary ops that are NA-aware
Contains implementations of primitive binary ops that are NA-aware
Double primitive has NA bit pattern baked into its representation, but for others we must check for the appropriate sentinel value.
Note scala.Function2 is not specialized on Boolean inputs, only output