com.rubecula.darwin.domain.world
Class Function_Choosy
java.lang.Object
com.rubecula.darwin.foundation.Function_
com.rubecula.darwin.domain.world.Function_Choosy
- All Implemented Interfaces:
- Choosy, Function, HasExpressions, com.rubecula.jexpression.EvalExpression, com.rubecula.jexpression.EvalExpressionMutable, com.rubecula.jexpression.Valuable, net.sf.tostring0.Identifiable
public class Function_Choosy
- extends Function_
- implements Choosy, HasExpressions
This class implements the Choosy.getMinimumDesirability(double)
function and allows dynamic varying of the specific formula, by emplying an
Evaluator.
Concrete implementation of Desirable which extends Function_
and implements HasExpressions (thus it can be updated graphically at
runtime).
- Author:
- Robin Hillyard
| Methods inherited from class com.rubecula.darwin.foundation.Function_ |
addListener, addSymbol, equals, evaluate, getErrorInfo, getEvaluator, getExpression, getExpressionMap, getExpressionTerms, getValue, hashCode, isDifferent, isMutable, normalDistributionDensityFunction, normalDistributionDensityFunctionScaled, onFunctionChange, removeVariable, reset, setEvaluator, setExpression, setExpression |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.rubecula.jexpression.EvalExpressionMutable |
isMutable, setExpression, setExpression |
| Methods inherited from interface com.rubecula.jexpression.EvalExpression |
getExpression, getExpressionTerms |
Function_Choosy
public Function_Choosy()
Function_Choosy
public Function_Choosy(com.rubecula.jexpression.Evaluator evaluator)
- Parameters:
evaluator -
getExpressions
public ExpressionMap getExpressions()
- Specified by:
getExpressions in interface HasExpressions
- Returns:
- a map of
String / EvalExpressionMutable pairs.
The String key for each EvalExpressionMutable is the name
by which that expression will be known in the user interface. - See Also:
HasExpressions.getExpressions()
getIdentifier
public java.lang.String getIdentifier()
- Specified by:
getIdentifier in interface net.sf.tostring0.Identifiable
- Returns:
- (typically) "Choosiness"
- See Also:
Identifiable.getIdentifier()
getMinimumDesirability
public double getMinimumDesirability(double random)
- Description copied from interface:
Choosy
- Get the choosiness of a female for finding a mate.
- Specified by:
getMinimumDesirability in interface Choosy
- Returns:
- a value between 0 and infinity. The higher the value, the more
choosy she is. A value of 0 means that all males are eligible and
a female will never need to look outside the population for a
mate.
- See Also:
Choosy.getMinimumDesirability(double)
standardFunction
protected double standardFunction(java.lang.Object... arguments)
throws FunctionException
- Specified by:
standardFunction in class Function_
- Parameters:
arguments - a variable set of Objects which must be passed to the actual
implemented version of Function_.standardFunction(Object...).
- Returns:
- the standard value for this function. This is called when
Function_.isDifferent() returns false.
- Throws:
FunctionException - XXX- See Also:
Function_.standardFunction(java.lang.Object[])
standardFunctionTokens
protected java.lang.CharSequence[] standardFunctionTokens(com.rubecula.jexpression.Notation notation)
- The standard formula is:
e^(random*3.8)
TEST
- Specified by:
standardFunctionTokens in class Function_
- Parameters:
notation - the notation type used by the evaluator.
- Returns:
- the sequence of tokens that corresponds to the
Function_.standardFunction(Object...). This is called by
Function_.reset(). - See Also:
Function_.standardFunctionTokens(Notation)
Copyright © 2010 Rubecula Software, LLC. All Rights Reserved.