Package org.ojalgo.array
Class PlainArray<N extends java.lang.Comparable<N>>
- java.lang.Object
-
- org.ojalgo.array.BasicArray<N>
-
- org.ojalgo.array.DenseArray<N>
-
- org.ojalgo.array.PlainArray<N>
-
- All Implemented Interfaces:
java.util.RandomAccess
,Access1D<N>
,Access1D.Aggregatable<N>
,Access1D.Collectable<N,Mutate1D>
,Access1D.Visitable<N>
,Factory1D.Builder<DenseArray<N>>
,Mutate1D
,Mutate1D.Fillable<N>
,Mutate1D.Modifiable<N>
,Structure1D
- Direct Known Subclasses:
BufferArray
,PrimitiveArray
,ReferenceTypeArray
public abstract class PlainArray<N extends java.lang.Comparable<N>> extends DenseArray<N> implements java.util.RandomAccess
Array class limited by integer (int, not long) indices. Typically this will be a plain java array as indouble[]
. This class terminates/implements all methods with long arguments, casts the long arguments to int and delegates to new protected abstract methods with the int arguments. No new public methods are declared here.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.ojalgo.array.DenseArray
DenseArray.Factory<N extends java.lang.Comparable<N>>
-
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 (package private) static int
CHARACTERISTICS
static int
MAX_SIZE
Exists as a private constant inArrayList
.private int
mySize
-
Constructor Summary
Constructors Constructor Description PlainArray(DenseArray.Factory<N> factory, int size)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
add(int index, byte addend)
protected abstract void
add(int index, double addend)
protected void
add(int index, float addend)
protected void
add(int index, int addend)
protected void
add(int index, long addend)
protected void
add(int index, short addend)
protected abstract void
add(int index, java.lang.Comparable<?> addend)
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)
abstract byte
byteValue(int index)
byte
byteValue(long index)
long
count()
The total number of elements in this structure.double
doubleValue(int index)
double
doubleValue(long index)
protected abstract void
exchange(int firstA, int firstB, int step, int count)
protected void
exchange(long firstA, long firstB, long step, long count)
protected abstract void
fill(int first, int limit, int step, N value)
protected abstract void
fill(int first, int limit, int step, NullaryFunction<?> supplier)
protected void
fill(long first, long limit, long step, N value)
protected void
fill(long first, long limit, long step, NullaryFunction<?> supplier)
void
fillAll(N number)
void
fillAll(NullaryFunction<?> supplier)
protected abstract void
fillOne(int index, N value)
protected abstract void
fillOne(int index, NullaryFunction<?> supplier)
protected abstract void
fillOne(int index, Access1D<?> values, long valueIndex)
void
fillRange(long first, long limit, N number)
void
fillRange(long first, long limit, NullaryFunction<?> supplier)
abstract float
floatValue(int index)
float
floatValue(long index)
protected abstract N
get(int index)
N
get(long index)
protected abstract int
indexOfLargest(int first, int limit, int step)
protected long
indexOfLargest(long first, long limit, long step)
int
intValue(int index)
int
intValue(long index)
protected abstract boolean
isAbsolute(int index)
protected abstract boolean
isSmall(int index, double comparedTo)
private boolean
isSmall(int first, int limit, int step, double comparedTo)
long
longValue(int index)
long
longValue(long index)
protected abstract void
modify(int first, int limit, int step, BinaryFunction<N> function, Access1D<N> right)
protected abstract void
modify(int first, int limit, int step, UnaryFunction<N> function)
protected abstract void
modify(int first, int limit, int step, Access1D<N> left, BinaryFunction<N> function)
protected void
modify(long first, long limit, long step, BinaryFunction<N> function, Access1D<N> right)
protected void
modify(long first, long limit, long step, UnaryFunction<N> function)
protected void
modify(long first, long limit, long step, Access1D<N> left, BinaryFunction<N> function)
protected abstract void
modifyOne(int index, UnaryFunction<N> modifier)
void
modifyOne(long index, UnaryFunction<N> modifier)
protected abstract int
searchAscending(N number)
void
set(int index, byte value)
abstract void
set(int index, double value)
void
set(int index, float value)
void
set(int index, int value)
abstract void
set(int index, long value)
void
set(int index, short value)
protected abstract void
set(int index, java.lang.Comparable<?> number)
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<?> number)
short
shortValue(int index)
short
shortValue(long index)
int
size()
The total number of elements in this structure.protected abstract void
sortAscending()
protected abstract void
sortDescending()
protected abstract void
visit(int first, int limit, int step, VoidFunction<N> visitor)
protected void
visit(long first, long limit, long step, VoidFunction<N> visitor)
protected abstract void
visitOne(int index, VoidFunction<N> visitor)
void
visitOne(long index, VoidFunction<N> visitor)
-
Methods inherited from class org.ojalgo.array.DenseArray
build, modify, modify, modify
-
Methods inherited from class org.ojalgo.array.BasicArray
aggregateRange, equals, factory, getMathType, hashCode, indexOfLargest, isPrimitive, modifyAll, modifyMatching, modifyMatching, modifyRange, supplyTo, toString, visitAll, visitRange, wrapInArray1D, wrapInArray2D, wrapInArrayAnyD
-
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 org.ojalgo.structure.Mutate1D.Fillable
fillCompatible, fillMatching, fillMatching, fillMatching
-
-
-
-
Field Detail
-
MAX_SIZE
public static final int MAX_SIZE
Exists as a private constant inArrayList
. The Oracle JVM seems to actually be limited at Integer.MAX_VALUE - 2, but other JVM:s may have different limits.- See Also:
- Constant Field Values
-
CHARACTERISTICS
static final int CHARACTERISTICS
- See Also:
- Constant Field Values
-
mySize
private final int mySize
-
-
Constructor Detail
-
PlainArray
PlainArray(DenseArray.Factory<N> factory, int size)
-
-
Method Detail
-
add
public final void add(long index, byte addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
add
public final void add(long index, java.lang.Comparable<?> addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
add
public final void add(long index, double addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
add
public final void add(long index, float addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
add
public final void add(long index, int addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
add
public final void add(long index, long addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
add
public final void add(long index, short addend)
- Specified by:
add
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
byteValue
public abstract byte byteValue(int index)
-
byteValue
public final byte byteValue(long index)
-
count
public final 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 final double doubleValue(long index)
- Specified by:
doubleValue
in interfaceAccess1D<N extends java.lang.Comparable<N>>
-
fillAll
public final void fillAll(N number)
- Specified by:
fillAll
in interfaceMutate1D.Fillable<N extends java.lang.Comparable<N>>
-
fillAll
public final void fillAll(NullaryFunction<?> supplier)
- Specified by:
fillAll
in interfaceMutate1D.Fillable<N extends java.lang.Comparable<N>>
-
fillRange
public final void fillRange(long first, long limit, N number)
- Specified by:
fillRange
in interfaceMutate1D.Fillable<N extends java.lang.Comparable<N>>
-
fillRange
public final void fillRange(long first, long limit, NullaryFunction<?> supplier)
- Specified by:
fillRange
in interfaceMutate1D.Fillable<N extends java.lang.Comparable<N>>
-
floatValue
public abstract float floatValue(int index)
- Specified by:
floatValue
in interfaceAccess1D<N extends java.lang.Comparable<N>>
-
floatValue
public final float floatValue(long index)
- Specified by:
floatValue
in interfaceAccess1D<N extends java.lang.Comparable<N>>
-
get
public final N get(long index)
-
intValue
public int intValue(int index)
-
intValue
public final int intValue(long index)
-
longValue
public long longValue(int index)
-
longValue
public final long longValue(long index)
-
modifyOne
public final void modifyOne(long index, UnaryFunction<N> modifier)
- Specified by:
modifyOne
in interfaceMutate1D.Modifiable<N extends java.lang.Comparable<N>>
-
set
public final void set(long index, java.lang.Comparable<?> number)
-
shortValue
public short shortValue(int index)
- Specified by:
shortValue
in interfaceAccess1D<N extends java.lang.Comparable<N>>
-
shortValue
public final short shortValue(long index)
- Specified by:
shortValue
in interfaceAccess1D<N extends java.lang.Comparable<N>>
-
size
public final int size()
Description copied from interface:Structure1D
The total number of elements in this structure.- Specified by:
size
in interfaceStructure1D
-
visitOne
public final void visitOne(long index, VoidFunction<N> visitor)
- Specified by:
visitOne
in interfaceAccess1D.Visitable<N extends java.lang.Comparable<N>>
-
isSmall
private final boolean isSmall(int first, int limit, int step, double comparedTo)
-
add
protected void add(int index, byte addend)
-
add
protected abstract void add(int index, java.lang.Comparable<?> addend)
-
add
protected abstract void add(int index, double addend)
-
add
protected void add(int index, float addend)
-
add
protected void add(int index, int addend)
-
add
protected void add(int index, long addend)
-
add
protected void add(int index, short addend)
-
exchange
protected abstract void exchange(int firstA, int firstB, int step, int count)
-
exchange
protected final void exchange(long firstA, long firstB, long step, long count)
- Overrides:
exchange
in classBasicArray<N extends java.lang.Comparable<N>>
-
fill
protected abstract void fill(int first, int limit, int step, N value)
-
fill
protected abstract void fill(int first, int limit, int step, NullaryFunction<?> supplier)
-
fill
protected final void fill(long first, long limit, long step, N value)
- Overrides:
fill
in classBasicArray<N extends java.lang.Comparable<N>>
-
fill
protected final void fill(long first, long limit, long step, NullaryFunction<?> supplier)
- Overrides:
fill
in classBasicArray<N extends java.lang.Comparable<N>>
-
fillOne
protected abstract void fillOne(int index, Access1D<?> values, long valueIndex)
-
fillOne
protected abstract void fillOne(int index, N value)
-
fillOne
protected abstract void fillOne(int index, NullaryFunction<?> supplier)
-
get
protected abstract N get(int index)
-
indexOfLargest
protected abstract int indexOfLargest(int first, int limit, int step)
-
indexOfLargest
protected final long indexOfLargest(long first, long limit, long step)
- Overrides:
indexOfLargest
in classBasicArray<N extends java.lang.Comparable<N>>
-
isAbsolute
protected abstract boolean isAbsolute(int index)
- See Also:
Scalar.isAbsolute()
-
isSmall
protected abstract boolean isSmall(int index, double comparedTo)
- See Also:
NormedVectorSpace.isSmall(double)
-
modify
protected abstract void modify(int first, int limit, int step, Access1D<N> left, BinaryFunction<N> function)
-
modify
protected abstract void modify(int first, int limit, int step, BinaryFunction<N> function, Access1D<N> right)
-
modify
protected abstract void modify(int first, int limit, int step, UnaryFunction<N> function)
-
modify
protected final void modify(long first, long limit, long step, Access1D<N> left, BinaryFunction<N> function)
- Overrides:
modify
in classBasicArray<N extends java.lang.Comparable<N>>
-
modify
protected final void modify(long first, long limit, long step, BinaryFunction<N> function, Access1D<N> right)
- Overrides:
modify
in classBasicArray<N extends java.lang.Comparable<N>>
-
modify
protected final void modify(long first, long limit, long step, UnaryFunction<N> function)
- Overrides:
modify
in classBasicArray<N extends java.lang.Comparable<N>>
-
modifyOne
protected abstract void modifyOne(int index, UnaryFunction<N> modifier)
-
searchAscending
protected abstract int searchAscending(N number)
-
set
protected abstract void set(int index, java.lang.Comparable<?> number)
-
sortAscending
protected abstract void sortAscending()
-
sortDescending
protected abstract void sortDescending()
-
visit
protected abstract void visit(int first, int limit, int step, VoidFunction<N> visitor)
-
visit
protected final void visit(long first, long limit, long step, VoidFunction<N> visitor)
- Overrides:
visit
in classBasicArray<N extends java.lang.Comparable<N>>
-
visitOne
protected abstract void visitOne(int index, VoidFunction<N> visitor)
-
-