Class DOT

  • All Implemented Interfaces:
    ArrayOperation

    public abstract class DOT
    extends java.lang.Object
    implements ArrayOperation
    The ?dot routines perform a vector-vector reduction operation defined as Equation where xi and yi are elements of vectors x and y.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int THRESHOLD  
    • Constructor Summary

      Constructors 
      Constructor Description
      DOT()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static double invoke​(double[] array1, int offset1, double[] array2, int offset2, int first, int limit)  
      static double invoke​(double[] array1, int offset1, Access1D<?> array2, int offset2, int first, int limit)  
      static float invoke​(float[] array1, int offset1, float[] array2, int offset2, int first, int limit)  
      static float invoke​(float[] array1, int offset1, Access1D<?> array2, int offset2, int first, int limit)  
      static java.math.BigDecimal invoke​(java.math.BigDecimal[] array1, int offset1, java.math.BigDecimal[] array2, int offset2, int first, int limit)  
      static <N extends Scalar<N>>
      N
      invoke​(N[] array1, int offset1, N[] array2, int offset2, int first, int limit, Scalar.Factory<N> factory)  
      static <N extends Scalar<N>>
      N
      invoke​(N[] array1, int offset1, Access1D<N> array2, int offset2, int first, int limit, Scalar.Factory<N> factory)  
      static ComplexNumber invoke​(ComplexNumber[] array1, int offset1, ComplexNumber[] array2, int offset2, int first, int limit)  
      static double invoke​(Access1D<?> array1, int offset1, double[] array2, int offset2, int first, int limit)  
      static float invoke​(Access1D<?> array1, int offset1, float[] array2, int offset2, int first, int limit)  
      static <N extends Scalar<N>>
      N
      invoke​(Access1D<N> array2, int offset2, N[] array1, int offset1, int first, int limit, Scalar.Factory<N> factory)  
      static <N extends Scalar<N>>
      N
      invokeG​(Access1D<N> array1, int offset1, Access1D<N> array2, int offset2, int first, int limit, Scalar.Factory<N> scalar)  
      static double invokeP64​(Access1D<?> array1, int offset1, Access1D<?> array2, int offset2, int first, int limit)  
      (package private) static double plain​(double[] array1, int offset1, double[] array2, int offset2, int first, int limit)  
      (package private) static float plain​(float[] array1, int offset1, float[] array2, int offset2, int first, int limit)  
      (package private) static float unrolled02​(float[] array1, int offset1, float[] array2, int offset2, int first, int limit)  
      (package private) static double unrolled04​(double[] array1, int offset1, double[] array2, int offset2, int first, int limit)  
      (package private) static float unrolled04​(float[] array1, int offset1, float[] array2, int offset2, int first, int limit)  
      (package private) static float unrolled08​(float[] array1, int offset1, float[] array2, int offset2, int first, int limit)  
      (package private) static float unrolled16​(float[] array1, int offset1, float[] array2, int offset2, int first, int limit)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • THRESHOLD

        public static int THRESHOLD
    • Constructor Detail

      • DOT

        public DOT()
    • Method Detail

      • invoke

        public static double invoke​(Access1D<?> array1,
                                    int offset1,
                                    double[] array2,
                                    int offset2,
                                    int first,
                                    int limit)
      • invoke

        public static float invoke​(Access1D<?> array1,
                                   int offset1,
                                   float[] array2,
                                   int offset2,
                                   int first,
                                   int limit)
      • invoke

        public static <N extends Scalar<N>> N invoke​(Access1D<N> array2,
                                                     int offset2,
                                                     N[] array1,
                                                     int offset1,
                                                     int first,
                                                     int limit,
                                                     Scalar.Factory<N> factory)
      • invoke

        public static java.math.BigDecimal invoke​(java.math.BigDecimal[] array1,
                                                  int offset1,
                                                  java.math.BigDecimal[] array2,
                                                  int offset2,
                                                  int first,
                                                  int limit)
      • invoke

        public static double invoke​(double[] array1,
                                    int offset1,
                                    Access1D<?> array2,
                                    int offset2,
                                    int first,
                                    int limit)
      • invoke

        public static double invoke​(double[] array1,
                                    int offset1,
                                    double[] array2,
                                    int offset2,
                                    int first,
                                    int limit)
      • invoke

        public static float invoke​(float[] array1,
                                   int offset1,
                                   Access1D<?> array2,
                                   int offset2,
                                   int first,
                                   int limit)
      • invoke

        public static float invoke​(float[] array1,
                                   int offset1,
                                   float[] array2,
                                   int offset2,
                                   int first,
                                   int limit)
      • invoke

        public static <N extends Scalar<N>> N invoke​(N[] array1,
                                                     int offset1,
                                                     Access1D<N> array2,
                                                     int offset2,
                                                     int first,
                                                     int limit,
                                                     Scalar.Factory<N> factory)
      • invoke

        public static <N extends Scalar<N>> N invoke​(N[] array1,
                                                     int offset1,
                                                     N[] array2,
                                                     int offset2,
                                                     int first,
                                                     int limit,
                                                     Scalar.Factory<N> factory)
      • invokeG

        public static <N extends Scalar<N>> N invokeG​(Access1D<N> array1,
                                                      int offset1,
                                                      Access1D<N> array2,
                                                      int offset2,
                                                      int first,
                                                      int limit,
                                                      Scalar.Factory<N> scalar)
      • invokeP64

        public static double invokeP64​(Access1D<?> array1,
                                       int offset1,
                                       Access1D<?> array2,
                                       int offset2,
                                       int first,
                                       int limit)
      • plain

        static double plain​(double[] array1,
                            int offset1,
                            double[] array2,
                            int offset2,
                            int first,
                            int limit)
      • plain

        static float plain​(float[] array1,
                           int offset1,
                           float[] array2,
                           int offset2,
                           int first,
                           int limit)
      • unrolled02

        static float unrolled02​(float[] array1,
                                int offset1,
                                float[] array2,
                                int offset2,
                                int first,
                                int limit)
      • unrolled04

        static double unrolled04​(double[] array1,
                                 int offset1,
                                 double[] array2,
                                 int offset2,
                                 int first,
                                 int limit)
      • unrolled04

        static float unrolled04​(float[] array1,
                                int offset1,
                                float[] array2,
                                int offset2,
                                int first,
                                int limit)
      • unrolled08

        static float unrolled08​(float[] array1,
                                int offset1,
                                float[] array2,
                                int offset2,
                                int first,
                                int limit)
      • unrolled16

        static float unrolled16​(float[] array1,
                                int offset1,
                                float[] array2,
                                int offset2,
                                int first,
                                int limit)