org.ojalgo.array
Class Array2D<N extends Number>

java.lang.Object
  extended by org.ojalgo.array.Array2D<N>
All Implemented Interfaces:
Serializable, Access2D<N>

public final class Array2D<N extends Number>
extends Object
implements Access2D<N>, Serializable

Array2D

Author:
apete
See Also:
Serialized Form

Method Summary
 Array1D<N> asArray1D()
          Flattens this two dimensional array to a one dimensional array.
 double doubleValue(int aRow, int aCol)
           
 boolean equals(Object obj)
           
 void exchangeColumns(int aColA, int aColB)
           
 void exchangeRows(int aRowA, int aRowB)
           
 void fillAll(N aNmbr)
           
 void fillColumn(int aRow, int aCol, N aNmbr)
           
 void fillDiagonal(int aRow, int aCol, N aNmbr)
           
 void fillMatching(Array2D<N> aLeftArg, BinaryFunction<N> aFunc, Array2D<N> aRightArg)
           
 void fillRow(int aRow, int aCol, N aNmbr)
           
 N get(int aRow, int aCol)
           
 int getColDim()
           
 int getIndexOfLargestInColumn(int aRow, int aCol)
           
 int getIndexOfLargestInRow(int aRow, int aCol)
           
 int getMaxDim()
           
 int getMinDim()
           
 N getNumber(int aRow, int aCol)
          Deprecated. v29 Use get(int,int) instead
 int getRowDim()
           
 int hashCode()
           
 boolean isAbsolute(int aRow, int aCol)
           
 boolean isReal(int aRow, int aCol)
           
 boolean isZero(int aRow, int aCol)
           
static Array2D<BigDecimal> makeBig(BigDecimal[][] aRaw)
           
static Array2D<BigDecimal> makeBig(int aRowDim, int aColDim)
           
static Array2D<ComplexNumber> makeComplex(ComplexNumber[][] aRaw)
           
static Array2D<ComplexNumber> makeComplex(int aRowDim, int aColDim)
           
static Array2D<Double> makePrimitive(double[][] aRaw)
           
static Array2D<Double> makePrimitive(int aRowDim, int aColDim)
           
 void modifyAll(BinaryFunction<N> aFunc, N aNmbr)
           
 void modifyAll(N aNmbr, BinaryFunction<N> aFunc)
           
 void modifyAll(ParameterFunction<N> aFunc, int aParam)
           
 void modifyAll(UnaryFunction<N> aFunc)
           
 void modifyColumn(int aRow, int aCol, BinaryFunction<N> aFunc, N aNmbr)
           
 void modifyColumn(int aRow, int aCol, N aNmbr, BinaryFunction<N> aFunc)
           
 void modifyColumn(int aRow, int aCol, ParameterFunction<N> aFunc, int aParam)
           
 void modifyColumn(int aRow, int aCol, UnaryFunction<N> aFunc)
           
 void modifyDiagonal(int aRow, int aCol, BinaryFunction<N> aFunc, N aNmbr)
           
 void modifyDiagonal(int aRow, int aCol, N aNmbr, BinaryFunction<N> aFunc)
           
 void modifyDiagonal(int aRow, int aCol, ParameterFunction<N> aFunc, int aParam)
           
 void modifyDiagonal(int aRow, int aCol, UnaryFunction<N> aFunc)
           
 void modifyMatching(Array2D<N> anArray, BinaryFunction<N> aFunc)
           
 void modifyMatching(BinaryFunction<N> aFunc, Array2D<N> anArray)
           
 void modifyRow(int aRow, int aCol, BinaryFunction<N> aFunc, N aNmbr)
           
 void modifyRow(int aRow, int aCol, N aNmbr, BinaryFunction<N> aFunc)
           
 void modifyRow(int aRow, int aCol, ParameterFunction<N> aFunc, int aParam)
           
 void modifyRow(int aRow, int aCol, UnaryFunction<N> aFunc)
           
 void set(int aRow, int aCol, double aNmbr)
           
 void set(int aRow, int aCol, N aNmbr)
           
 int size()
           
 Array1D<N> sliceColumn(int aRow, int aCol)
           
 Array1D<N> sliceDiagonal(int aRow, int aCol)
           
 Array1D<N> sliceRow(int aRow, int aCol)
           
 double[][] toRawCopy()
           
 Scalar<N> toScalar(int aRow, int aCol)
           
 String toString()
           
 void visitAll(AggregatorFunction<N> aVisitor)
           
 void visitColumn(int aRow, int aCol, AggregatorFunction<N> aVisitor)
           
 void visitDiagonal(int aRow, int aCol, AggregatorFunction<N> aVisitor)
           
 void visitRow(int aRow, int aCol, AggregatorFunction<N> aVisitor)
           
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

makeBig

public static Array2D<BigDecimal> makeBig(BigDecimal[][] aRaw)

makeBig

public static Array2D<BigDecimal> makeBig(int aRowDim,
                                          int aColDim)

makeComplex

public static Array2D<ComplexNumber> makeComplex(ComplexNumber[][] aRaw)

makeComplex

public static Array2D<ComplexNumber> makeComplex(int aRowDim,
                                                 int aColDim)

makePrimitive

public static Array2D<Double> makePrimitive(double[][] aRaw)

makePrimitive

public static Array2D<Double> makePrimitive(int aRowDim,
                                            int aColDim)

asArray1D

