Class ArrayVector.Shorts
- All Implemented Interfaces:
Serializable
,Iterable<Number>
,Collection<Number>
,List<Number>
,RandomAccess
,SequencedCollection<Number>
,CheckedContainer<Short>
- Direct Known Subclasses:
ArrayVector.UnsignedShorts
- Enclosing class:
ArrayVector<E extends Number>
short[]
. This class handles signed values.
The ArrayVector.UnsignedShorts
subclass handle unsigned long
values.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sis.math.ArrayVector
ArrayVector.Decimal, ArrayVector.Doubles
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final short[]
The backing array.private static final long
For cross-version compatibility.Fields inherited from class java.util.AbstractList
modCount
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuffer()
Wraps this vector in a buffer.double
doubleValue
(int index) Returns the value at the given index as adouble
.(package private) final boolean
Returns whether this vector in the given range is equal to the specified vector.void
Sets the value of all elements in the given range.float
floatValue
(int index) Returns the value at the given index as afloat
.get
(int index) Returns the number at the given index, ornull
if none.Returns the type of elements in the backing array.final int
hashCode()
Applies hash code contract specifiedVector.hashCode()
.(package private) final int
indexOf
(int toSearch, int index, boolean equality) Finds index of a match or mismatch (depending onequality
).int
intValue
(int index) Returns the value at the given index as anint
.final boolean
Returns whether this vector is empty.final boolean
Values in this vector are guaranteed to be integers.final boolean
Returns whether values are convertible tofloat
type.long
longValue
(int index) Returns the value at the given index as along
.(package private) NumberRange
<?> range
(IntSupplier indices, int n) Finds the minimum and maximum values in the array or in a subset of the array.final Number
Sets the number at the given index.short
shortValue
(int index) Returns the value at the given index as ashort
.final int
size()
Returns the number of elements in this vector.stringValue
(int index) Returns the string representation at the given index.Methods inherited from class org.apache.sis.math.ArrayVector
compress, compress, isNaN, newInstance, verifyType
Methods inherited from class org.apache.sis.math.Vector
backingVector, byteValue, compress, concatenate, copy, create, create, createConcatenate, createForDecimal, createSequence, createSequence, createSubSampling, createTransform, doubleValues, equals, floatValues, increment, isUnsigned, pick, range, repeat, repetitions, reverse, subList, subSampling, subtract, toBacking, toString, transform, warning
Methods inherited from class java.util.AbstractList
add, add, addAll, clear, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface java.util.List
addAll, addFirst, addLast, contains, containsAll, getFirst, getLast, isEmpty, remove, removeAll, removeFirst, removeLast, replaceAll, retainAll, reversed, sort, spliterator, toArray, toArray
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDFor cross-version compatibility.- See Also:
-
array
private final short[] arrayThe backing array.
-
-
Constructor Details
-
Shorts
Shorts(short[] array) Creates a new vector for the given array.
-
-
Method Details
-
getElementType
Returns the type of elements in the backing array.- Specified by:
getElementType
in interfaceCheckedContainer<Short>
- Specified by:
getElementType
in classVector
- Returns:
- the type of elements in this vector.
- See Also:
-
isEmptyOrNaN
public final boolean isEmptyOrNaN()Returns whether this vector is empty.- Overrides:
isEmptyOrNaN
in classVector
- Returns:
- whether this vector is empty or contains only
NaN
values.
-
isSinglePrecision
public final boolean isSinglePrecision()Returns whether values are convertible tofloat
type.- Overrides:
isSinglePrecision
in classVector
- Returns:
- whether values in this vector can be casted to
float
primitive type. - See Also:
-
isInteger
public final boolean isInteger()Values in this vector are guaranteed to be integers. -
stringValue
Returns the string representation at the given index.- Specified by:
stringValue
in classVector
- Parameters:
index
- the index in the [0 … size-1] range.- Returns:
- a string representation of the value at the given index (may be
null
). - See Also:
-
size
public final int size()Description copied from class:Vector
Returns the number of elements in this vector. -
doubleValue
public double doubleValue(int index) Description copied from class:Vector
Returns the value at the given index as adouble
. This is the safest method since all primitive types supported byVector
are convertible to thedouble
type.- Specified by:
doubleValue
in classVector
- Parameters:
index
- the index in the [0 … size-1] range.- Returns:
- the value at the given index.
- See Also:
-
floatValue
public float floatValue(int index) Description copied from class:Vector
Returns the value at the given index as afloat
. This method may result in a lost of precision if this vector stores or computes its values with thedouble
type.The default implementation delegates to
Vector.doubleValue(int)
and cast the result tofloat
.- Overrides:
floatValue
in classVector
- Parameters:
index
- the index in the [0 … size-1] range.- Returns:
- the value at the given index.
- See Also:
-
longValue
public long longValue(int index) Description copied from class:Vector
Returns the value at the given index as along
. If this vector uses floating point values, the value is rounded to the nearest integer.The default implementation delegates to
Vector.doubleValue(int)
and verifies if the result can be rounded to along
with an error not greater than 0.5. Subclasses that store or compute their values with an integer type should override this method. -
intValue
public int intValue(int index) Description copied from class:Vector
Returns the value at the given index as anint
. If this vector uses floating point values, the value is rounded to the nearest integer.The default implementation delegates to
Vector.longValue(int)
and verifies if the result fits in theint
type. Subclasses that store or compute their values with theint
,short
orbyte
type should override this method. -
shortValue
public short shortValue(int index) Description copied from class:Vector
Returns the value at the given index as ashort
. If this vector uses floating point values, the value is rounded to the nearest integer.The default implementation delegates to
Vector.longValue(int)
and verifies if the result fits in theshort
type. Subclasses that store or compute their values with theshort
orbyte
type should override this method.- Overrides:
shortValue
in classVector
- Parameters:
index
- the index in the [0 … size-1] range.- Returns:
- the value at the given index.
-
get
Description copied from class:Vector
Returns the number at the given index, ornull
if none. The object returned by this method is usually an instance of the class returned byVector.getElementType()
, but may also be an instance of a wider type if this is necessary for representing the values.Example: ifThe class of returned objects should be stable. For example, this method should not use different types for different range of values. This stability is recommended but not guaranteed becauseVector.getElementType()
returnsByte.class
butVector.isUnsigned()
returnstrue
, then this method will rather return instances ofShort
because that type is the smallest Java primitive type capable to hold byte values in the [0 … 255] range. But the elements are still stored internally asbyte
, and the vector cannot accept values outside the [0 … 255] range even if they are validShort
values.Vector
can also wrap arbitraryNumber[]
arrays. -
set
Description copied from class:Vector
Sets the number at the given index. The given number should be an instance of the same type than the number returned byVector.get(int)
. If not, the stored value may lost precision as a result of the cast. -
fill
Sets the value of all elements in the given range. -
indexOf
final int indexOf(int toSearch, int index, boolean equality) Finds index of a match or mismatch (depending onequality
).- Overrides:
indexOf
in classVector
- Parameters:
toSearch
- index of the value to search.index
- index of the first value where to start the search.equality
- whether we search the first equal value, or the first different value.- Returns:
- index of the value found, or the vector size if the value has not been found.
-
equals
Returns whether this vector in the given range is equal to the specified vector.- Overrides:
equals
in classVector
- Parameters:
lower
- index of the first value to compare in this vector, inclusive.upper
- index after the last value to compare in this vector.other
- the other vector to compare values with this vector. May bethis
.otherOffset
- index of the first element to compare in the other vector.- Returns:
- whether values over the specified range of the two vectors are equal.
-
range
Finds the minimum and maximum values in the array or in a subset of the array. -
buffer
Wraps this vector in a buffer. -
hashCode
public final int hashCode()Applies hash code contract specifiedVector.hashCode()
.
-