org.ojalgo.scalar
Interface Scalar<N extends Number>

All Superinterfaces:
Comparable<N>
All Known Implementing Classes:
BigScalar, ComplexNumber, PrimitiveScalar, RationalNumber

public interface Scalar<N extends Number>
extends Comparable<N>

Scalar was originally an abstraction of a matrix element designed to be used in matrix related code. It is still used for this to some extent, but now Scalar primarily is the common interface that defines ComplexNumber and RationalNumber.

Author:
apete

Method Summary
 Scalar<N> add(double aNmbr)
           
 Scalar<N> add(N aNmbr)
           
 Scalar<N> conjugate()
           
 Scalar<N> divide(double aNmbr)
           
 Scalar<N> divide(N aNmbr)
           
 Scalar<N> enforce(NumberContext aCntxt)
           
 double getArgument()
           
 double getImaginary()
           
 double getModulus()
           
 N getNumber()
           
 double getReal()
           
 Scalar<N> invert()
           
 boolean isAbsolute()
           
 boolean isInfinite()
           
 boolean isNaN()
           
 boolean isReal()
           
 boolean isZero()
           
 Scalar<N> multiply(double aNmbr)
           
 Scalar<N> multiply(N aNmbr)
           
 Scalar<N> negate()
           
 Scalar<N> power(int anExp)
           
 Scalar<N> root(int anExp)
           
 Scalar<N> round(NumberContext aCntxt)
           
 Scalar<N> subtract(double aNmbr)
           
 Scalar<N> subtract(N aNmbr)
           
 BigDecimal toBigDecimal()
           
 ComplexNumber toComplexNumber()
           
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Method Detail

add

Scalar<N> add(double aNmbr)
See Also:
add(double), add(Number), divide(double), divide(Number), multiply(double), multiply(Number), subtract(double), subtract(Number)

add

Scalar<N> add(N aNmbr)
See Also:
add(double), add(Number), divide(double), divide(Number), multiply(double), multiply(Number), subtract(double), subtract(Number)

conjugate

Scalar<N> conjugate()
See Also:
conjugate(), invert(), negate()

divide

Scalar<N> divide(double aNmbr)
See Also:
add(double), add(Number), divide(double), divide(Number), multiply(double), multiply(Number), subtract(double), subtract(Number)

divide

Scalar<N> divide(N aNmbr)
See Also:
add(double), add(Number), divide(double), divide(Number), multiply(double), multiply(Number), subtract(double), subtract(Number)

enforce

Scalar<N> enforce(NumberContext aCntxt)

getArgument

double getArgument()
See Also:
getArgument(), getImaginary(), getModulus(), getReal()

getImaginary

double getImaginary()
See Also:
getArgument(), getImaginary(), getModulus(), getReal()

getModulus

double getModulus()
See Also:
getArgument(), getImaginary(), getModulus(), getReal()

getNumber

N getNumber()

getReal

double getReal()
See Also:
getArgument(), getImaginary(), getModulus(), getReal()

invert

Scalar<N> invert()
See Also:
conjugate(), invert(), negate()

isAbsolute

boolean isAbsolute()
Returns:
true if this is equal to its own modulus (non-negative real part and no imaginary part); otherwise false.
See Also:
isAbsolute(), isInfinite(), isNaN(), isReal(), isZero()

isInfinite

boolean isInfinite()
See Also:
isAbsolute(), isInfinite(), isNaN(), isReal(), isZero()

isNaN

boolean isNaN()
See Also:
isAbsolute(), isInfinite(), isNaN(), isReal(), isZero()

isReal

boolean isReal()
Returns:
true if the absolute value of the imaginary part is less than or equal to PrimitiveMath.IS_ZERO; otherwise false.
See Also:
isAbsolute(), isInfinite(), isNaN(), isReal(), isZero()

isZero

boolean isZero()
Returns:
true if the modulus is less than or equal to PrimitiveMath.IS_ZERO; otherwise false.
See Also:
isAbsolute(), isInfinite(), isNaN(), isReal(), isZero()

multiply

Scalar<N> multiply(double aNmbr)
See Also:
add(double), add(Number), divide(double), divide(Number), multiply(double), multiply(Number), subtract(double), subtract(Number)

multiply

Scalar<N> multiply(N aNmbr)
See Also:
add(double), add(Number), divide(double), divide(Number), multiply(double), multiply(Number), subtract(double), subtract(Number)

negate

Scalar<N> negate()
See Also:
conjugate(), invert(), negate()

power

Scalar<N> power(int anExp)
See Also:
power(int), root(int)

root

Scalar<N> root(int anExp)
See Also:
power(int), root(int)

round

Scalar<N> round(NumberContext aCntxt)

subtract

Scalar<N> subtract(double aNmbr)
See Also:
add(double), add(Number), divide(double), divide(Number), multiply(double), multiply(Number), subtract(double), subtract(Number)

subtract

Scalar<N> subtract(N aNmbr)
See Also:
add(double), add(Number), divide(double), divide(Number), multiply(double), multiply(Number), subtract(double), subtract(Number)

toBigDecimal

BigDecimal toBigDecimal()

toComplexNumber

ComplexNumber toComplexNumber()