public Array1D<N> asArray1D()
Flattens this two dimensional array to a one dimensional array. The (internal/actual) array is not copied, it is just accessed through a different adaptor.


doubleValue

public double doubleValue(int aRow,
                          int aCol)
Specified by:
doubleValue in interface Access2D<N extends Number>

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

exchangeColumns

public void exchangeColumns(int aColA,
                            int aColB)

exchangeRows

public void exchangeRows(int aRowA,
                         int aRowB)

fillAll

public void fillAll(N aNmbr)

fillColumn

public void fillColumn(int aRow,
                       int aCol,
                       N aNmbr)

fillDiagonal

public void fillDiagonal(int aRow,
                         int aCol,
                         N aNmbr)

fillMatching

public void fillMatching(Array2D<N> aLeftArg,
                         BinaryFunction<N> aFunc,
                         Array2D<N> aRightArg)

fillRow

public void fillRow(int aRow,
                    int aCol,
                    N aNmbr)

get

public N get(int aRow,
             int aCol)
Specified by:
get in interface Access2D<N extends Number>

getColDim

public int getColDim()

getIndexOfLargestInColumn

public int getIndexOfLargestInColumn(int aRow,
                                     int aCol)

getIndexOfLargestInRow

public int getIndexOfLargestInRow(int aRow,
                                  int aCol)

getMaxDim

public int getMaxDim()

getMinDim

public int getMinDim()

getNumber

@Deprecated
public N getNumber(int aRow,
                              int aCol)
Deprecated. v29 Use get(int,int) instead


getRowDim

public int getRowDim()

hashCode

public int hashCode()
Overrides:
hashCode in class Object

isAbsolute

public boolean isAbsolute(int aRow,
                          int aCol)
See Also:
Scalar.isAbsolute()

isReal

public boolean isReal(int aRow,
                      int aCol)
See Also:
Scalar.isReal()

isZero

public boolean isZero(int aRow,
                      int aCol)
See Also:
Scalar.isZero()

modifyAll

public void modifyAll(BinaryFunction<N> aFunc,
                      N aNmbr)

modifyAll

public void modifyAll(N aNmbr,
                      BinaryFunction<N> aFunc)

modifyAll

public void modifyAll(ParameterFunction<N> aFunc,
                      int aParam)

modifyAll

public void modifyAll(UnaryFunction<N> aFunc)

modifyColumn

public void modifyColumn(int aRow,
                         int aCol,
                         BinaryFunction<N> aFunc,
                         N aNmbr)

modifyColumn

public void modifyColumn(int aRow,
                         int aCol,
                         N aNmbr,
                         BinaryFunction<N> aFunc)

modifyColumn

public void modifyColumn(int aRow,
                         int aCol,
                         ParameterFunction<N> aFunc,
                         int aParam)

modifyColumn

public void modifyColumn(int aRow,
                         int aCol,
                         UnaryFunction<N> aFunc)

modifyDiagonal

public void modifyDiagonal(int aRow,
                           int aCol,
                           BinaryFunction<N> aFunc,
                           N aNmbr)

modifyDiagonal

public void modifyDiagonal(int aRow,
                           int aCol,
                           N aNmbr,
                           BinaryFunction<N> aFunc)

modifyDiagonal

public void modifyDiagonal(int aRow,
                           int aCol,
                           ParameterFunction<N> aFunc,
                           int aParam)

modifyDiagonal

public void modifyDiagonal(int aRow,
                           int aCol,
                           UnaryFunction<N> aFunc)

modifyMatching

public void modifyMatching(Array2D<N> anArray,
                           BinaryFunction<N> aFunc)

modifyMatching

public void modifyMatching(BinaryFunction<N> aFunc,
                           Array2D<N> anArray)

modifyRow

public void modifyRow(int aRow,
                      int aCol,
                      BinaryFunction<N> aFunc,
                      N aNmbr)

modifyRow

public void modifyRow(int aRow,
                      int aCol,
                      N aNmbr,
                      BinaryFunction<N> aFunc)

modifyRow

public void modifyRow(int aRow,
                      int aCol,
                      ParameterFunction<N> aFunc,
                      int aParam)

modifyRow

public void modifyRow(int aRow,
                      int aCol,
                      UnaryFunction<N> aFunc)

set

public void set(int aRow,
                int aCol,
                double aNmbr)

set

public void set(int aRow,
                int aCol,
                N aNmbr)

size

public int size()

sliceColumn

public Array1D<N> sliceColumn(int aRow,
                              int aCol)

sliceDiagonal

public Array1D<N> sliceDiagonal(int aRow,
                                int aCol)

sliceRow

public Array1D<N> sliceRow(int aRow,
                           int aCol)

toRawCopy

public double[][] toRawCopy()
Returns:
An array of arrays of doubles

toScalar

public Scalar<N> toScalar(int aRow,
                          int aCol)
Specified by:
toScalar in interface Access2D<N extends Number>

toString

public String toString()
Overrides:
toString in class Object

visitAll

public void visitAll(AggregatorFunction<N> aVisitor)

visitColumn

public void visitColumn(int aRow,
                        int aCol,
                        AggregatorFunction<N> aVisitor)

visitDiagonal

public void visitDiagonal(int aRow,
                          int aCol,
                          AggregatorFunction<N> aVisitor)

visitRow

public void visitRow(int aRow,
                     int aCol,
                     AggregatorFunction<N> aVisitor)