java.lang.Object
io.jenetics.LongGene
- All Implemented Interfaces:
BoundedGene<Long,,LongGene> Gene<Long,,LongGene> NumericGene<Long,,LongGene> Factory<LongGene>,Mean<LongGene>,Self<LongGene>,Verifiable,Serializable,Comparable<LongGene>
public final class LongGene
extends Object
implements NumericGene<Long,LongGene>, Mean<LongGene>, Comparable<LongGene>, Serializable
NumericGene implementation which holds a 64-bit integer number.
This is a
value-based class; use of identity-sensitive operations (including
reference equality (==), identity hash code, or synchronization) on
instances of LongGene may have unpredictable results and should
be avoided.
- Since:
- 1.6
- Version:
- 6.1
- See Also:
- Implementation Note:
- This class is immutable and thread-safe.
-
Method Summary
Modifier and TypeMethodDescriptionallele()Return the allele of this gene.byteReturns the value of the specified gene as a byte.intdoubleReturns the value of the specified gene as a double.booleanfloatReturns the value of the specified gene as a float.inthashCode()intintValue()Returns the value of the specified gene as an int.booleanisValid()Check if this object is valid.longReturns the value of the specified gene as a long.max()Return the allowed max value.Return the (usually arithmetic) mean value ofthisandthat.min()Return the allowed min value.Return a new, random gene with the same type and with the same constraints as this gene.newInstance(long allele) Create a new gene from the givenvalueand the gene context.newInstance(Long allele) Create a new gene from the givenvalueand the current bounds.newInstance(Number allele) Create a new gene from the givenvalueand the current bounds.static LongGeneof(long min, long max) Create a new randomLongGene.static LongGeneof(long allele, long min, long max) Create a new randomLongGenewith the given value and the given range.static LongGeneCreate a new randomLongGenewith the given value and the given range.static LongGeneCreate a new randomLongGene.range()Return the range ofthisgene.shortReturns the value of the specified gene as a short.toString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.jenetics.BoundedGene
max, min
-
Method Details
-
allele
Description copied from interface:GeneReturn the allele of this gene. -
min
Description copied from interface:BoundedGeneReturn the allowed min value.- Specified by:
minin interfaceBoundedGene<Long,LongGene> - Returns:
- The allowed min value.
-
max
Description copied from interface:BoundedGeneReturn the allowed max value.- Specified by:
maxin interfaceBoundedGene<Long,LongGene> - Returns:
- The allowed max value.
-
range
Return the range ofthisgene.- Returns:
- the range of
thisgene - Since:
- 4.4
-
byteValue
Description copied from interface:NumericGeneReturns the value of the specified gene as a byte. This may involve rounding or truncation.- Specified by:
byteValuein interfaceNumericGene<Long,LongGene> - Returns:
- the numeric value represented by this object after conversion to
type
byte.
-
shortValue
Description copied from interface:NumericGeneReturns the value of the specified gene as a short. This may involve rounding or truncation.- Specified by:
shortValuein interfaceNumericGene<Long,LongGene> - Returns:
- the numeric value represented by this object after conversion to
type
short.
-
intValue
Description copied from interface:NumericGeneReturns the value of the specified gene as an int. This may involve rounding or truncation.- Specified by:
intValuein interfaceNumericGene<Long,LongGene> - Returns:
- the numeric value represented by this object after conversion to
type
int.
-
longValue
Description copied from interface:NumericGeneReturns the value of the specified gene as a long. This may involve rounding or truncation.- Specified by:
longValuein interfaceNumericGene<Long,LongGene> - Returns:
- the numeric value represented by this object after conversion to
type
long.
-
floatValue
Description copied from interface:NumericGeneReturns the value of the specified gene as a float. This may involve rounding or truncation.- Specified by:
floatValuein interfaceNumericGene<Long,LongGene> - Returns:
- the numeric value represented by this object after conversion to
type
float.
-
doubleValue
Description copied from interface:NumericGeneReturns the value of the specified gene as a double. This may involve rounding or truncation.- Specified by:
doubleValuein interfaceNumericGene<Long,LongGene> - Returns:
- the numeric value represented by this object after conversion to
type
double.
-
isValid
Description copied from interface:VerifiableCheck if this object is valid.- Specified by:
isValidin interfaceBoundedGene<Long,LongGene> - Specified by:
isValidin interfaceVerifiable- Returns:
- true if this object is valid, false otherwise.
-
compareTo
- Specified by:
compareToin interfaceBoundedGene<Long,LongGene> - Specified by:
compareToin interfaceComparable<LongGene>
-
mean
Description copied from interface:MeanReturn the (usually arithmetic) mean value ofthisandthat. ForNumericGenes the mean is the arithmetic mean. -
newInstance
Create a new gene from the givenvalueand the gene context.- Parameters:
allele- the value of the new gene.- Returns:
- a new gene with the given value.
- Since:
- 5.0
-
newInstance
Description copied from interface:BoundedGeneCreate a new gene from the givenvalueand the current bounds.- Specified by:
newInstancein interfaceBoundedGene<Long,LongGene> - Specified by:
newInstancein interfaceGene<Long,LongGene> - Parameters:
allele- the value of the new gene.- Returns:
- a new gene with the given value.
-
newInstance
Description copied from interface:BoundedGeneCreate a new gene from the givenvalueand the current bounds.- Specified by:
newInstancein interfaceNumericGene<Long,LongGene> - Parameters:
allele- the value of the new gene.- Returns:
- a new gene with the given value.
-
newInstance
Description copied from interface:GeneReturn a new, random gene with the same type and with the same constraints as this gene. For all genes returned by this method holdsgene.getClass() == gene.newInstance().getClass(). Implementations of this method have to use theRandomGeneratorobject which can be fetched from theRandomRegistry.- Specified by:
newInstancein interfaceFactory<LongGene>- Specified by:
newInstancein interfaceGene<Long,LongGene> - Returns:
- a new instance of type T
-
hashCode
-
equals
-
toString
-
of
Create a new randomLongGenewith the given value and the given range. If thevalueisn't within the interval[min, max), no exception is thrown. In this case the methodisValid()returnsfalse.- Parameters:
allele- the value of the gene.min- the minimal valid value of this gene (inclusively).max- the maximal valid value of this gene (exclusively).- Returns:
- a new
LongGenewith the given parameters.
-
of
Create a new randomLongGenewith the given value and the given range. If thevalueisn't within the interval[min, max), no exception is thrown. In this case the methodisValid()returnsfalse.- Parameters:
allele- the value of the gene.range- the long range to use- Returns:
- a new random
LongGene - Throws:
NullPointerException- if the givenrangeisnull.- Since:
- 3.2
-
of
Create a new randomLongGene. It is guaranteed that the value of theLongGenelies in the interval[min, max).- Parameters:
min- the minimal valid value of this gene (inclusively).max- the maximal valid value of this gene (exclusively).- Returns:
- a new
LongGenewith the given parameters. - Throws:
IllegalArgumentException- ifmaxis greater than or equal tomin
-
of
Create a new randomLongGene. It is guaranteed that the value of theLongGenelies in the interval[min, max).- Parameters:
range- the long range to use- Returns:
- a new random
LongGene - Throws:
NullPointerException- if the givenrangeisnullIllegalArgumentException- ifmaxis greater than or equal tomin- Since:
- 3.2
-