Now that we have explicit Ln() and Log10(), let's get rid of the hopelessly esoteric arbitrary-base Log().

This commit is contained in:
Par Winzell
2009-09-09 20:57:08 +00:00
parent 14c1bdd860
commit 47e6f6f552
5 changed files with 2 additions and 43 deletions
+2 -14
View File
@@ -68,8 +68,7 @@ public class Funcs
}
/**
* Creates an expression that computes the natural logarithm of the supplied expression,
* which may be double-precision.
* Creates an expression that computes the natural logarithm of the supplied expression.
*/
public static Ln ln (SQLExpression exp)
{
@@ -77,24 +76,13 @@ public class Funcs
}
/**
* Creates an expression that computes the base-10 logarithm of the supplied expression,
* which may be double-precision.
* Creates an expression that computes the base-10 logarithm of the supplied expression.
*/
public static Log10 log10 (SQLExpression value)
{
return new Log10(value);
}
/**
* Creates an expression that computes the logarithm of the supplied value expression
* in the supplied base expression. Note: Under PostgreSQL, this must evaluate to a simple
* numerical, not double precision.
*/
public static LogN logN (SQLExpression base, SQLExpression value)
{
return new LogN(base, value);
}
/**
* Creates an expression that evaluates to the constant PI.
*/
@@ -79,21 +79,6 @@ public abstract class NumericalFun
}
}
public static class LogN extends TwoArgFun {
public LogN (SQLExpression base, SQLExpression value) {
super(base, value);
}
public Object accept (ExpressionVisitor<?> visitor) {
return visitor.visit(this);
}
public SQLExpression getBase () {
return _arg1;
}
public SQLExpression getValue () {
return _arg2;
}
}
public static class Pi extends NoArgFun {
public Object accept (ExpressionVisitor<?> visitor) {
return visitor.visit(this);
@@ -69,7 +69,6 @@ import com.samskivert.depot.function.NumericalFun.Exp;
import com.samskivert.depot.function.NumericalFun.Floor;
import com.samskivert.depot.function.NumericalFun.Ln;
import com.samskivert.depot.function.NumericalFun.Log10;
import com.samskivert.depot.function.NumericalFun.LogN;
import com.samskivert.depot.function.NumericalFun.Pi;
import com.samskivert.depot.function.NumericalFun.Power;
import com.samskivert.depot.function.NumericalFun.Random;
@@ -623,11 +622,6 @@ public abstract class BuildVisitor implements ExpressionVisitor<Void>
return appendFunctionCall("log", exp.getArg());
}
public Void visit (LogN exp)
{
return appendFunctionCall("log", exp.getBase(), exp.getValue());
}
public Void visit (Pi exp)
{
return appendFunctionCall("PI");
@@ -58,7 +58,6 @@ import com.samskivert.depot.function.NumericalFun.Exp;
import com.samskivert.depot.function.NumericalFun.Floor;
import com.samskivert.depot.function.NumericalFun.Ln;
import com.samskivert.depot.function.NumericalFun.Log10;
import com.samskivert.depot.function.NumericalFun.LogN;
import com.samskivert.depot.function.NumericalFun.Pi;
import com.samskivert.depot.function.NumericalFun.Power;
import com.samskivert.depot.function.NumericalFun.Random;
@@ -395,11 +394,6 @@ public class ExpressionEvaluator
throw new IllegalArgumentException("Can't evaluate expression: " + exp);
}
public Void visit (LogN exp)
{
throw new IllegalArgumentException("Can't evaluate expression: " + exp);
}
public Void visit (Pi exp)
{
throw new IllegalArgumentException("Can't evaluate expression: " + exp);
@@ -52,7 +52,6 @@ import com.samskivert.depot.function.NumericalFun.Exp;
import com.samskivert.depot.function.NumericalFun.Floor;
import com.samskivert.depot.function.NumericalFun.Ln;
import com.samskivert.depot.function.NumericalFun.Log10;
import com.samskivert.depot.function.NumericalFun.LogN;
import com.samskivert.depot.function.NumericalFun.Pi;
import com.samskivert.depot.function.NumericalFun.Power;
import com.samskivert.depot.function.NumericalFun.Random;
@@ -125,7 +124,6 @@ public interface ExpressionVisitor<T>
public T visit (Floor exp);
public T visit (Ln exp);
public T visit (Log10 exp);
public T visit (LogN exp);
public T visit (Pi exp);
public T visit (Power exp);
public T visit (Random exp);