public class MutableLong extends java.lang.Number implements CloneableSerializable, java.lang.Comparable<MutableLong>, EuclideanRing<MutableLong>, Vectorizable
Modifier and Type | Field and Description |
---|---|
long |
value
The value.
|
Constructor and Description |
---|
MutableLong()
Creates an
MutableLong with an initial value of zero. |
MutableLong(long value)
Creates an
MutableLong with the given value. |
MutableLong(MutableLong other)
Creates a copy of a
MutableLong . |
Modifier and Type | Method and Description |
---|---|
MutableLong |
clone()
Creates a new clone (shallow copy) of this object.
|
int |
compareTo(MutableLong other) |
void |
convertFromVector(Vector parameters)
Converts the object from a Vector of parameters.
|
Vector1 |
convertToVector()
Converts the object to a vector.
|
MutableLong |
divide(MutableLong other)
Divides
this value by the other value, returning the
result of the division as a new value. |
void |
divideEquals(MutableLong other)
Inline divises
this value by the other value, storing
the result inside this . |
MutableLong |
dotTimes(MutableLong other)
Element-wise multiplication of
this and other |
void |
dotTimesEquals(MutableLong other)
Inline element-wise multiplication of
this and
other |
double |
doubleValue() |
boolean |
equals(long other)
Determines if this MutableLong's value is equal to a given long.
|
boolean |
equals(MutableLong other)
Determines if this MutableLong is equal to another MutableLong.
|
boolean |
equals(MutableLong other,
double effectiveZero)
Determines if two RingType objects are effectively equal
|
boolean |
equals(java.lang.Object other)
Determines if two RingType objects are equal
|
float |
floatValue() |
long |
getValue()
Gets the value stored in the object.
|
int |
hashCode() |
int |
intValue() |
boolean |
isZero()
Determines if this ring is equal to zero.
|
boolean |
isZero(double effectiveZero)
Determines if this ring is equal to zero using the element-wise effective
zero value.
|
long |
longValue() |
MutableLong |
minus(MutableLong other)
Arithmetic subtraction of
other from this |
void |
minusEquals(MutableLong other)
Inline arithmetic subtraction of
other from
this |
MutableLong |
negative()
Returns the element-wise negation of
this , such that
this.plus( this.negative() ) has only zero elements. |
void |
negativeEquals()
Inline element-wise negation of
this |
MutableLong |
plus(MutableLong other)
Arithmetic addition of
this and other |
void |
plusEquals(MutableLong other)
Inline arithmetic addition of
this and other |
MutableLong |
scale(double scaleFactor)
Element-wise scaling of
this by scaleFactor |
MutableLong |
scaledMinus(double scaleFactor,
MutableLong other)
Arithmetic subtraction
other after element-wise scaling of
other by scaleFactor from this . |
void |
scaledMinusEquals(double scaleFactor,
MutableLong other)
Inline arithmetic subtraction of
other after element-wise
scaling of other by scaleFactor from this . |
MutableLong |
scaledPlus(double scaleFactor,
MutableLong other)
Arithmetic addition of
this and other after
element-wise scaling of other by scaleFactor . |
void |
scaledPlusEquals(double scaleFactor,
MutableLong other)
Inline arithmetic addition of
this and other after
element-wise scaling of other by scaleFactor . |
void |
scaleEquals(double scaleFactor)
Inline element-wise scaling of
this by
scaleFactor |
void |
setValue(long value)
Sets the value stored in the object.
|
MutableLong |
times(MutableLong other)
Multiplies
this value by the other value, returning the
result of the multiplication as a new value. |
void |
timesEquals(MutableLong other)
Inline multiplies
this value by the other value,
storing the result inside this . |
java.lang.String |
toString() |
void |
zero()
Zeros out all elements of
this , so that the following are
equivalent
r1.scaleEquals( 0.0 );
and
r1.zero();
Furthermore,
r1.zero(); anything.dotTimes( r1 ).equals( r1 ); |
public long value
public MutableLong()
MutableLong
with an initial value of zero.public MutableLong(long value)
MutableLong
with the given value.value
- The value to store in the object.public MutableLong(MutableLong other)
MutableLong
.other
- The other value.public MutableLong clone()
CloneableSerializable
clone
in interface Vectorizable
clone
in interface Ring<MutableLong>
clone
in interface CloneableSerializable
clone
in class java.lang.Object
public boolean equals(java.lang.Object other)
Ring
equals
in interface Ring<MutableLong>
equals
in class java.lang.Object
other
- RingType to compare against this
public boolean equals(MutableLong other)
other
- The other value.public boolean equals(long other)
other
- A long.public int compareTo(MutableLong other)
compareTo
in interface java.lang.Comparable<MutableLong>
public int hashCode()
hashCode
in class java.lang.Object
public int intValue()
intValue
in class java.lang.Number
public long longValue()
longValue
in class java.lang.Number
public float floatValue()
floatValue
in class java.lang.Number
public double doubleValue()
doubleValue
in class java.lang.Number
public long getValue()
public void setValue(long value)
value
- The value.public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(MutableLong other, double effectiveZero)
Ring
equals
in interface Ring<MutableLong>
other
- RingType to compare against this
effectiveZero
- tolerance threshold for element-wise equalitypublic MutableLong plus(MutableLong other)
Ring
this
and other
plus
in interface Ring<MutableLong>
other
- object to add to this
this
and other
public void plusEquals(MutableLong other)
Ring
this
and other
plusEquals
in interface Ring<MutableLong>
other
- object to add to this
public MutableLong minus(MutableLong other)
Ring
other
from this
minus
in interface Ring<MutableLong>
other
- object to subtract from this
this
and other
public void minusEquals(MutableLong other)
Ring
other
from
this
minusEquals
in interface Ring<MutableLong>
other
- object to subtract from this
public MutableLong times(MutableLong other)
EuclideanRing
this
value by the other
value, returning the
result of the multiplication as a new value.times
in interface EuclideanRing<MutableLong>
other
- The other value.public void timesEquals(MutableLong other)
EuclideanRing
this
value by the other
value,
storing the result inside this
.timesEquals
in interface EuclideanRing<MutableLong>
other
- The other value.public MutableLong divide(MutableLong other)
EuclideanRing
this
value by the other
value, returning the
result of the division as a new value.divide
in interface EuclideanRing<MutableLong>
other
- The other value.public void divideEquals(MutableLong other)
EuclideanRing
this
value by the other
value, storing
the result inside this
.divideEquals
in interface EuclideanRing<MutableLong>
other
- The other value.public MutableLong dotTimes(MutableLong other)
Ring
this
and other
dotTimes
in interface Ring<MutableLong>
other
- elements of other will be multiplied to the corresponding
elements of this
this
and
other
public void dotTimesEquals(MutableLong other)
Ring
this
and
other
dotTimesEquals
in interface Ring<MutableLong>
other
- elements of other will be multiplied to the corresponding
elements of this
public MutableLong scale(double scaleFactor)
Ring
this
by scaleFactor
scale
in interface Ring<MutableLong>
scaleFactor
- amount to scale the elements of this
this
public void scaleEquals(double scaleFactor)
Ring
this
by
scaleFactor
scaleEquals
in interface Ring<MutableLong>
scaleFactor
- amount to scale the elements of this
public MutableLong scaledPlus(double scaleFactor, MutableLong other)
Ring
this
and other
after
element-wise scaling of other
by scaleFactor
.
If this is x, other is y, and scaleFactor is a, then this method is
equivalent to x + a * y. It is typically a more efficient way of doing
this.plus(other.scale(scaleFactor))
since it can avoid
intermediate object creation.scaledPlus
in interface Ring<MutableLong>
scaleFactor
- The scale factor to multiply by the elements of other before
adding to the elements of this.other
- Object to scale and then add to this.public void scaledPlusEquals(double scaleFactor, MutableLong other)
Ring
this
and other
after
element-wise scaling of other
by scaleFactor
.
If this is x, other is y, and scaleFactor is a, then this method is
equivalent to x += a * y. It is typically a more efficient way of doing
this.plusEquals(other.scale(scaleFactor))
since it can avoid
intermediate object creation.scaledPlusEquals
in interface Ring<MutableLong>
scaleFactor
- The scale factor to multiply by the elements of other before
adding to the elements of this.other
- Object to scale and then add to this.public MutableLong scaledMinus(double scaleFactor, MutableLong other)
Ring
other
after element-wise scaling of
other
by scaleFactor
from this
.
If this is x, other is y, and scaleFactor is a, then this method is
equivalent to x - a * y. It is typically a more efficient way of doing
this.minus(other.scale(scaleFactor))
since it can avoid
intermediate object creation.scaledMinus
in interface Ring<MutableLong>
scaleFactor
- The scale factor to multiply by the elements of other before
subtracting from the elements of this.other
- Object to scale and then subtract from this.public void scaledMinusEquals(double scaleFactor, MutableLong other)
Ring
other
after element-wise
scaling of other
by scaleFactor
from this
.
If this is x, other is y, and scaleFactor is a, then this method is
equivalent to x -= a * y. It is typically a more efficient way of doing
this.minusEquals(other.scale(scaleFactor))
since it can avoid
intermediate object creation.scaledMinusEquals
in interface Ring<MutableLong>
scaleFactor
- The scale factor to multiply by the elements of other before
adding to the elements of this.other
- Object to scale and then add to this.public MutableLong negative()
Ring
this
, such that
this.plus( this.negative() )
has only zero elements.negative
in interface Ring<MutableLong>
this
public void negativeEquals()
Ring
this
negativeEquals
in interface Ring<MutableLong>
public void zero()
Ring
this
, so that the following are
equivalent
r1.scaleEquals( 0.0 );
and
r1.zero();
Furthermore,
r1.zero(); anything.dotTimes( r1 ).equals( r1 );zero
in interface Ring<MutableLong>
public boolean isZero()
Ring
isZero
in interface Ring<MutableLong>
public boolean isZero(double effectiveZero)
Ring
isZero
in interface Ring<MutableLong>
effectiveZero
- Tolerance threshold for element-wise equalitypublic Vector1 convertToVector()
Vectorizable
convertToVector
in interface Vectorizable
public void convertFromVector(Vector parameters)
Vectorizable
convertFromVector
in interface Vectorizable
parameters
- The parameters to incorporate.