Class MultiplyNeither
java.lang.Object
org.ojalgo.matrix.operation.MultiplyNeither
- All Implemented Interfaces:
ArrayOperation, MatrixOperation
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceMultiplyNeither.Generic<N extends Scalar<N>>static interfacestatic interface -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final DivideAndConquer.Dividerstatic IntSupplierstatic int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidadd(double[][] product, double[][] left, double[][] right) (package private) static voidadd1xN(double[] product, double[] left, int complexity, double[] right) (package private) static voidadd1xN(float[] product, float[] left, int complexity, float[] right) (package private) static voidaddMx1(double[] product, double[] left, int complexity, double[] right) (package private) static voidaddMx1(float[] product, float[] left, int complexity, float[] right) (package private) static <N extends Scalar<N>>
voidaddMx1(N[] product, N[] left, int complexity, N[] right) (package private) static voidaddMxC(double[] product, int firstColumn, int columnLimit, double[] left, int complexity, double[] right) (package private) static voidaddMxC(float[] product, int firstColumn, int columnLimit, float[] left, int complexity, float[] right) (package private) static <N extends Scalar<N>>
voidaddMxC(N[] product, int firstColumn, int columnLimit, N[] left, int complexity, N[] right) (package private) static voidaddMxN_MT(double[] product, double[] left, int complexity, double[] right) (package private) static voidaddMxN_MT(float[] product, float[] left, int complexity, float[] right) (package private) static <N extends Scalar<N>>
voidaddMxN_MT(N[] product, N[] left, int complexity, N[] right) private static voidbase(double[] product, double[] left, int complexity, double[] right) Not running code.(package private) static voiddivide(int first, int limit, DivideAndConquer.Conquerer conquerer) private static voiddoOneRow(double[] prodRow, double[] leftRow, double[][] right) static voidfill(double[][] product, double[][] left, double[][] right) (package private) static voidfill0xN(double[] product, double[] left, int complexity, double[] right) (package private) static voidfill1x1(double[] product, double[] left, int complexity, double[] right) (package private) static voidfill1xN(double[] product, double[] left, int complexity, double[] right) (package private) static voidfill1xN(float[] product, float[] left, int complexity, float[] right) (package private) static <N extends Scalar<N>>
voidfill1xN(N[] product, N[] left, int complexity, N[] right, Scalar.Factory<N> scalar) (package private) static voidfill2x2(double[] product, double[] left, int complexity, double[] right) (package private) static voidfill3x3(double[] product, double[] left, int complexity, double[] right) (package private) static voidfill4x4(double[] product, double[] left, int complexity, double[] right) (package private) static voidfill5x5(double[] product, double[] left, int complexity, double[] right) (package private) static voidfill6xN(double[] product, double[] left, int complexity, double[] right) (package private) static voidfill7xN(double[] product, double[] left, int complexity, double[] right) (package private) static voidfill8xN(double[] product, double[] left, int complexity, double[] right) (package private) static voidfill9xN(double[] product, double[] left, int complexity, double[] right) (package private) static voidfillMx1(double[] product, double[] left, int complexity, double[] right) (package private) static voidfillMx1(float[] product, float[] left, int complexity, float[] right) (package private) static <N extends Scalar<N>>
voidfillMx1(N[] product, N[] left, int complexity, N[] right, Scalar.Factory<N> scalar) (package private) static voidfillMxN(double[] product, double[] left, int complexity, double[] right) (package private) static voidfillMxN(float[] product, float[] left, int complexity, float[] right) (package private) static <N extends Scalar<N>>
voidfillMxN(N[] product, N[] left, int complexity, N[] right, Scalar.Factory<N> scalar) (package private) static voidfillMxN_MT(double[] product, double[] left, int complexity, double[] right) (package private) static voidfillMxN_MT(float[] product, float[] left, int complexity, float[] right) (package private) static <N extends Scalar<N>>
voidfillMxN_MT(N[] product, N[] left, int complexity, N[] right, Scalar.Factory<N> scalar) static <N extends Scalar<N>>
MultiplyNeither.Generic<N> newGeneric(long rows, long columns) static MultiplyNeither.Primitive32newPrimitive32(long rows, long columns) static MultiplyNeither.Primitive64newPrimitive64(long rows, long columns)
-
Field Details
-
PARALLELISM
-
THRESHOLD
public static int THRESHOLD -
DIVIDER
-
-
Constructor Details
-
MultiplyNeither
public MultiplyNeither()
-
-
Method Details
-
add
public static void add(double[][] product, double[][] left, double[][] right) -
fill
public static void fill(double[][] product, double[][] left, double[][] right) -
newGeneric
-
newPrimitive32
-
newPrimitive64
-
base
private static void base(double[] product, double[] left, int complexity, double[] right) Not running code. Copies used as a starting point when coding various variants -
doOneRow
private static void doOneRow(double[] prodRow, double[] leftRow, double[][] right) -
add1xN
static void add1xN(double[] product, double[] left, int complexity, double[] right) -
add1xN
static void add1xN(float[] product, float[] left, int complexity, float[] right) -
addMx1
static void addMx1(double[] product, double[] left, int complexity, double[] right) -
addMx1
static void addMx1(float[] product, float[] left, int complexity, float[] right) -
addMx1
-
addMxC
static void addMxC(double[] product, int firstColumn, int columnLimit, double[] left, int complexity, double[] right) -
addMxC
static void addMxC(float[] product, int firstColumn, int columnLimit, float[] left, int complexity, float[] right) -
addMxC
static <N extends Scalar<N>> void addMxC(N[] product, int firstColumn, int columnLimit, N[] left, int complexity, N[] right) -
addMxN_MT
static void addMxN_MT(double[] product, double[] left, int complexity, double[] right) -
addMxN_MT
static void addMxN_MT(float[] product, float[] left, int complexity, float[] right) -
addMxN_MT
-
divide
-
fill0xN
static void fill0xN(double[] product, double[] left, int complexity, double[] right) -
fill1x1
static void fill1x1(double[] product, double[] left, int complexity, double[] right) -
fill1xN
static void fill1xN(double[] product, double[] left, int complexity, double[] right) -
fill1xN
static void fill1xN(float[] product, float[] left, int complexity, float[] right) -
fill1xN
static <N extends Scalar<N>> void fill1xN(N[] product, N[] left, int complexity, N[] right, Scalar.Factory<N> scalar) -
fill2x2
static void fill2x2(double[] product, double[] left, int complexity, double[] right) -
fill3x3
static void fill3x3(double[] product, double[] left, int complexity, double[] right) -
fill4x4
static void fill4x4(double[] product, double[] left, int complexity, double[] right) -
fill5x5
static void fill5x5(double[] product, double[] left, int complexity, double[] right) -
fill6xN
static void fill6xN(double[] product, double[] left, int complexity, double[] right) -
fill7xN
static void fill7xN(double[] product, double[] left, int complexity, double[] right) -
fill8xN
static void fill8xN(double[] product, double[] left, int complexity, double[] right) -
fill9xN
static void fill9xN(double[] product, double[] left, int complexity, double[] right) -
fillMx1
static void fillMx1(double[] product, double[] left, int complexity, double[] right) -
fillMx1
static void fillMx1(float[] product, float[] left, int complexity, float[] right) -
fillMx1
static <N extends Scalar<N>> void fillMx1(N[] product, N[] left, int complexity, N[] right, Scalar.Factory<N> scalar) -
fillMxN
static void fillMxN(double[] product, double[] left, int complexity, double[] right) -
fillMxN
static void fillMxN(float[] product, float[] left, int complexity, float[] right) -
fillMxN
static <N extends Scalar<N>> void fillMxN(N[] product, N[] left, int complexity, N[] right, Scalar.Factory<N> scalar) -
fillMxN_MT
static void fillMxN_MT(double[] product, double[] left, int complexity, double[] right) -
fillMxN_MT
static void fillMxN_MT(float[] product, float[] left, int complexity, float[] right) -
fillMxN_MT
static <N extends Scalar<N>> void fillMxN_MT(N[] product, N[] left, int complexity, N[] right, Scalar.Factory<N> scalar)
-