Package functions.unitary.piecewise
Class DomainRestrictor
Object
GeneralFunction
UnitaryFunction
PiecewiseFunction
DomainRestrictor
- All Implemented Interfaces:
Differentiable,Evaluable,Outputable,Simplifiable,Comparable<GeneralFunction>,Iterable<GeneralFunction>
public class DomainRestrictor extends PiecewiseFunction
The
DomainRestrictor class allows for the restriction of domains of ranges of functions.
When domainTester returns true, this class functions as the identity,
but when domainTester returns false, evaluate returns Double.NaN.-
Field Summary
Fields Modifier and Type Field Description BiPredicate<Double,Map<String,Double>>domainTesterThisBiPredicatedescribes the domain of this function given an argument and list of variable values -
Constructor Summary
Constructors Constructor Description DomainRestrictor(GeneralFunction operand, BiPredicate<Double,Map<String,Double>> domainTester)Constructs a newDomainRestrictorDomainRestrictor(GeneralFunction operand, DoublePredicate domainTester)Constructs a newDomainRestrictor -
Method Summary
Modifier and Type Method Description doubleevaluate(Map<String,Double> variableValues)Evaluates aGeneralFunctionat a point denoted by aMapGeneralFunctiongetDerivative(String varID)Returns the derivative of aGeneralFunctionwith respect to a variable.UnitaryFunctiongetInstance(GeneralFunction operand)Returns a new instance of thisUnitaryFunctionStringtoString()Returns a String representation of thisGeneralFunctionMethods inherited from class UnitaryFunction
clone, compareSelf, equalsFunction, hashCode, iterator, newInstanceOf, simplify, simplifyFOC, simplifyInternal, simplifyInverse, substituteAll, toOutputFunctionMethods inherited from class GeneralFunction
compareTo, derivativeAt, equals, equalsSimplified, getNthDerivative, getSimplifiedDerivative, substituteVariables
-
Field Details
-
domainTester
public final BiPredicate<Double,Map<String,Double>> domainTesterThisBiPredicatedescribes the domain of this function given an argument and list of variable values
-
-
Constructor Details
-
DomainRestrictor
public DomainRestrictor(GeneralFunction operand, BiPredicate<Double,Map<String,Double>> domainTester)Constructs a newDomainRestrictor- Parameters:
operand- The function whose output will be restricteddomainTester- theBiPredicate<Double, Map<String, Double>>describing the domain of the function
-
DomainRestrictor
Constructs a newDomainRestrictor- Parameters:
operand- The function whose output will be restricteddomainTester- theDoublePredicatedescribing the domain of the function
-
-
Method Details
-
getInstance
Description copied from class:UnitaryFunctionReturns a new instance of thisUnitaryFunction- Specified by:
getInstancein classUnitaryFunction- Parameters:
operand- theGeneralFunctionto be operated on- Returns:
- a new instance of this
UnitaryFunction
-
getDerivative
Description copied from interface:DifferentiableReturns the derivative of aGeneralFunctionwith respect to a variable. Should not be used in general;GeneralFunction.getSimplifiedDerivative(java.lang.String)is strongly preferred.- Parameters:
varID- the ID of the variable that is differentiated against- Returns:
- the derivative of the function with respect to
varID
-
evaluate
public double evaluate(Map<String,Double> variableValues)Description copied from interface:EvaluableEvaluates aGeneralFunctionat a point denoted by aMap- Parameters:
variableValues- the values of the variables in theGeneralFunctionat the point- Returns:
- the value of the
GeneralFunctionat the point
-
toString
public String toString()Description copied from class:GeneralFunctionReturns a String representation of thisGeneralFunction- Overrides:
toStringin classUnitaryFunction- Returns:
- String representation of this function
-