richardstartin commented on a change in pull request #8304:
URL: https://github.com/apache/pinot/pull/8304#discussion_r826837137
##########
File path:
pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ArithmeticFunctions.java
##########
@@ -104,4 +111,30 @@ public static double ln(double a) {
public static double sqrt(double a) {
return Math.sqrt(a);
}
+
+ @ScalarFunction
+ public static double sign(double a) {
+ return Math.signum(a);
+ }
+
+ @ScalarFunction
+ public static double pi() { return Math.PI; }
+
+ @ScalarFunction
+ public static double e() { return Math.E; }
+
+ @ScalarFunction
+ public static double power(double a, double b) {
+ return Math.pow(a, b);
+ }
+
+ @ScalarFunction
+ public static double log(double a) {
Review comment:
This function should actually take a base as an optional parameter to be
sql compliant (I understand that this mechanism doesn’t support optional
parameters, but a default value could possibly be used.)
If the base parameter is default, a natural logarithm should be computed. If
it is 10 or 2, the appropriate math functions should be called. If it is
something else it should be calculated as follows:
logb(x) = log10(x) / log10(b)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]