Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package com.facebook.presto.operator.scalar;
 
 
 
 public final class MathFunctions
 {
     private MathFunctions() {}
 
     @Description("absolute value")
     @ScalarFunction
     public static long abs(@SqlType(.long num)
     {
         return Math.abs(num);
     }
 
     @Description("absolute value")
     @ScalarFunction
     public static double abs(@SqlType(.double num)
     {
         return Math.abs(num);
     }
 
     @Description("arc cosine")
     @ScalarFunction
     public static double acos(@SqlType(.double num)
     {
         return Math.acos(num);
     }
 
     @Description("arc sine")
     @ScalarFunction
     public static double asin(@SqlType(.double num)
     {
         return Math.asin(num);
     }
 
     @Description("arc tangent")
     @ScalarFunction
     public static double atan(@SqlType(.double num)
     {
         return Math.atan(num);
     }
 
     @Description("arc tangent of given fraction")
     @ScalarFunction
     public static double atan2(@SqlType(.double num1, @SqlType(.double num2)
     {
         return Math.atan2(num1num2);
     }
 
     @Description("cube root")
     @ScalarFunction
     public static double cbrt(@SqlType(.double num)
     {
         return Math.cbrt(num);
     }
 
     @Description("round up to nearest integer")
     @ScalarFunction(alias = "ceil")
     public static long ceiling(@SqlType(.long num)
     {
         return num;
     }
 
     @Description("round up to nearest integer")
     @ScalarFunction(alias = "ceil")
     public static double ceiling(@SqlType(.double num)
     {
         return Math.ceil(num);
     }
 
     @Description("cosine")
    public static double cos(@SqlType(.double num)
    {
        return Math.cos(num);
    }
    @Description("hyperbolic cosine")
    public static double cosh(@SqlType(.double num)
    {
        return Math.cosh(num);
    }
    @Description("Euler's number")
    public static double e()
    {
        return .;
    }
    @Description("Euler's number raised to the given power")
    public static double exp(@SqlType(.double num)
    {
        return Math.exp(num);
    }
    @Description("round down to nearest integer")
    public static long floor(@SqlType(.long num)
    {
        return num;
    }
    @Description("round down to nearest integer")
    public static double floor(@SqlType(.double num)
    {
        return Math.floor(num);
    }
    @Description("natural logarithm")
    public static double ln(@SqlType(.double num)
    {
        return Math.log(num);
    }
    @Description("logarithm to base 2")
    public static double log2(@SqlType(.double num)
    {
        return Math.log(num) / Math.log(2);
    }
    @Description("logarithm to base 10")
    public static double log10(@SqlType(.double num)
    {
        return Math.log10(num);
    }
    @Description("logarithm to given base")
    public static double log(@SqlType(.double num, @SqlType(.double base)
    {
        return Math.log(num) / Math.log(base);
    }
    @Description("remainder of given quotient")
    public static long mod(@SqlType(.long num1, @SqlType(.long num2)
    {
        return num1 % num2;
    }
    @Description("remainder of given quotient")
    public static double mod(@SqlType(.double num1, @SqlType(.double num2)
    {
        return num1 % num2;
    }
    @Description("the constant Pi")
    public static double pi()
    {
        return .;
    }
    @Description("value raised to the power of exponent")
    public static double pow(@SqlType(.double num, @SqlType(.double exponent)
    {
        return Math.pow(numexponent);
    }
    @Description("a pseudo-random value")
    @ScalarFunction(alias = "rand", deterministic = false)
    public static double random()
    {
        return ThreadLocalRandom.current().nextDouble();
    }
    @Description("round to nearest integer")
    public static long round(@SqlType(.long num)
    {
        return round(num, 0);
    }
    @Description("round to nearest integer")
    public static long round(@SqlType(.long num, @SqlType(.long decimals)
    {
        return num;
    }
    @Description("round to nearest integer")
    public static double round(@SqlType(.double num)
    {
        return round(num, 0);
    }
    @Description("round to given number of decimal places")
    public static double round(@SqlType(.double num, @SqlType(.long decimals)
    {
        if (num == 0.0) {
            return 0;
        }
        if (num < 0) {
            return -round(-numdecimals);
        }
        double factor = Math.pow(10, decimals);
        return Math.floor(num * factor + 0.5) / factor;
    }
    @Description("sine")
    public static double sin(@SqlType(.double num)
    {
        return Math.sin(num);
    }
    @Description("square root")
    public static double sqrt(@SqlType(.double num)
    {
        return Math.sqrt(num);
    }
    @Description("tangent")
    public static double tan(@SqlType(.double num)
    {
        return Math.tan(num);
    }
    @Description("hyperbolic tangent")
    public static double tanh(@SqlType(.double num)
    {
        return Math.tanh(num);
    }
    @Description("test if value is not-a-number")
    @ScalarFunction("is_nan")
    public static boolean isNaN(@SqlType(.double num)
    {
        return Double.isNaN(num);
    }
    @Description("test if value is finite")
    public static boolean isFinite(@SqlType(.double num)
    {
        return Doubles.isFinite(num);
    }
    @Description("test if value is infinite")
    public static boolean isInfinite(@SqlType(.double num)
    {
        return Double.isInfinite(num);
    }
    @Description("constant representing not-a-number")
    @ScalarFunction("nan")
    public static double NaN()
    {
        return .;
    }
    @Description("Infinity")
    public static double infinity()
    {
        return .;
    }
New to GrepCode? Check out our FAQ X