Class DataBufferDouble
DataBuffer and stores data internally
in double form.
- Since:
- 1.4
-
Field Summary
Fields declared in class DataBuffer
banks, dataType, offset, offsets, size, TYPE_BYTE, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INT, TYPE_SHORT, TYPE_UNDEFINED, TYPE_USHORTModifier and TypeFieldDescriptionprotected intThe number of banks in this DataBuffer.protected intThe data type of this DataBuffer.protected intOffset into default (first) bank from which to get the first element.protected int[]Offsets into all banks.protected intUsable size of all banks.static final intTag for unsigned byte data.static final intTag for double data.static final intTag for float data.static final intTag for int data.static final intTag for signed short data.static final intTag for undefined data.static final intTag for unsigned short data. -
Constructor Summary
ConstructorsConstructorDescriptionDataBufferDouble(double[][] dataArray, int size) Constructs adouble-basedDataBufferwith the specified data arrays.DataBufferDouble(double[][] dataArray, int size, int[] offsets) Constructs adouble-basedDataBufferwith the specified data arrays, size, and per-bank offsets.DataBufferDouble(double[] dataArray, int size) Constructs adouble-basedDataBufferwith the specified data array.DataBufferDouble(double[] dataArray, int size, int offset) Constructs adouble-basedDataBufferwith the specified data array.DataBufferDouble(int size) Constructs adouble-basedDataBufferwith a specified size.DataBufferDouble(int size, int numBanks) Constructs adouble-basedDataBufferwith a specified number of banks, all of which are of a specified size. -
Method Summary
Modifier and TypeMethodDescriptiondouble[][]Returns the data array for all banks.double[]getData()Returns the default (first)doubledata array.double[]getData(int bank) Returns the data array for the specified bank.intgetElem(int i) Returns the requested data array element from the first (default) bank as anint.intgetElem(int bank, int i) Returns the requested data array element from the specified bank as anint.doublegetElemDouble(int i) Returns the requested data array element from the first (default) bank as adouble.doublegetElemDouble(int bank, int i) Returns the requested data array element from the specified bank as adouble.floatgetElemFloat(int i) Returns the requested data array element from the first (default) bank as afloat.floatgetElemFloat(int bank, int i) Returns the requested data array element from the specified bank as afloat.voidsetElem(int i, int val) Sets the requested data array element in the first (default) bank to the givenint.voidsetElem(int bank, int i, int val) Sets the requested data array element in the specified bank to the givenint.voidsetElemDouble(int i, double val) Sets the requested data array element in the first (default) bank to the givendouble.voidsetElemDouble(int bank, int i, double val) Sets the requested data array element in the specified bank to the givendouble.voidsetElemFloat(int i, float val) Sets the requested data array element in the first (default) bank to the givenfloat.voidsetElemFloat(int bank, int i, float val) Sets the requested data array element in the specified bank to the givenfloat.Methods declared in class DataBuffer
getDataType, getDataTypeSize, getNumBanks, getOffset, getOffsets, getSizeModifier and TypeMethodDescriptionintReturns the data type of this DataBuffer.static intgetDataTypeSize(int type) Returns the size (in bits) of the data type, given a datatype tag.intReturns the number of banks in this DataBuffer.intReturns the offset of the default bank in array elements.int[]Returns the offsets (in array elements) of all the banks.intgetSize()Returns the size (in array elements) of all banks.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.toString()Answers a string containing a concise, human-readable description of the receiver.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
Constructor Details
-
DataBufferDouble
public DataBufferDouble(int size) Constructs adouble-basedDataBufferwith a specified size.- Parameters:
size- The number of elements in theDataBuffer.- Throws:
IllegalArgumentException- ifsizeis less than or equal to zero.
-
DataBufferDouble
public DataBufferDouble(int size, int numBanks) Constructs adouble-basedDataBufferwith a specified number of banks, all of which are of a specified size.- Parameters:
size- The number of elements in each bank of theDataBuffer.numBanks- The number of banks in theDataBuffer.- Throws:
IllegalArgumentException- ifsizeornumBanksis less than or equal to zero.
-
DataBufferDouble
public DataBufferDouble(double[] dataArray, int size) Constructs adouble-basedDataBufferwith the specified data array. Only the firstsizeelements are available for use by thisDataBuffer. The array must be large enough to holdsizeelements.Note that
DataBufferobjects created by this constructor may be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).- Parameters:
dataArray- An array ofdoubles to be used as the first and only bank of thisDataBuffer.size- The number of elements of the array to be used.- Throws:
NullPointerException- ifdataArrayisnull.IllegalArgumentException- ifsizeis less than or equal to zero, or is greater than the length ofdataArray.
-
DataBufferDouble
public DataBufferDouble(double[] dataArray, int size, int offset) Constructs adouble-basedDataBufferwith the specified data array. Only the elements betweenoffsetandoffset + size - 1are available for use by thisDataBuffer. The array must be large enough to holdoffset + sizeelements.Note that
DataBufferobjects created by this constructor may be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).- Parameters:
dataArray- An array ofdoubles to be used as the first and only bank of thisDataBuffer.size- The number of elements of the array to be used.offset- The offset of the first element of the array that will be used.- Throws:
NullPointerException- ifdataArrayisnull.IllegalArgumentException- ifsizeis less than or equal to zero, oroffsetis less than zero, or(offset + size)is greater than the length ofdataArray.
-
DataBufferDouble
public DataBufferDouble(double[][] dataArray, int size) Constructs adouble-basedDataBufferwith the specified data arrays. Only the firstsizeelements of each array are available for use by thisDataBuffer. The number of banks will be equalto dataArray.length.Note that
DataBufferobjects created by this constructor may be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).- Parameters:
dataArray- An array of arrays ofdoubles to be used as the banks of thisDataBuffer.size- The number of elements of each array to be used.- Throws:
NullPointerException- ifdataArrayisnull.IllegalArgumentException- ifsizeis less than or equal to zero.IllegalArgumentException- ifdataArraydoes not have at least one bank.NullPointerException- if any bank ofdataArrayisnull.IllegalArgumentException- if the length of any bank ofdataArrayis less thansize.
-
DataBufferDouble
public DataBufferDouble(double[][] dataArray, int size, int[] offsets) Constructs adouble-basedDataBufferwith the specified data arrays, size, and per-bank offsets. The number of banks is equal to dataArray.length. Each array must be at least as large assizeplus the corresponding offset. There must be an entry in theoffsetsarray for each data array.Note that
DataBufferobjects created by this constructor may be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).- Parameters:
dataArray- An array of arrays ofdoubles to be used as the banks of thisDataBuffer.size- The number of elements of each array to be used.offsets- An array of integer offsets, one for each bank.- Throws:
IllegalArgumentException- ifsizeis less than or equal to zero.NullPointerException- ifdataArrayisnull.NullPointerException- if any bank ofdataArrayisnull.IllegalArgumentException- ifdataArraydoes not have at least one bank.NullPointerException- ifoffsetsisnull.IllegalArgumentException- if any element ofoffsetsis less than zero.ArrayIndexOutOfBoundsException- if the lengths ofdataArrayandoffsetsdiffer.IllegalArgumentException- if the length of any bank ofdataArrayis less than(size + offsets[bankIndex]).
-
-
Method Details
-
getData
public double[] getData()Returns the default (first)doubledata array.Note that calling this method may cause this
DataBufferobject to be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).- Returns:
- the first double data array.
-
getData
public double[] getData(int bank) Returns the data array for the specified bank.Note that calling this method may cause this
DataBufferobject to be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).- Parameters:
bank- the data array- Returns:
- the data array specified by
bank. - Throws:
ArrayIndexOutOfBoundsException- ifbankis not a valid bank index.
-
getBankData
public double[][] getBankData()Returns the data array for all banks.Note that calling this method may cause this
DataBufferobject to be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).- Returns:
- all data arrays from this data buffer.
-
getElem
public int getElem(int i) Returns the requested data array element from the first (default) bank as anint.- Overrides:
getElemin classDataBuffer- Parameters:
i- The desired data array element.- Returns:
- The data entry as an
int. - Throws:
ArrayIndexOutOfBoundsException- if(i + getOffset())is not a valid index.- See Also:
-
getElem
public int getElem(int bank, int i) Returns the requested data array element from the specified bank as anint.- Specified by:
getElemin classDataBuffer- Parameters:
bank- The bank number.i- The desired data array element.- Returns:
- The data entry as an
int. - Throws:
ArrayIndexOutOfBoundsException- ifbankis not a valid bank index, or(i + getOffsets()[bank])is not a valid index into the bank.- See Also:
-
setElem
public void setElem(int i, int val) Sets the requested data array element in the first (default) bank to the givenint.- Overrides:
setElemin classDataBuffer- Parameters:
i- The desired data array element.val- The value to be set.- Throws:
ArrayIndexOutOfBoundsException- if(i + getOffset())is not a valid index.- See Also:
-
setElem
public void setElem(int bank, int i, int val) Sets the requested data array element in the specified bank to the givenint.- Specified by:
setElemin classDataBuffer- Parameters:
bank- The bank number.i- The desired data array element.val- The value to be set.- Throws:
ArrayIndexOutOfBoundsException- ifbankis not a valid bank index, or(i + getOffsets()[bank])is not a valid index into the bank.- See Also:
-
getElemFloat
public float getElemFloat(int i) Returns the requested data array element from the first (default) bank as afloat.- Overrides:
getElemFloatin classDataBuffer- Parameters:
i- The desired data array element.- Returns:
- The data entry as a
float. - Throws:
ArrayIndexOutOfBoundsException- if(i + getOffset())is not a valid index.- See Also:
-
getElemFloat
public float getElemFloat(int bank, int i) Returns the requested data array element from the specified bank as afloat.- Overrides:
getElemFloatin classDataBuffer- Parameters:
bank- The bank number.i- The desired data array element.- Returns:
- The data entry as a
float. - Throws:
ArrayIndexOutOfBoundsException- ifbankis not a valid bank index, or(i + getOffsets()[bank])is not a valid index into the bank.- See Also:
-
setElemFloat
public void setElemFloat(int i, float val) Sets the requested data array element in the first (default) bank to the givenfloat.- Overrides:
setElemFloatin classDataBuffer- Parameters:
i- The desired data array element.val- The value to be set.- Throws:
ArrayIndexOutOfBoundsException- if(i + getOffset())is not a valid index.- See Also:
-
setElemFloat
public void setElemFloat(int bank, int i, float val) Sets the requested data array element in the specified bank to the givenfloat.- Overrides:
setElemFloatin classDataBuffer- Parameters:
bank- The bank number.i- The desired data array element.val- The value to be set.- Throws:
ArrayIndexOutOfBoundsException- ifbankis not a valid bank index, or(i + getOffsets()[bank])is not a valid index into the bank.- See Also:
-
getElemDouble
public double getElemDouble(int i) Returns the requested data array element from the first (default) bank as adouble.- Overrides:
getElemDoublein classDataBuffer- Parameters:
i- The desired data array element.- Returns:
- The data entry as a
double. - Throws:
ArrayIndexOutOfBoundsException- if(i + getOffset())is not a valid index.- See Also:
-
getElemDouble
public double getElemDouble(int bank, int i) Returns the requested data array element from the specified bank as adouble.- Overrides:
getElemDoublein classDataBuffer- Parameters:
bank- The bank number.i- The desired data array element.- Returns:
- The data entry as a
double. - Throws:
ArrayIndexOutOfBoundsException- ifbankis not a valid bank index, or(i + getOffsets()[bank])is not a valid index into the bank.- See Also:
-
setElemDouble
public void setElemDouble(int i, double val) Sets the requested data array element in the first (default) bank to the givendouble.- Overrides:
setElemDoublein classDataBuffer- Parameters:
i- The desired data array element.val- The value to be set.- Throws:
ArrayIndexOutOfBoundsException- if(i + getOffset())is not a valid index.- See Also:
-
setElemDouble
public void setElemDouble(int bank, int i, double val) Sets the requested data array element in the specified bank to the givendouble.- Overrides:
setElemDoublein classDataBuffer- Parameters:
bank- The bank number.i- The desired data array element.val- The value to be set.- Throws:
ArrayIndexOutOfBoundsException- ifbankis not a valid bank index, or(i + getOffsets()[bank])is not a valid index into the bank.- See Also:
-