Package org.ojalgo.matrix.operation
Class MultiplyBoth
- java.lang.Object
-
- org.ojalgo.matrix.operation.MultiplyBoth
-
- All Implemented Interfaces:
ArrayOperation
,MatrixOperation
public class MultiplyBoth extends java.lang.Object implements MatrixOperation
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
MultiplyBoth.Generic<N extends Scalar<N>>
static interface
MultiplyBoth.Primitive
-
Field Summary
Fields Modifier and Type Field Description private static DivideAndConquer.Divider
DIVIDER
static java.util.function.IntSupplier
PARALLELISM
static int
THRESHOLD
-
Constructor Summary
Constructors Constructor Description MultiplyBoth()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static void
base(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
Not running code.(package private) static void
divide(int first, int limit, DivideAndConquer.Conquerer conquerer)
(package private) static void
fill0xN_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static void
fill1x1_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static <N extends Scalar<N>>
voidfill1xN_G(TransformableRegion<N> product, Access1D<N> left, int complexity, Access1D<N> right)
(package private) static void
fill1xN_P64(TransformableRegion<java.lang.Double> product, Access1D<?> left, int complexity, Access1D<?> right)
(package private) static void
fill2x2_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static void
fill3x3_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static void
fill4x4_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static void
fill5x5_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static void
fill6xN_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static void
fill7xN_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static void
fill8xN_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static void
fill9xN_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static <N extends Scalar<N>>
voidfillMx1_G(TransformableRegion<N> product, Access1D<N> left, int complexity, Access1D<N> right)
(package private) static void
fillMx1_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static <N extends Scalar<N>>
voidfillMxN_G(TransformableRegion<N> product, Access1D<N> left, int complexity, Access1D<N> right)
(package private) static <N extends Scalar<N>>
voidfillMxN_MT_G(TransformableRegion<N> product, Access1D<N> left, int complexity, Access1D<N> right)
(package private) static void
fillMxN_MT_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static void
fillMxN_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static <N extends Scalar<N>>
voidfillRxN_G(TransformableRegion<N> product, int firstRow, int rowLimit, Access1D<N> left, int complexity, Access1D<N> right)
(package private) static void
fillRxN_P32(TransformableRegion<java.lang.Double> product, int firstRow, int rowLimit, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
(package private) static void
fillRxN_P64(TransformableRegion<java.lang.Double> product, int firstRow, int rowLimit, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
static <N extends Scalar<N>>
MultiplyBoth.Generic<N>newGeneric(int rows, int columns)
static MultiplyBoth.Primitive
newPrimitive32(int rows, int columns)
static MultiplyBoth.Primitive
newPrimitive64(int rows, int columns)
-
-
-
Field Detail
-
PARALLELISM
public static java.util.function.IntSupplier PARALLELISM
-
THRESHOLD
public static int THRESHOLD
-
DIVIDER
private static final DivideAndConquer.Divider DIVIDER
-
-
Method Detail
-
newGeneric
public static <N extends Scalar<N>> MultiplyBoth.Generic<N> newGeneric(int rows, int columns)
-
newPrimitive32
public static MultiplyBoth.Primitive newPrimitive32(int rows, int columns)
-
newPrimitive64
public static MultiplyBoth.Primitive newPrimitive64(int rows, int columns)
-
base
private static void base(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
Not running code. Copies used as a starting point when coding various variants
-
divide
static void divide(int first, int limit, DivideAndConquer.Conquerer conquerer)
-
fill0xN_P64
static void fill0xN_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fill1x1_P64
static void fill1x1_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fill1xN_G
static <N extends Scalar<N>> void fill1xN_G(TransformableRegion<N> product, Access1D<N> left, int complexity, Access1D<N> right)
-
fill1xN_P64
static void fill1xN_P64(TransformableRegion<java.lang.Double> product, Access1D<?> left, int complexity, Access1D<?> right)
-
fill2x2_P64
static void fill2x2_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fill3x3_P64
static void fill3x3_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fill4x4_P64
static void fill4x4_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fill5x5_P64
static void fill5x5_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fill6xN_P64
static void fill6xN_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fill7xN_P64
static void fill7xN_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fill8xN_P64
static void fill8xN_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fill9xN_P64
static void fill9xN_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fillMx1_G
static <N extends Scalar<N>> void fillMx1_G(TransformableRegion<N> product, Access1D<N> left, int complexity, Access1D<N> right)
-
fillMx1_P64
static void fillMx1_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fillMxN_G
static <N extends Scalar<N>> void fillMxN_G(TransformableRegion<N> product, Access1D<N> left, int complexity, Access1D<N> right)
-
fillMxN_MT_G
static <N extends Scalar<N>> void fillMxN_MT_G(TransformableRegion<N> product, Access1D<N> left, int complexity, Access1D<N> right)
-
fillMxN_MT_P64
static void fillMxN_MT_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fillMxN_P64
static void fillMxN_P64(TransformableRegion<java.lang.Double> product, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fillRxN_G
static <N extends Scalar<N>> void fillRxN_G(TransformableRegion<N> product, int firstRow, int rowLimit, Access1D<N> left, int complexity, Access1D<N> right)
-
fillRxN_P32
static void fillRxN_P32(TransformableRegion<java.lang.Double> product, int firstRow, int rowLimit, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
fillRxN_P64
static void fillRxN_P64(TransformableRegion<java.lang.Double> product, int firstRow, int rowLimit, Access1D<java.lang.Double> left, int complexity, Access1D<java.lang.Double> right)
-
-