Package org.ojalgo.matrix.operation
Class MultiplyNeither
java.lang.Object
org.ojalgo.matrix.operation.MultiplyNeither
- All Implemented Interfaces:
ArrayOperation
,MatrixOperation
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
MultiplyNeither.Generic<N extends Scalar<N>>
static interface
static interface
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final DivideAndConquer.Divider
static IntSupplier
static int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static void
add1xN
(double[] product, double[] left, int complexity, double[] right) (package private) static void
add1xN
(float[] product, float[] left, int complexity, float[] right) (package private) static void
addMx1
(double[] product, double[] left, int complexity, double[] right) (package private) static void
addMx1
(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 void
addMxC
(double[] product, int firstColumn, int columnLimit, double[] left, int complexity, double[] right) (package private) static void
addMxC
(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 void
addMxN_MT
(double[] product, double[] left, int complexity, double[] right) (package private) static void
addMxN_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 void
base
(double[] product, double[] left, int complexity, double[] right) Not running code.(package private) static void
divide
(int first, int limit, DivideAndConquer.Conquerer conquerer) (package private) static void
fill0xN
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fill1x1
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fill1xN
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fill1xN
(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 void
fill2x2
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fill3x3
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fill4x4
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fill5x5
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fill6xN
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fill7xN
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fill8xN
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fill9xN
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fillMx1
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fillMx1
(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 void
fillMxN
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fillMxN
(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 void
fillMxN_MT
(double[] product, double[] left, int complexity, double[] right) (package private) static void
fillMxN_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.Primitive32
newPrimitive32
(long rows, long columns) static MultiplyNeither.Primitive64
newPrimitive64
(long rows, long columns)
-
Field Details
-
PARALLELISM
-
THRESHOLD
public static int THRESHOLD -
DIVIDER
-
-
Constructor Details
-
MultiplyNeither
public MultiplyNeither()
-
-
Method Details
-
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 -
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)
-