Package com.singularsys.jep.functions
Class Logarithm
java.lang.Object
com.singularsys.jep.functions.PostfixMathCommand
com.singularsys.jep.functions.UnaryFunction
com.singularsys.jep.functions.Logarithm
- All Implemented Interfaces:
PostfixMathCommandI
,RealUnaryFunction
,Serializable
Log base 10.
By default, negative arguments will return a complex result
log(|x|) + pi iif the strict flag is set in the constructor
version 3.4: Speedup by using static final fields.
version 3.4: Change to use Java 5 Math.log10() method.
version 3.5: For negative arguments log10(-x) =log10(x) + i pi log10(e)
as 10^(log10(x) + i log10(e)) = x * e^(i pi) = -x
.
For complex arguments, (x+i y) = r e^(i th)
,
log10(r e^(i th)) = log10(r) + i th log10(e)
as
10^(log10(r) + i th log10(e)) = r * e^(i th)
.
- See Also:
-
Field Summary
Fields inherited from class com.singularsys.jep.functions.PostfixMathCommand
curNumberOfParameters, name, NaN, numberOfParameters
-
Constructor Summary
-
Method Summary
Methods inherited from class com.singularsys.jep.functions.UnaryFunction
instanceOf, instanceOf, run
Methods inherited from class com.singularsys.jep.functions.PostfixMathCommand
asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, checkNumberOfParameters, getName, getNumberOfParameters, setCurNumberOfParameters, setName, toString, toString
-
Field Details
-
strict
protected final boolean strict
-
-
Constructor Details
-
Logarithm
public Logarithm(boolean strict) Constructor with control for behaviour for complex results- Parameters:
strict
- if true negative real arguments return NaN, otherwise complex results are returned
-
Logarithm
public Logarithm()Standard constructor, returns complex results for negative arguments
-
-
Method Details
-
eval
Description copied from class:UnaryFunction
Evaluate the function- Specified by:
eval
in classUnaryFunction
- Parameters:
arg
- the single argument passed in- Returns:
- the result of the function
- Throws:
EvaluationException
-
log
- Throws:
EvaluationException
-
evaluate
public double evaluate(double val) - Specified by:
evaluate
in interfaceRealUnaryFunction
-