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.