类 MAMath


  • public class MAMath
    extends Object
    Element by element algebra on Arrays
    作者:
    caron
    另请参阅:
    Index
    • 构造器详细资料

      • MAMath

        public MAMath()
    • 方法详细资料

      • addDouble

        public static void addDouble​(Array result,
                                     Array a,
                                     Array b)
                              throws IllegalArgumentException
        Add elements of two arrays together as doubles, place sum in the result array. The values from the arrays a and b are converted to double (if needed), and the sum is converted to the type of result (if needed).
        参数:
        result - result array
        a - operand
        b - operand
        抛出:
        IllegalArgumentException - a,b,and result are not conformable
      • conformable

        public static boolean conformable​(Array a,
                                          Array b)
        Check that two arrays are conformable.
        参数:
        a - operand
        b - operand
        返回:
        true if conformable
      • conformable

        public static boolean conformable​(int[] shapeA,
                                          int[] shapeB)
        Check that two array shapes are conformable. The shapes must match exactly, except that dimensions of length 1 are ignored.
        参数:
        shapeA - shape of array 1
        shapeB - shape of array 2
        返回:
        true if conformable
      • convertUnsigned

        public static Array convertUnsigned​(Array unsigned)
        Convert unsigned data to signed data of a wider type.
        参数:
        unsigned - must be of type byte, short or int
        返回:
        converted data of type short, int, or long
      • convert

        public static Array convert​(Array org,
                                    DataType wantType)
        Convert original array to desired type
        参数:
        org - original array
        wantType - desired type
        返回:
        converted data of desired type, or original array if it is already
      • copyDouble

        public static void copyDouble​(Array result,
                                      Array a)
                               throws IllegalArgumentException
        copy array a to array result as doubles The values from the arrays a are converted to double (if needed), and then converted to the type of result (if needed).
        参数:
        result - copy to here
        a - copy from here
        抛出:
        IllegalArgumentException - a and result are not conformable
      • copyFloat

        public static void copyFloat​(Array result,
                                     Array a)
                              throws IllegalArgumentException
        copy array a to array result as floats The values from the arrays a are converted to float (if needed), and then converted to the type of result (if needed).
        参数:
        result - copy to here
        a - copy from here
        抛出:
        IllegalArgumentException - a and result are not conformable
      • copyLong

        public static void copyLong​(Array result,
                                    Array a)
                             throws IllegalArgumentException
        copy array a to array result as longs The values from the array a are converted to long (if needed), and then converted to the type of result (if needed).
        参数:
        result - copy to here
        a - copy from here
        抛出:
        IllegalArgumentException - a and result are not conformable
      • copyInt

        public static void copyInt​(Array result,
                                   Array a)
                            throws IllegalArgumentException
        copy array a to array result as integers The values from the arrays a are converted to integer (if needed), and then converted to the type of result (if needed).
        参数:
        result - copy to here
        a - copy from here
        抛出:
        IllegalArgumentException - a and result are not conformable
      • copyShort

        public static void copyShort​(Array result,
                                     Array a)
                              throws IllegalArgumentException
        copy array a to array result as shorts The values from the array a are converted to short (if needed), and then converted to the type of result (if needed).
        参数:
        result - copy to here
        a - copy from here
        抛出:
        IllegalArgumentException - a and result are not conformable
      • copyChar

        public static void copyChar​(Array result,
                                    Array a)
                             throws IllegalArgumentException
        copy array a to array result as char The values from the array a are converted to char (if needed), and then converted to the type of result (if needed).
        参数:
        result - copy to here
        a - copy from here
        抛出:
        IllegalArgumentException - a and result are not conformable
      • copyByte

        public static void copyByte​(Array result,
                                    Array a)
                             throws IllegalArgumentException
        copy array a to array result as bytes The values from the array a are converted to byte (if needed), and then converted to the type of result (if needed).
        参数:
        result - copy to here
        a - copy from here
        抛出:
        IllegalArgumentException - a and result are not conformable
      • copyBoolean

        public static void copyBoolean​(Array result,
                                       Array a)
                                throws IllegalArgumentException
        copy array a to array result as bytes The array a and result must be type boolean
        参数:
        result - copy to here
        a - copy from here
        抛出:
        IllegalArgumentException - a and result are not conformable
      • copyObject

        public static void copyObject​(Array result,
                                      Array a)
                               throws IllegalArgumentException
        copy array a to array result as an Object The array a and result must be type object
        参数:
        result - copy to here
        a - copy from here
        抛出:
        IllegalArgumentException - a and result are not conformable
      • reducedRank

        public static int reducedRank​(int[] shape)
        Calculate the reduced rank of this shape, by subtracting dimensions with length 1
        参数:
        shape - shape of the array
        返回:
        rank without dimensions of length 1
      • getMinimum

        public static double getMinimum​(Array a)
      • getMaximum

        public static double getMaximum​(Array a)
      • getMinMax

        public static MAMath.MinMax getMinMax​(Array a)
        Find min and max value in this array, getting values as doubles. Skip Double.NaN.
        参数:
        a - the array.
        返回:
        MinMax
      • getMinimumSkipMissingData

        public static double getMinimumSkipMissingData​(Array a,
                                                       double missingValue)
      • getMaximumSkipMissingData

        public static double getMaximumSkipMissingData​(Array a,
                                                       double missingValue)
      • getMinMaxSkipMissingData

        public static MAMath.MinMax getMinMaxSkipMissingData​(Array a,
                                                             double missingValue)
      • setDouble

        public static void setDouble​(Array result,
                                     double val)
        Set all the elements of this array to the given double value. The value is converted to the element type of the array, if needed.
        参数:
        result - change this Array
        val - set all elements to this value
      • sumDouble

        public static double sumDouble​(Array a)
        sum all of the elements of array a as doubles. The values from the array a are converted to double (if needed).
        参数:
        a - read values from this Array
        返回:
        sum of elements
      • sumDoubleSkipMissingData

        public static double sumDoubleSkipMissingData​(Array a,
                                                      double missingValue)
        sum all of the elements of array a as doubles. The values from the array a are converted to double (if needed).
        参数:
        a - read values from this Array
        missingValue - skip values equal to this, or which are NaNs
        返回:
        sum of elements
      • calcScaleOffsetSkipMissingData

        public static MAMath.ScaleOffset calcScaleOffsetSkipMissingData​(Array a,
                                                                        double missingValue,
                                                                        int nbits,
                                                                        boolean isUnsigned)
        Calculate the scale/offset for an array of numbers.
         If signed:
           then
             max value unpacked = 2^(n-1) - 1 packed
             min value unpacked = -(2^(n-1) - 1) packed
           note that -2^(n-1) is unused, and a good place to map missing values
           by solving 2 eq in 2 unknowns, we get:
             scale = (max - min) / (2^n - 2)
             offset = (max + min) / 2
         If unsigned then
             max value unpacked = 2^n - 1 packed
             min value unpacked = 0 packed
           and:
             scale = (max - min) / (2^n - 1)
             offset = min
           One could modify this to allow a holder for missing values.
         
        参数:
        a - array to convert (not changed)
        missingValue - skip these
        nbits - map into this many bits
        isUnsigned - use signed or unsigned packed values
        返回:
        ScaleOffset, calculated as above.
      • convert2packed

        public static Array convert2packed​(Array unpacked,
                                           double missingValue,
                                           int nbits,
                                           boolean isUnsigned,
                                           DataType packedType)
      • fuzzyEquals

        public static boolean fuzzyEquals​(Array data1,
                                          Array data2)
        Returns true if the specified arrays have the same size, signedness, and approximately equal corresponding elements. float elements must be within 1.0e-5 of each other and double elements must be within 1.0e-8 of each other.

        参数:
        data1 - one array to be tested for equality.
        data2 - the other array to be tested for equality.
        返回:
        true if the specified arrays have the same size, signedness, and approximately equal corresponding elems.
      • isEqual

        public static boolean isEqual​(Array data1,
                                      Array data2)