Class CircularArray_F64
java.lang.Object
org.ddogleg.struct.CircularArrayBase
org.ddogleg.struct.CircularArray_F64
A circular queue which can grow as needed.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsFields inherited from class CircularArrayBase
size, start -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(double value) Adds a new element to the queue, but if the queue is full write over the oldest element.copy()doubleget(int index) Returns the element in the queue at index.intNumber of elements in the inner arraydoublehead()Value of the first element in the queueintindexOf(int offset, CircularArray_F64.Match condition) Searches for the next element starting at index "offset" that the passed in condition is true for.<T> TReference to the inner arraydoublepopHead()Returns and removes the first element from the queue.doublepopTail()Returns and removes the last element from the queue.voidresizeQueue(int maxSize) setTo(CircularArray_F64 original) protected voidshiftElements(int src0, int dst0, int length) Copies the value in the src into dst inside the inner array.doubletail()Value of the last element in the queueMethods inherited from class CircularArrayBase
arrayIndex, isEmpty, isFull, remove, removeHead, removeTail, reset, size
-
Field Details
-
data
public double[] data
-
-
Constructor Details
-
CircularArray_F64
public CircularArray_F64() -
CircularArray_F64
public CircularArray_F64(int dataSize)
-
-
Method Details
-
indexOf
Searches for the next element starting at index "offset" that the passed in condition is true for. Returns -1 if no match was found -
popHead
public double popHead()Returns and removes the first element from the queue.- Returns:
- first element in the queue
-
popTail
public double popTail()Returns and removes the last element from the queue.- Returns:
- last element in the queue
-
head
public double head()Value of the first element in the queue -
tail
public double tail()Value of the last element in the queue -
get
public double get(int index) Returns the element in the queue at index. No bounds check is performed and a garbage value might be returned.- Parameters:
index- Which element in the queue you wish to access- Returns:
- the element's value
-
add
public void add(double value) Adds a new element to the queue, but if the queue is full write over the oldest element.- Parameters:
value- Value which is to be added
-
setTo
-
copy
-
resizeQueue
public void resizeQueue(int maxSize) -
shiftElements
protected void shiftElements(int src0, int dst0, int length) Description copied from class:CircularArrayBaseCopies the value in the src into dst inside the inner array. Needs to handle wrap around- Specified by:
shiftElementsin classCircularArrayBase
-
getMaxSize
public int getMaxSize()Description copied from class:CircularArrayBaseNumber of elements in the inner array- Specified by:
getMaxSizein classCircularArrayBase
-
innerArray
public <T> T innerArray()Description copied from class:CircularArrayBaseReference to the inner array- Specified by:
innerArrayin classCircularArrayBase
-