Package org.ojalgo.array
Class Array1D<N extends java.lang.Comparable<N>>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<N>
-
- org.ojalgo.array.Array1D<N>
-
- All Implemented Interfaces:
java.lang.Iterable<N>
,java.util.Collection<N>
,java.util.function.Consumer<Access1D<?>>
,java.util.List<N>
,java.util.RandomAccess
,Access1D<N>
,Access1D.Aggregatable<N>
,Access1D.Collectable<N,Mutate1D>
,Access1D.Sliceable<N>
,Access1D.Visitable<N>
,Factory1D.Builder<Array1D<N>>
,Mutate1D
,Mutate1D.Fillable<N>
,Mutate1D.Mixable<N>
,Mutate1D.Modifiable<N>
,Mutate1D.ModifiableReceiver<N>
,Mutate1D.Receiver<N>
,Mutate1D.Sortable
,Structure1D
public final class Array1D<N extends java.lang.Comparable<N>> extends java.util.AbstractList<N> implements Access1D.Visitable<N>, Access1D.Aggregatable<N>, Access1D.Sliceable<N>, Access1D.Collectable<N,Mutate1D>, Mutate1D.ModifiableReceiver<N>, Mutate1D.Mixable<N>, Mutate1D.Sortable, java.util.RandomAccess, Factory1D.Builder<Array1D<N>>
Array1D
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Array1D.Factory<N extends java.lang.Comparable<N>>
(package private) static class
Array1D.QuickAscendingSorter
(package private) static class
Array1D.QuickDescendingSorter
-
Nested classes/interfaces inherited from interface org.ojalgo.structure.Access1D
Access1D.Aggregatable<N extends java.lang.Comparable<N>>, Access1D.Collectable<N extends java.lang.Comparable<N>,R extends Mutate1D>, Access1D.ElementView<N extends java.lang.Comparable<N>>, Access1D.SelectionView<N extends java.lang.Comparable<N>>, Access1D.Sliceable<N extends java.lang.Comparable<N>>, Access1D.Visitable<N extends java.lang.Comparable<N>>
-
Nested classes/interfaces inherited from interface org.ojalgo.structure.Mutate1D
Mutate1D.Fillable<N extends java.lang.Comparable<N>>, Mutate1D.Mixable<N extends java.lang.Comparable<N>>, Mutate1D.Modifiable<N extends java.lang.Comparable<N>>, Mutate1D.ModifiableReceiver<N extends java.lang.Comparable<N>>, Mutate1D.Receiver<N extends java.lang.Comparable<N>>, Mutate1D.Sortable
-
Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure1D
Structure1D.BasicMapper<T>, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.Logical<S extends Structure1D,B extends Structure1D.Logical<S,B>>, Structure1D.LongIndex, Structure1D.LoopCallback
-
-
Field Summary
Fields Modifier and Type Field Description static Array1D.Factory<ComplexNumber>
C128
static Array1D.Factory<Quaternion>
H256
long
length
private BasicArray<N>
myDelegate
private long
myFirst
private long
myLimit
private long
myStep
static Array1D.Factory<RationalNumber>
Q128
static Array1D.Factory<java.lang.Double>
R032
static Array1D.Factory<java.lang.Double>
R064
static Array1D.Factory<Quadruple>
R128
static Array1D.Factory<java.math.BigDecimal>
R256
static Array1D.Factory<java.lang.Double>
Z008
static Array1D.Factory<java.lang.Double>
Z016
static Array1D.Factory<java.lang.Double>
Z032
static Array1D.Factory<java.lang.Double>
Z064
-
Constructor Summary
Constructors Constructor Description Array1D(BasicArray<N> delegate)
Array1D(BasicArray<N> delegate, long first, long limit, long step)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(long index, byte addend)
void
add(long index, double addend)
void
add(long index, float addend)
void
add(long index, int addend)
void
add(long index, long addend)
void
add(long index, short addend)
void
add(long index, java.lang.Comparable<?> addend)
N
aggregateRange(long first, long limit, Aggregator aggregator)
Array1D<N>
build()
byte
byteValue(int index)
byte
byteValue(long index)
void
clear()
boolean
contains(java.lang.Object obj)
private long
convert(long index)
Convert an external (public API) index to the corresponding internallong
count()
The total number of elements in this structure.double
doubleValue(int index)
double
doubleValue(long index)
boolean
equals(java.lang.Object obj)
(package private) void
exchange(long indexA, long indexB)
(package private) Factory1D<Array1D<N>>
factory()
static <N extends java.lang.Comparable<N>>
Array1D.Factory<N>factory(DenseArray.Factory<N> denseFactory)
void
fillAll(N value)
void
fillAll(NullaryFunction<?> supplier)
void
fillRange(long first, long limit, N value)
void
fillRange(long first, long limit, NullaryFunction<?> supplier)
float
floatValue(int index)
float
floatValue(long index)
N
get(int index)
N
get(long index)
(package private) BasicArray<N>
getDelegate()
int
hashCode()
int
indexOf(java.lang.Object obj)
long
indexOfLargest()
int
intValue(int index)
int
intValue(long index)
boolean
isEmpty()
long
longValue(int index)
long
longValue(long index)
double
mix(long index, BinaryFunction<N> mixer, double addend)
N
mix(long index, BinaryFunction<N> mixer, N addend)
void
modifyAll(UnaryFunction<N> modifier)
void
modifyAny(Transformation1D<N> modifier)
void
modifyMatching(BinaryFunction<N> function, Access1D<N> right)
void
modifyMatching(Access1D<N> left, BinaryFunction<N> function)
void
modifyOne(long index, UnaryFunction<N> modifier)
void
modifyRange(long first, long limit, UnaryFunction<N> modifier)
void
reset()
Reset this mutable structure to some standard (all zeros) initial state.void
set(int index, byte value)
void
set(int index, double value)
void
set(int index, float value)
void
set(int index, int value)
void
set(int index, long value)
void
set(int index, short value)
N
set(int index, N value)
void
set(long index, byte value)
void
set(long index, double value)
void
set(long index, float value)
void
set(long index, int value)
void
set(long index, long value)
void
set(long index, short value)
void
set(long index, java.lang.Comparable<?> value)
short
shortValue(int index)
short
shortValue(long index)
int
size()
The total number of elements in this structure.Array1D<N>
sliceRange(long first, long limit)
void
sortAscending()
(package private) void
sortAscending(long low, long high)
void
sortDescending()
(package private) void
sortDescending(long low, long high)
Array1D<N>
subList(int first, int limit)
void
supplyTo(Mutate1D receiver)
java.lang.String
toString()
void
visitAll(VoidFunction<N> visitor)
void
visitOne(long index, VoidFunction<N> visitor)
void
visitRange(long first, long limit, VoidFunction<N> visitor)
-
Methods inherited from class java.util.AbstractList
add, add, addAll, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange
-
Methods inherited from class java.util.AbstractCollection
addAll, containsAll, remove, removeAll, retainAll, toArray, toArray
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.ojalgo.structure.Access1D
asCollectable1D, asKeyed1D, axpy, dot, elements, nonzeros, select, supplyTo, toRawCopy1D
-
Methods inherited from interface org.ojalgo.structure.Access1D.Aggregatable
aggregateAll
-
Methods inherited from interface org.ojalgo.structure.Access1D.Collectable
collect
-
Methods inherited from interface java.util.List
addAll, containsAll, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray
-
Methods inherited from interface org.ojalgo.structure.Mutate1D.Fillable
fillCompatible, fillMatching, fillMatching, fillMatching
-
Methods inherited from interface org.ojalgo.structure.Mutate1D.ModifiableReceiver
modifyCompatible, modifyCompatible
-
Methods inherited from interface org.ojalgo.structure.Mutate1D.Receiver
accept, isAcceptable
-
-
-
-
Field Detail
-
C128
public static final Array1D.Factory<ComplexNumber> C128
-
H256
public static final Array1D.Factory<Quaternion> H256
-
Q128
public static final Array1D.Factory<RationalNumber> Q128
-
R032
public static final Array1D.Factory<java.lang.Double> R032
-
R064
public static final Array1D.Factory<java.lang.Double> R064
-
R128
public static final Array1D.Factory<Quadruple> R128
-
R256
public static final Array1D.Factory<java.math.BigDecimal> R256
-
Z008
public static final Array1D.Factory<java.lang.Double> Z008
-
Z016
public static final Array1D.Factory<java.lang.Double> Z016
-
Z032
public static final Array1D.Factory<java.lang.Double> Z032
-
Z064
public static final Array1D.Factory<java.lang.Double> Z064
-
length
public final long length
-
myDelegate
private final BasicArray<N extends java.lang.Comparable<N>> myDelegate
-
myFirst
private final long myFirst
-
myLimit
private final long myLimit
-
myStep
private final long myStep
-
-
Constructor Detail
-
Array1D
Array1D(BasicArray<N> delegate)
-
Array1D
Array1D(BasicArray<N> delegate, long first, long limit, long step)
-
-
Method Detail
-
factory
public static <N extends java.lang.Comparable<N>> Array1D.Factory<N> factory(DenseArray.Factory<N> denseFactory)
-
add
public void add(long index, byte addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
add
public void add(long index, java.lang.Comparable<?> addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
add
public void add(long index, double addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
add
public void add(long index, float addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
add
public void add(long index, int addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
add
public void add(long index, long addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
add
public void add(long index, short addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
aggregateRange
public N aggregateRange(long first, long limit, Aggregator aggregator)
- Specified by:
aggregateRange
in interfaceAccess1D.Aggregatable<N extends java.lang.Comparable<N>>
-
build
public Array1D<N> build()
- Specified by:
build
in interfaceFactory1D.Builder<N extends java.lang.Comparable<N>>
-
byteValue
public byte byteValue(int index)
-
byteValue
public byte byteValue(long index)
-
clear
public void clear()
-
contains
public boolean contains(java.lang.Object obj)
-
count
public long count()
Description copied from interface:Structure1D
The total number of elements in this structure.You only need to implement this method if the structure can contain more than Integer.MAX_VALUE elements.
- Specified by:
count
in interfaceStructure1D
-
doubleValue
public double doubleValue(int index)
- Specified by:
doubleValue
in interfaceAccess1D<N extends java.lang.Comparable<N>>
-
doubleValue
public double doubleValue(long index)
- Specified by:
doubleValue
in interfaceAccess1D<N extends java.lang.Comparable<N>>
-
equals
public boolean equals(java.lang.Object obj)
-
fillAll
public void fillAll(N value)
- Specified by:
fillAll
in interfaceMutate1D.Fillable<N extends java.lang.Comparable<N>>
-
fillAll
public void fillAll(NullaryFunction<?> supplier)
- Specified by:
fillAll
in interfaceMutate1D.Fillable<N extends java.lang.Comparable<N>>
-
fillRange
public void fillRange(long first, long limit, N value)
- Specified by:
fillRange
in interfaceMutate1D.Fillable<N extends java.lang.Comparable<N>>
-
fillRange
public void fillRange(long first, long limit, NullaryFunction<?> supplier)
- Specified by:
fillRange
in interfaceMutate1D.Fillable<N extends java.lang.Comparable<N>>
-
floatValue
public float floatValue(int index)
- Specified by:
floatValue
in interfaceAccess1D<N extends java.lang.Comparable<N>>
-
floatValue
public float floatValue(long index)
- Specified by:
floatValue
in interfaceAccess1D<N extends java.lang.Comparable<N>>
-
get
public N get(int index)
-
get
public N get(long index)
-
hashCode
public int hashCode()
-
indexOf
public int indexOf(java.lang.Object obj)
-
indexOfLargest
public long indexOfLargest()
- Specified by:
indexOfLargest
in interfaceAccess1D.Aggregatable<N extends java.lang.Comparable<N>>
-
intValue
public int intValue(int index)
-
intValue
public int intValue(long index)
-
isEmpty
public boolean isEmpty()
-
longValue
public long longValue(int index)
-
longValue
public long longValue(long index)
-
mix
public double mix(long index, BinaryFunction<N> mixer, double addend)
- Specified by:
mix
in interfaceMutate1D.Mixable<N extends java.lang.Comparable<N>>
- Returns:
- The new/mixed value
-
mix
public N mix(long index, BinaryFunction<N> mixer, N addend)
- Specified by:
mix
in interfaceMutate1D.Mixable<N extends java.lang.Comparable<N>>
-
modifyAll
public void modifyAll(UnaryFunction<N> modifier)
- Specified by:
modifyAll
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
modifyAny
public void modifyAny(Transformation1D<N> modifier)
- Specified by:
modifyAny
in interfaceMutate1D.ModifiableReceiver<N extends java.lang.Comparable<N>>
-
modifyMatching
public void modifyMatching(Access1D<N> left, BinaryFunction<N> function)
- Specified by:
modifyMatching
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
modifyMatching
public void modifyMatching(BinaryFunction<N> function, Access1D<N> right)
- Specified by:
modifyMatching
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
modifyOne
public void modifyOne(long index, UnaryFunction<N> modifier)
- Specified by:
modifyOne
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
modifyRange
public void modifyRange(long first, long limit, UnaryFunction<N> modifier)
- Specified by:
modifyRange
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
reset
public void reset()
Description copied from interface:Mutate1D
Reset this mutable structure to some standard (all zeros) initial state. It must still be usuable after this call, and the structure/size/shape must not change.
-
set
public void set(long index, java.lang.Comparable<?> value)
-
shortValue
public short shortValue(int index)
- Specified by:
shortValue
in interfaceAccess1D<N extends java.lang.Comparable<N>>
-
shortValue
public short shortValue(long index)
- Specified by:
shortValue
in interfaceAccess1D<N extends java.lang.Comparable<N>>
-
size
public int size()
Description copied from interface:Structure1D
The total number of elements in this structure.- Specified by:
size
in interfacejava.util.Collection<N extends java.lang.Comparable<N>>
- Specified by:
size
in interfacejava.util.List<N extends java.lang.Comparable<N>>
- Specified by:
size
in interfaceStructure1D
- Specified by:
size
in classjava.util.AbstractCollection<N extends java.lang.Comparable<N>>
-
sliceRange
public Array1D<N> sliceRange(long first, long limit)
- Specified by:
sliceRange
in interfaceAccess1D.Sliceable<N extends java.lang.Comparable<N>>
-
sortAscending
public void sortAscending()
- Specified by:
sortAscending
in interfaceMutate1D.Sortable
-
sortDescending
public void sortDescending()
- Specified by:
sortDescending
in interfaceMutate1D.Sortable
-
supplyTo
public void supplyTo(Mutate1D receiver)
- Specified by:
supplyTo
in interfaceAccess1D.Collectable<N extends java.lang.Comparable<N>,Mutate1D>
-
toString
public java.lang.String toString()
-
visitAll
public void visitAll(VoidFunction<N> visitor)
- Specified by:
visitAll
in interfaceAccess1D.Visitable<N extends java.lang.Comparable<N>>
-
visitOne
public void visitOne(long index, VoidFunction<N> visitor)
- Specified by:
visitOne
in interfaceAccess1D.Visitable<N extends java.lang.Comparable<N>>
-
visitRange
public void visitRange(long first, long limit, VoidFunction<N> visitor)
- Specified by:
visitRange
in interfaceAccess1D.Visitable<N extends java.lang.Comparable<N>>
-
convert
private long convert(long index)
Convert an external (public API) index to the corresponding internal
-
exchange
void exchange(long indexA, long indexB)
-
getDelegate
BasicArray<N> getDelegate()
-
sortAscending
void sortAscending(long low, long high)
-
sortDescending
void sortDescending(long low, long high)
-
-