public class Logarithm extends UnaryFunction implements RealUnaryFunction
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).
Modifier and Type | Field and Description |
---|---|
protected boolean |
strict |
curNumberOfParameters, name, NaN, numberOfParameters
Constructor and Description |
---|
Logarithm()
Standard constructor, returns complex results for negative arguments
|
Logarithm(boolean strict)
Constructor with control for behaviour for complex results
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
eval(java.lang.Object arg) |
double |
evaluate(double val) |
java.lang.Object |
log(java.lang.Object param) |
run
asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, checkNumberOfParameters, getName, getNumberOfParameters, setCurNumberOfParameters, setName, toString, toString
public Logarithm(boolean strict)
strict
- if true negative real arguments return NaN, otherwise complex results are returnedpublic Logarithm()
public java.lang.Object eval(java.lang.Object arg) throws EvaluationException
eval
in class UnaryFunction
EvaluationException
public java.lang.Object log(java.lang.Object param) throws EvaluationException
EvaluationException
public double evaluate(double val)
evaluate
in interface RealUnaryFunction
Copyright © 2018 Singular Systems http://www.singularsys.com/jep