Class DoubleArray

  • All Implemented Interfaces:
    org.apache.hadoop.io.Writable

    public class DoubleArray
    extends Array<Double>
    • Constructor Detail

      • DoubleArray

        public DoubleArray​(double[] data)
    • Method Detail

      • get

        public double[] get()
        Description copied from class: Array
        Get the underlying array out of the column Group, it is the responsibility of the caller to know what type it is. Also it is not guaranteed that the underlying data structure does not allocate an appropriate response to the caller. This in practice means that if called there is a possibility that the entire array is allocated again. So the method should only be used for debugging purposes not for performance.
        Specified by:
        get in class Array<Double>
        Returns:
        The underlying array.
      • get

        public Double get​(int index)
        Description copied from class: Array
        Get the value at a given index. This method returns objects that have a high overhead in allocation. Therefore it is not as efficient as using the vectorized operations specified in the object.
        Specified by:
        get in class Array<Double>
        Parameters:
        index - The index to query
        Returns:
        The value returned as an object
      • set

        public void set​(int index,
                        Double value)
        Description copied from class: Array
        Set index to the given value of same type
        Specified by:
        set in class Array<Double>
        Parameters:
        index - The index to set
        value - The value to assign
      • set

        public void set​(int index,
                        double value)
        Description copied from class: Array
        Set index to given double value (cast to the correct type of this array)
        Specified by:
        set in class Array<Double>
        Parameters:
        index - the index to set
        value - the value to set it to (before casting to correct value type)
      • set

        public void set​(int index,
                        String value)
        Description copied from class: Array
        Set index to the given value of the string parsed.
        Specified by:
        set in class Array<Double>
        Parameters:
        index - The index to set
        value - The value to assign
      • set

        public void set​(int rl,
                        int ru,
                        Array<Double> value)
        Description copied from class: Array
        Set range to given arrays value
        Overrides:
        set in class Array<Double>
        Parameters:
        rl - row lower
        ru - row upper (inclusive)
        value - value array to take values from (same type)
      • setFromOtherType

        public void setFromOtherType​(int rl,
                                     int ru,
                                     Array<?> value)
        Description copied from class: Array
        Set range to given arrays value
        Specified by:
        setFromOtherType in class Array<Double>
        Parameters:
        rl - row lower
        ru - row upper (inclusive)
        value - value array to take values from (other type)
      • set

        public void set​(int rl,
                        int ru,
                        Array<Double> value,
                        int rlSrc)
        Description copied from class: Array
        Set range to given arrays value with an offset into other array
        Overrides:
        set in class Array<Double>
        Parameters:
        rl - row lower
        ru - row upper (inclusive)
        value - value array to take values from
        rlSrc - the offset into the value array to take values from
      • setNz

        public void setNz​(int rl,
                          int ru,
                          Array<Double> value)
        Description copied from class: Array
        Set non default values in the range from the value array given
        Specified by:
        setNz in class Array<Double>
        Parameters:
        rl - row start
        ru - row upper inclusive
        value - value array of same type
      • setFromOtherTypeNz

        public void setFromOtherTypeNz​(int rl,
                                       int ru,
                                       Array<?> value)
        Description copied from class: Array
        Set non default values in the range from the value array given
        Specified by:
        setFromOtherTypeNz in class Array<Double>
        Parameters:
        rl - row start
        ru - row end inclusive
        value - value array of different type
      • append

        public void append​(String value)
        Description copied from class: Array
        Append a string value to the current Array, this should in general be avoided, and appending larger blocks at a time should be preferred.
        Specified by:
        append in class Array<Double>
        Parameters:
        value - The value to append
      • append

        public void append​(Double value)
        Description copied from class: Array
        Append a value of the same type of the Array. This should in general be avoided, and appending larger blocks at a time should be preferred.
        Specified by:
        append in class Array<Double>
        Parameters:
        value - The value to append
      • append

        public Array<Double> append​(Array<Double> other)
        Description copied from class: Array
        Append other array, if the other array is fitting in current allocated size use that allocated size, otherwise allocate new array to combine the other with this. This method should use the set range function, and should be preferred over the append single values.
        Specified by:
        append in class Array<Double>
        Parameters:
        other - The other array of same type to append to this.
        Returns:
        The combined arrays.
      • clone

        public Array<Double> clone()
        Description copied from class: Array
        Overwrite of the java internal clone function for arrays, return a clone of underlying data that is mutable, (not immutable data.) Immutable data is dependent on the individual allocated arrays
        Specified by:
        clone in class Array<Double>
        Returns:
        A clone
      • slice

        public Array<Double> slice​(int rl,
                                   int ru)
        Description copied from class: Array
        Slice out the sub range and return new array with the specified type. If the conversion fails fallback to normal slice.
        Specified by:
        slice in class Array<Double>
        Parameters:
        rl - row start
        ru - row end (not included)
        Returns:
        A new array of sub range.
      • reset

        public void reset​(int size)
        Description copied from class: Array
        Reset the Array and set to a different size. This method is used to reuse an already allocated Array, without extra allocation. It should only be done in cases where the Array is no longer in use in any FrameBlocks.
        Specified by:
        reset in class Array<Double>
        Parameters:
        size - The size to reallocate into.
      • getAsByteArray

        public byte[] getAsByteArray()
        Description copied from class: Array
        Return the current allocated Array as a byte[], this is used to serialize the allocated Arrays out to the PythonAPI.
        Specified by:
        getAsByteArray in class Array<Double>
        Returns:
        The array as bytes
      • getValueType

        public Types.ValueType getValueType()
        Description copied from class: Array
        Get the current value type of this array.
        Specified by:
        getValueType in class Array<Double>
        Returns:
        The current value type.
      • analyzeValueType

        public Pair<Types.ValueType,​Boolean> analyzeValueType​(int maxCells)
        Description copied from class: Array
        Analyze the column to figure out if the value type can be refined to a better type. The return is in two parts, first the type it can be, second if it contains nulls.
        Specified by:
        analyzeValueType in class Array<Double>
        Parameters:
        maxCells - maximum number of cells to analyze
        Returns:
        A better or equivalent value type to represent the column, including null information.
      • getFrameArrayType

        public ArrayFactory.FrameArrayType getFrameArrayType()
        Description copied from class: Array
        Get the internal FrameArrayType, to specify the encoding of the Types, note there are more Frame Array Types than there is ValueTypes.
        Specified by:
        getFrameArrayType in class Array<Double>
        Returns:
        The FrameArrayType
      • getInMemorySize

        public long getInMemorySize()
        Description copied from class: Array
        Get in memory size, not counting reference to this object.
        Overrides:
        getInMemorySize in class Array<Double>
        Returns:
        the size in memory of this object.
      • getExactSerializedSize

        public long getExactSerializedSize()
        Description copied from class: Array
        Get the exact serialized size on disk of this array.
        Specified by:
        getExactSerializedSize in class Array<Double>
        Returns:
        The exact size on disk
      • fill

        public void fill​(String value)
        Description copied from class: Array
        fill the entire array with specific value.
        Specified by:
        fill in class Array<Double>
        Parameters:
        value - the value to fill with.
      • fill

        public void fill​(Double value)
        Description copied from class: Array
        fill the entire array with specific value.
        Specified by:
        fill in class Array<Double>
        Parameters:
        value - the value to fill with.
      • getAsDouble

        public double getAsDouble​(int i)
        Description copied from class: Array
        Get the index's value. returns 0 in case of Null.
        Specified by:
        getAsDouble in class Array<Double>
        Parameters:
        i - index to get value from
        Returns:
        the value
      • parseDouble

        public static double parseDouble​(String value)
      • isShallowSerialize

        public boolean isShallowSerialize()
        Description copied from class: Array
        analyze if this array can be shallow serialized. to allow caching without modification.
        Specified by:
        isShallowSerialize in class Array<Double>
        Returns:
        boolean saying true if shallow serialization is available
      • isEmpty

        public boolean isEmpty()
        Description copied from class: Array
        Get if this array is empty, aka filled with empty values.
        Specified by:
        isEmpty in class Array<Double>
        Returns:
        boolean saying true if empty
      • select

        public Array<Double> select​(int[] indices)
        Description copied from class: Array
        Slice out the specified indices and return the sub array.
        Specified by:
        select in class Array<Double>
        Parameters:
        indices - The indices to slice out
        Returns:
        the sliced out indices in an array format
      • select

        public Array<Double> select​(boolean[] select,
                                    int nTrue)
        Description copied from class: Array
        Slice out the true indices in the select input and return the sub array.
        Specified by:
        select in class Array<Double>
        Parameters:
        select - a boolean vector specifying what to select
        nTrue - number of true values inside select
        Returns:
        the sliced out indices in an array format
      • isNotEmpty

        public final boolean isNotEmpty​(int i)
        Specified by:
        isNotEmpty in class Array<Double>
      • hashDouble

        public double hashDouble​(int idx)
        Description copied from class: Array
        Hash the given index of the array. It is allowed to return NaN on null elements.
        Specified by:
        hashDouble in class Array<Double>
        Parameters:
        idx - The index to hash
        Returns:
        The hash value of that index.