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
,java.io.Serializable
public class Logarithm extends UnaryFunction implements RealUnaryFunction
Log base 10. By default negative arguments will return a complex resultlog(|x|) + pi i
if the strict flag is set in the constructorversion 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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
strict
-
Fields inherited from class com.singularsys.jep.functions.PostfixMathCommand
curNumberOfParameters, name, NaN, numberOfParameters
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
eval(java.lang.Object arg)
double
evaluate(double val)
java.lang.Object
log(java.lang.Object param)
-
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
-
-
-
-
Constructor Detail
-
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 Detail
-
eval
public java.lang.Object eval(java.lang.Object arg) throws EvaluationException
- Specified by:
eval
in classUnaryFunction
- Throws:
EvaluationException
-
log
public java.lang.Object log(java.lang.Object param) throws EvaluationException
- Throws:
EvaluationException
-
evaluate
public double evaluate(double val)
- Specified by:
evaluate
in interfaceRealUnaryFunction
-
-