Class CircularArray_F32
java.lang.Object
org.ddogleg.struct.CircularArrayBase
org.ddogleg.struct.CircularArray_F32
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(float value) Adds a new element to the queue, but if the queue is full write over the oldest element.copy()floatget(int index) Returns the element in the queue at index.intNumber of elements in the inner arrayfloathead()Value of the first element in the queueintindexOf(int offset, CircularArray_F32.Match condition) Searches for the next element starting at index "offset" that the passed in condition is true for.<T> TReference to the inner arrayfloatpopHead()Returns and removes the first element from the queue.floatpopTail()Returns and removes the last element from the queue.voidresizeQueue(int maxSize) Changes the size of the inner array.voidset(int index, float value) setTo(CircularArray_F32 original) protected voidshiftElements(int src0, int dst0, int length) Copies the value in the src into dst inside the inner array.floattail()Value of the last element in the queueMethods inherited from class CircularArrayBase
arrayIndex, isEmpty, isFull, remove, removeHead, removeTail, reset, size
-
Field Details
-
data
public float[] data
-
-
Constructor Details
-
CircularArray_F32
public CircularArray_F32() -
CircularArray_F32
public CircularArray_F32(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 float popHead()Returns and removes the first element from the queue.- Returns:
- first element in the queue
-
popTail
public float popTail()Returns and removes the last element from the queue.- Returns:
- last element in the queue
-
head
public float head()Value of the first element in the queue -
tail
public float tail()Value of the last element in the queue -
get
public float 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
-
set
public void set(int index, float value) -
add
public void add(float 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) Changes the size of the inner array. Does not save old values. -
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
-