This is an automated email from the ASF dual-hosted git repository.

krisztiankasa pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new a029c5fd042 HIVE-27145: Use StrictMath for remaining Math functions as 
followup of HIVE-23133 (Himanshu Mishra, reviewed by Krisztian Kasa, Syed 
Shameerur Rahman)
a029c5fd042 is described below

commit a029c5fd04268bd3254a3db2d44b08299b4b4ffb
Author: Himanshu Mishra <[email protected]>
AuthorDate: Thu Apr 13 18:29:53 2023 +0530

    HIVE-27145: Use StrictMath for remaining Math functions as followup of 
HIVE-23133 (Himanshu Mishra, reviewed by Krisztian Kasa, Syed Shameerur Rahman)
    
    HIVE-23133 started using StrictMath for cos, exp, log UDFs to fix Q
    Tests failing because results could vary based on hardware when
    using Math library.
    
    1. There are other Math functions that can have same impact of underlying
    hardware namely, sin, tan, asin, acos, atan, sqrt, pow, cbrt. Using
    StrictMath for these as well.
    2. HIVE-23133 missed custom vector classes for Log, using StrictMath for 
those.
    3. JDK-4477961 (in Java 9) changed radians and degrees calculation
    leading to Q Test failures. Using round() to ensure tests pass on JDK 8
    and later
    
    Co-authored-by: Himanshu Mishra <[email protected]>
---
 .../expressions/FuncLogWithBaseDoubleToDouble.java |  2 +-
 .../expressions/FuncLogWithBaseLongToDouble.java   |  2 +-
 .../expressions/FuncPowerDoubleToDouble.java       |  2 +-
 .../vector/expressions/FuncPowerLongToDouble.java  |  2 +-
 .../org/apache/hadoop/hive/ql/udf/UDFAcos.java     |  2 +-
 .../org/apache/hadoop/hive/ql/udf/UDFAsin.java     |  2 +-
 .../org/apache/hadoop/hive/ql/udf/UDFAtan.java     |  2 +-
 .../java/org/apache/hadoop/hive/ql/udf/UDFSin.java |  2 +-
 .../org/apache/hadoop/hive/ql/udf/UDFSqrt.java     |  2 +-
 .../java/org/apache/hadoop/hive/ql/udf/UDFTan.java |  2 +-
 .../hadoop/hive/ql/udf/generic/GenericUDFCbrt.java |  2 +-
 .../hive/ql/udf/generic/GenericUDFPower.java       |  2 +-
 ql/src/test/queries/clientpositive/udf_radians.q   |  9 ++--
 .../clientpositive/vector_decimal_math_funcs.q     |  8 +--
 .../queries/clientpositive/vector_decimal_udf2.q   |  6 ++-
 .../queries/clientpositive/vectorized_math_funcs.q |  3 +-
 .../results/clientpositive/llap/udf_radians.q.out  | 16 +++---
 .../llap/vector_decimal_math_funcs.q.out           | 60 ++++++++++++----------
 .../clientpositive/llap/vector_decimal_udf2.q.out  | 12 ++---
 .../llap/vectorized_math_funcs.q.out               | 28 +++++-----
 .../apache/hadoop/hive/tools/GenVectorCode.java    | 24 ++++-----
 21 files changed, 101 insertions(+), 89 deletions(-)

diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseDoubleToDouble.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseDoubleToDouble.java
index b799379d57c..5c9d220f762 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseDoubleToDouble.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseDoubleToDouble.java
@@ -40,7 +40,7 @@ public class FuncLogWithBaseDoubleToDouble extends 
MathFuncDoubleToDouble {
 
   @Override
   protected double func(double d) {
-    return Math.log(d) / Math.log(base);
+    return StrictMath.log(d) / StrictMath.log(base);
   }
 
   public double getBase() {
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseLongToDouble.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseLongToDouble.java
index f23783e376a..1ac288a9d22 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseLongToDouble.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseLongToDouble.java
@@ -40,7 +40,7 @@ public class FuncLogWithBaseLongToDouble extends 
MathFuncLongToDouble {
 
   @Override
   protected double func(long l) {
-    return Math.log((double) l) / Math.log(base);
+    return StrictMath.log((double) l) / StrictMath.log(base);
   }
 
   public double getBase() {
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerDoubleToDouble.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerDoubleToDouble.java
index 6b43a02785e..b25c06c9248 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerDoubleToDouble.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerDoubleToDouble.java
@@ -43,7 +43,7 @@ public class FuncPowerDoubleToDouble extends 
MathFuncDoubleToDouble {
 
   @Override
   public double func(double d) {
-    return Math.pow(d, power);
+    return StrictMath.pow(d, power);
   }
 
   public double getPower() {
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerLongToDouble.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerLongToDouble.java
index 3979f75318f..638160281ae 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerLongToDouble.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerLongToDouble.java
@@ -43,7 +43,7 @@ public class FuncPowerLongToDouble extends 
MathFuncLongToDouble {
 
   @Override
   public double func(long l) {
-    return Math.pow((double) l, power);
+    return StrictMath.pow((double) l, power);
   }
 
   public double getPower() {
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAcos.java 
b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAcos.java
index 0ee0a599429..64a984fcffa 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAcos.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAcos.java
@@ -48,7 +48,7 @@ public class UDFAcos extends UDFMath {
     if (d < -1 || d > 1) {
       return null;
     } else {
-      result.set(Math.acos(d));
+      result.set(StrictMath.acos(d));
       return result;
     }
   }
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAsin.java 
b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAsin.java
index 07c5ec748cc..5e1dba05828 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAsin.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAsin.java
@@ -48,7 +48,7 @@ public class UDFAsin extends UDFMath {
     if (d < -1 || d > 1) {
       return null;
     } else {
-      result.set(Math.asin(d));
+      result.set(StrictMath.asin(d));
       return result;
     }
   }
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAtan.java 
b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAtan.java
index 4e35613d9f1..c941fd344e9 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAtan.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAtan.java
@@ -37,7 +37,7 @@ public class UDFAtan extends UDFMath {
 
   @Override
   protected DoubleWritable doEvaluate(DoubleWritable a) {
-    result.set(Math.atan(a.get()));
+    result.set(StrictMath.atan(a.get()));
     return result;
   }
 
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSin.java 
b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSin.java
index 62a598c02dd..860728516ff 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSin.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSin.java
@@ -42,7 +42,7 @@ public class UDFSin extends UDFMath {
    */
   @Override
   protected DoubleWritable doEvaluate(DoubleWritable a) {
-    result.set(Math.sin(a.get()));
+    result.set(StrictMath.sin(a.get()));
     return result;
   }
 
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSqrt.java 
b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSqrt.java
index 2285f9d424e..4c738253bd7 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSqrt.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSqrt.java
@@ -45,7 +45,7 @@ public class UDFSqrt extends UDFMath {
     if (a.get() < 0) {
       return null;
     } else {
-      result.set(Math.sqrt(a.get()));
+      result.set(StrictMath.sqrt(a.get()));
       return result;
     }
   }
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFTan.java 
b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFTan.java
index 97cfdef1d0a..3181a04c528 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFTan.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFTan.java
@@ -40,7 +40,7 @@ public class UDFTan extends UDFMath {
    */
   @Override
   protected DoubleWritable doEvaluate(DoubleWritable a) {
-    result.set(Math.tan(a.get()));
+    result.set(StrictMath.tan(a.get()));
     return result;
   }
 
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCbrt.java 
b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCbrt.java
index 7a5fa314075..b7f14516743 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCbrt.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCbrt.java
@@ -64,7 +64,7 @@ public class GenericUDFCbrt extends GenericUDF {
       return null;
     }
 
-    double cbrt = Math.cbrt(val);
+    double cbrt = StrictMath.cbrt(val);
     output.set(cbrt);
     return output;
   }
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFPower.java 
b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFPower.java
index 91f730a8cc9..f4464274e3e 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFPower.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFPower.java
@@ -125,7 +125,7 @@ public class GenericUDFPower extends GenericUDF {
       return null;
     }
 
-    doubleWritable.set(Math.pow(((DoubleWritable)base).get(), 
((DoubleWritable)power).get()));
+    doubleWritable.set(StrictMath.pow(((DoubleWritable)base).get(), 
((DoubleWritable)power).get()));
     return doubleWritable;
   }
 
diff --git a/ql/src/test/queries/clientpositive/udf_radians.q 
b/ql/src/test/queries/clientpositive/udf_radians.q
index 9532bb34801..6d087562144 100644
--- a/ql/src/test/queries/clientpositive/udf_radians.q
+++ b/ql/src/test/queries/clientpositive/udf_radians.q
@@ -1,18 +1,19 @@
 --! qt:dataset:src
 set hive.fetch.task.conversion=more;
 
+-- Round to avoid decimal precision difference due to JDK-4477961
 explain
-select radians(57.2958) FROM src tablesample (1 rows);
+select round(radians(57.2958), 15) FROM src tablesample (1 rows);
 
-select radians(57.2958) FROM src tablesample (1 rows);
+select round(radians(57.2958), 15) FROM src tablesample (1 rows);
 select radians(143.2394) FROM src tablesample (1 rows);
 
 DESCRIBE FUNCTION radians;
 DESCRIBE FUNCTION EXTENDED radians;
 explain 
-select radians(57.2958) FROM src tablesample (1 rows);
+select round(radians(57.2958), 15) FROM src tablesample (1 rows);
 
-select radians(57.2958) FROM src tablesample (1 rows);
+select round(radians(57.2958), 15) FROM src tablesample (1 rows);
 select radians(143.2394) FROM src tablesample (1 rows);
 
 DESCRIBE FUNCTION radians;
diff --git a/ql/src/test/queries/clientpositive/vector_decimal_math_funcs.q 
b/ql/src/test/queries/clientpositive/vector_decimal_math_funcs.q
index 7ee7891eebe..862257cdafa 100644
--- a/ql/src/test/queries/clientpositive/vector_decimal_math_funcs.q
+++ b/ql/src/test/queries/clientpositive/vector_decimal_math_funcs.q
@@ -73,7 +73,8 @@ select
   ,Cos(cdecimal1)
   ,ACos(cdecimal1)
   ,Atan(cdecimal1)
-  ,Degrees(cdecimal1)
+  -- Round to avoid decimal precision difference due to JDK-4477961
+  ,Round(Degrees(cdecimal1), 9)
   ,Radians(cdecimal1)
   ,Positive(cdecimal1)
   ,Negative(cdecimal1)
@@ -150,8 +151,9 @@ select
   ,Cos(cdecimal1)
   ,ACos(cdecimal1)
   ,Atan(cdecimal1)
-  ,Degrees(cdecimal1)
-  ,Radians(cdecimal1)
+  -- Round to avoid decimal precision difference due to JDK-4477961
+  ,Round(Degrees(cdecimal1), 9)
+  ,Round(Radians(cdecimal1), 12)
   ,Positive(cdecimal1)
   ,Negative(cdecimal1)
   ,Sign(cdecimal1)
diff --git a/ql/src/test/queries/clientpositive/vector_decimal_udf2.q 
b/ql/src/test/queries/clientpositive/vector_decimal_udf2.q
index d88217b51f6..f1cf1eabc91 100644
--- a/ql/src/test/queries/clientpositive/vector_decimal_udf2.q
+++ b/ql/src/test/queries/clientpositive/vector_decimal_udf2.q
@@ -28,8 +28,9 @@ FROM DECIMAL_UDF2_n0 WHERE key = 10;
 SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
radians(key)
 FROM DECIMAL_UDF2_n0 WHERE key = 10;
 
+-- Round to avoid decimal precision difference due to JDK-4477961
 SELECT SUM(HASH(*))
-FROM (SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
radians(key)
+FROM (SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
round(radians(key),12)
 FROM DECIMAL_UDF2_n0) q;
 
 EXPLAIN VECTORIZATION DETAIL
@@ -61,8 +62,9 @@ FROM DECIMAL_UDF2_txt WHERE key = 10;
 SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
radians(key)
 FROM DECIMAL_UDF2_txt WHERE key = 10;
 
+-- Round to avoid decimal precision difference due to JDK-4477961
 SELECT SUM(HASH(*))
-FROM (SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
radians(key)
+FROM (SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
round(radians(key), 12)
 FROM DECIMAL_UDF2_txt) q;
 
 EXPLAIN VECTORIZATION DETAIL
diff --git a/ql/src/test/queries/clientpositive/vectorized_math_funcs.q 
b/ql/src/test/queries/clientpositive/vectorized_math_funcs.q
index f3c346b323c..4b942800410 100644
--- a/ql/src/test/queries/clientpositive/vectorized_math_funcs.q
+++ b/ql/src/test/queries/clientpositive/vectorized_math_funcs.q
@@ -95,7 +95,8 @@ select
   ,ACos(cdouble)
   ,Atan(cdouble)
   ,Degrees(cdouble)
-  ,Radians(cdouble)
+  -- Round to avoid decimal precision difference due to JDK-4477961
+  ,Round(Radians(cdouble), 12)
   ,Positive(cdouble)
   ,Positive(cbigint)
   ,Negative(cdouble)
diff --git a/ql/src/test/results/clientpositive/llap/udf_radians.q.out 
b/ql/src/test/results/clientpositive/llap/udf_radians.q.out
index 5f9c1527224..bdd208c8285 100644
--- a/ql/src/test/results/clientpositive/llap/udf_radians.q.out
+++ b/ql/src/test/results/clientpositive/llap/udf_radians.q.out
@@ -1,10 +1,10 @@
 PREHOOK: query: explain
-select radians(57.2958) FROM src tablesample (1 rows)
+select round(radians(57.2958), 15) FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
 #### A masked pattern was here ####
 POSTHOOK: query: explain
-select radians(57.2958) FROM src tablesample (1 rows)
+select round(radians(57.2958), 15) FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
@@ -24,11 +24,11 @@ STAGE PLANS:
             outputColumnNames: _col0
             ListSink
 
-PREHOOK: query: select radians(57.2958) FROM src tablesample (1 rows)
+PREHOOK: query: select round(radians(57.2958), 15) FROM src tablesample (1 
rows)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
 #### A masked pattern was here ####
-POSTHOOK: query: select radians(57.2958) FROM src tablesample (1 rows)
+POSTHOOK: query: select round(radians(57.2958), 15) FROM src tablesample (1 
rows)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
@@ -59,12 +59,12 @@ Example:
 Function class:org.apache.hadoop.hive.ql.udf.UDFRadians
 Function type:BUILTIN
 PREHOOK: query: explain 
-select radians(57.2958) FROM src tablesample (1 rows)
+select round(radians(57.2958), 15) FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
 #### A masked pattern was here ####
 POSTHOOK: query: explain 
-select radians(57.2958) FROM src tablesample (1 rows)
+select round(radians(57.2958), 15) FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
@@ -84,11 +84,11 @@ STAGE PLANS:
             outputColumnNames: _col0
             ListSink
 
-PREHOOK: query: select radians(57.2958) FROM src tablesample (1 rows)
+PREHOOK: query: select round(radians(57.2958), 15) FROM src tablesample (1 
rows)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
 #### A masked pattern was here ####
-POSTHOOK: query: select radians(57.2958) FROM src tablesample (1 rows)
+POSTHOOK: query: select round(radians(57.2958), 15) FROM src tablesample (1 
rows)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
diff --git 
a/ql/src/test/results/clientpositive/llap/vector_decimal_math_funcs.q.out 
b/ql/src/test/results/clientpositive/llap/vector_decimal_math_funcs.q.out
index d6950d5db9b..b2c3c3467ba 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_math_funcs.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_math_funcs.q.out
@@ -197,7 +197,8 @@ PREHOOK: query: select
   ,Cos(cdecimal1)
   ,ACos(cdecimal1)
   ,Atan(cdecimal1)
-  ,Degrees(cdecimal1)
+  -- Round to avoid decimal precision difference due to JDK-4477961
+  ,Round(Degrees(cdecimal1), 9)
   ,Radians(cdecimal1)
   ,Positive(cdecimal1)
   ,Negative(cdecimal1)
@@ -235,7 +236,8 @@ POSTHOOK: query: select
   ,Cos(cdecimal1)
   ,ACos(cdecimal1)
   ,Atan(cdecimal1)
-  ,Degrees(cdecimal1)
+  -- Round to avoid decimal precision difference due to JDK-4477961
+  ,Round(Degrees(cdecimal1), 9)
   ,Radians(cdecimal1)
   ,Positive(cdecimal1)
   ,Negative(cdecimal1)
@@ -250,17 +252,17 @@ and sin(cdecimal1) >= -1.0
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_test_n0
 #### A masked pattern was here ####
--119.4594594595        -119.46 -119    -120    -119    1.316485E-52    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    119.4594594595  
-0.07885666683797002    NULL    0.9968859644388647      NULL    
-1.5624254815943668     -6844.522849943508      -2.0849608902209606     
-119.4594594595 119.4594594595  -1      NULL
-9318.4351351351        9318.44 9318    9318    9319    Infinity        
9.13974998962673        3.969342986470191       13.185871984999437      NULL    
13.185871984999437      173.867220004793        173.867220004793        
96.53204201266593       9318.4351351351 0.4540668481851705      NULL    
0.8909676185918236      NULL    1.5706890126394983      533907.0049096602       
162.63737424163023      9318.4351351351 -9318.4351351351        1       
-0.9607267417229353
-9318.4351351351        9318.44 9318    9318    9319    Infinity        
9.13974998962673        3.969342986470191       13.185871984999437      NULL    
13.185871984999437      173.867220004793        173.867220004793        
96.53204201266593       9318.4351351351 0.4540668481851705      NULL    
0.8909676185918236      NULL    1.5706890126394983      533907.0049096602       
162.63737424163023      9318.4351351351 -9318.4351351351        1       
-0.9607267417229353
-9318.4351351351        9318.44 9318    9318    9319    Infinity        
9.13974998962673        3.969342986470191       13.185871984999437      NULL    
13.185871984999437      173.867220004793        173.867220004793        
96.53204201266593       9318.4351351351 0.4540668481851705      NULL    
0.8909676185918236      NULL    1.5706890126394983      533907.0049096602       
162.63737424163023      9318.4351351351 -9318.4351351351        1       
-0.9607267417229353
--4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.93214088667     -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
--4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.93214088667     -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
--4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.93214088667     -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
--4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.93214088667     -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
--4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.93214088667     -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
--4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.93214088667     -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
--4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.93214088667     -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
+-119.4594594595        -119.46 -119    -120    -119    1.316485E-52    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    119.4594594595  
-0.07885666683797002    NULL    0.9968859644388647      NULL    
-1.5624254815943668     -6844.522849944 -2.0849608902209606     -119.4594594595 
119.4594594595  -1      NULL
+9318.4351351351        9318.44 9318    9318    9319    Infinity        
9.13974998962673        3.969342986470191       13.185871984999437      NULL    
13.185871984999437      173.867220004793        173.867220004793        
96.53204201266593       9318.4351351351 0.4540668481851705      NULL    
0.8909676185918236      NULL    1.5706890126394983      533907.00490966 
162.63737424163023      9318.4351351351 -9318.4351351351        1       
-0.9607267417229353
+9318.4351351351        9318.44 9318    9318    9319    Infinity        
9.13974998962673        3.969342986470191       13.185871984999437      NULL    
13.185871984999437      173.867220004793        173.867220004793        
96.53204201266593       9318.4351351351 0.4540668481851705      NULL    
0.8909676185918236      NULL    1.5706890126394983      533907.00490966 
162.63737424163023      9318.4351351351 -9318.4351351351        1       
-0.9607267417229353
+9318.4351351351        9318.44 9318    9318    9319    Infinity        
9.13974998962673        3.969342986470191       13.185871984999437      NULL    
13.185871984999437      173.867220004793        173.867220004793        
96.53204201266593       9318.4351351351 0.4540668481851705      NULL    
0.8909676185918236      NULL    1.5706890126394983      533907.00490966 
162.63737424163023      9318.4351351351 -9318.4351351351        1       
-0.9607267417229353
+-4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.932140887       -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
+-4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.932140887       -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
+-4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.932140887       -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
+-4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.932140887       -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
+-4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.932140887       -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
+-4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.932140887       -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
+-4298.1513513514       -4298.15        -4298   -4299   -4298   0.0     NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    4298.1513513514 
-0.43730633941118113    NULL    0.899312607223313       NULL    
-1.5705636686355597     -246265.932140887       -75.01689283012556      
-4298.1513513514        4298.1513513514 -1      NULL
 PREHOOK: query: CREATE TABLE decimal_test_small STORED AS ORC AS SELECT 
cbigint, cdouble, CAST (((cdouble*22.1)/37) AS DECIMAL(12,4)) AS cdecimal1, 
CAST (((cdouble*9.3)/13) AS DECIMAL(14,8)) AS cdecimal2 FROM alltypesorc
 PREHOOK: type: CREATETABLE_AS_SELECT
 PREHOOK: Input: default@alltypesorc
@@ -448,8 +450,9 @@ PREHOOK: query: select
   ,Cos(cdecimal1)
   ,ACos(cdecimal1)
   ,Atan(cdecimal1)
-  ,Degrees(cdecimal1)
-  ,Radians(cdecimal1)
+  -- Round to avoid decimal precision difference due to JDK-4477961
+  ,Round(Degrees(cdecimal1), 9)
+  ,Round(Radians(cdecimal1), 12)
   ,Positive(cdecimal1)
   ,Negative(cdecimal1)
   ,Sign(cdecimal1)
@@ -486,8 +489,9 @@ POSTHOOK: query: select
   ,Cos(cdecimal1)
   ,ACos(cdecimal1)
   ,Atan(cdecimal1)
-  ,Degrees(cdecimal1)
-  ,Radians(cdecimal1)
+  -- Round to avoid decimal precision difference due to JDK-4477961
+  ,Round(Degrees(cdecimal1), 9)
+  ,Round(Radians(cdecimal1), 12)
   ,Positive(cdecimal1)
   ,Negative(cdecimal1)
   ,Sign(cdecimal1)
@@ -501,14 +505,14 @@ and sin(cdecimal1) >= -1.0
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_test_small
 #### A masked pattern was here ####
--119.4595      -119.46 -119    -120    -119    1.316432E-52    NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    119.4595        
-0.07889708102860798    NULL    0.9968827667309558      NULL    
-1.562425484435015      -6844.525172743059      -2.084961597786166      
-119.4595       119.4595        -1      NULL
-9318.4351      9318.44 9318    9318    9319    Infinity        
9.139749985856234       3.9693429848326867      13.185871979559764      NULL    
13.185871979559764      173.86721986133932      173.86721986133932      
96.5320418306792        9318.4351       0.4540355436693385      NULL    
0.8909835717255892      NULL    1.5706890126390936      533907.0028965673       
162.63737362840706      9318.4351       -9318.4351      1       
-0.9607267407188516
-9318.4351      9318.44 9318    9318    9319    Infinity        
9.139749985856234       3.9693429848326867      13.185871979559764      NULL    
13.185871979559764      173.86721986133932      173.86721986133932      
96.5320418306792        9318.4351       0.4540355436693385      NULL    
0.8909835717255892      NULL    1.5706890126390936      533907.0028965673       
162.63737362840706      9318.4351       -9318.4351      1       
-0.9607267407188516
-9318.4351      9318.44 9318    9318    9319    Infinity        
9.139749985856234       3.9693429848326867      13.185871979559764      NULL    
13.185871979559764      173.86721986133932      173.86721986133932      
96.5320418306792        9318.4351       0.4540355436693385      NULL    
0.8909835717255892      NULL    1.5706890126390936      533907.0028965673       
162.63737362840706      9318.4351       -9318.4351      1       
-0.9607267407188516
--4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.9349282461      -75.01689367920379      
-4298.1514      4298.1514       -1      NULL
--4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.9349282461      -75.01689367920379      
-4298.1514      4298.1514       -1      NULL
--4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.9349282461      -75.01689367920379      
-4298.1514      4298.1514       -1      NULL
--4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.9349282461      -75.01689367920379      
-4298.1514      4298.1514       -1      NULL
--4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.9349282461      -75.01689367920379      
-4298.1514      4298.1514       -1      NULL
--4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.9349282461      -75.01689367920379      
-4298.1514      4298.1514       -1      NULL
--4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.9349282461      -75.01689367920379      
-4298.1514      4298.1514       -1      NULL
+-119.4595      -119.46 -119    -120    -119    1.316432E-52    NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    119.4595        
-0.07889708102860798    NULL    0.9968827667309558      NULL    
-1.562425484435015      -6844.525172743 -2.084961597786 -119.4595       
119.4595        -1      NULL
+9318.4351      9318.44 9318    9318    9319    Infinity        
9.139749985856234       3.9693429848326867      13.185871979559764      NULL    
13.185871979559764      173.86721986133932      173.86721986133932      
96.5320418306792        9318.4351       0.4540355436693385      NULL    
0.8909835717255892      NULL    1.5706890126390936      533907.002896567        
162.637373628407        9318.4351       -9318.4351      1       
-0.9607267407188516
+9318.4351      9318.44 9318    9318    9319    Infinity        
9.139749985856234       3.9693429848326867      13.185871979559764      NULL    
13.185871979559764      173.86721986133932      173.86721986133932      
96.5320418306792        9318.4351       0.4540355436693385      NULL    
0.8909835717255892      NULL    1.5706890126390936      533907.002896567        
162.637373628407        9318.4351       -9318.4351      1       
-0.9607267407188516
+9318.4351      9318.44 9318    9318    9319    Infinity        
9.139749985856234       3.9693429848326867      13.185871979559764      NULL    
13.185871979559764      173.86721986133932      173.86721986133932      
96.5320418306792        9318.4351       0.4540355436693385      NULL    
0.8909835717255892      NULL    1.5706890126390936      533907.002896567        
162.637373628407        9318.4351       -9318.4351      1       
-0.9607267407188516
+-4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.934928246       -75.016893679204        
-4298.1514      4298.1514       -1      NULL
+-4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.934928246       -75.016893679204        
-4298.1514      4298.1514       -1      NULL
+-4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.934928246       -75.016893679204        
-4298.1514      4298.1514       -1      NULL
+-4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.934928246       -75.016893679204        
-4298.1514      4298.1514       -1      NULL
+-4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.934928246       -75.016893679204        
-4298.1514      4298.1514       -1      NULL
+-4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.934928246       -75.016893679204        
-4298.1514      4298.1514       -1      NULL
+-4298.1514     -4298.15        -4298   -4299   -4298   0.0     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    4298.1514       
-0.4373500891926774     NULL    0.8992913318180917      NULL    
-1.5705636686381932     -246265.934928246       -75.016893679204        
-4298.1514      4298.1514       -1      NULL
diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_udf2.q.out 
b/ql/src/test/results/clientpositive/llap/vector_decimal_udf2.q.out
index 9039c7aec88..84ae82c1d12 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_udf2.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_udf2.q.out
@@ -154,18 +154,18 @@ POSTHOOK: Input: default@decimal_udf2_n0
 #### A masked pattern was here ####
 NULL   NULL    1.4711276743037347      -0.8390715290764524     
-0.5440211108893698     0.6483608274590866      0.17453292519943295
 PREHOOK: query: SELECT SUM(HASH(*))
-FROM (SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
radians(key)
+FROM (SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
round(radians(key),12)
 FROM DECIMAL_UDF2_n0) q
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_udf2_n0
 #### A masked pattern was here ####
 POSTHOOK: query: SELECT SUM(HASH(*))
-FROM (SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
radians(key)
+FROM (SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
round(radians(key),12)
 FROM DECIMAL_UDF2_n0) q
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_udf2_n0
 #### A masked pattern was here ####
--3806982713
+-3762999953
 PREHOOK: query: EXPLAIN VECTORIZATION DETAIL
 SELECT
   exp(key), ln(key),
@@ -388,18 +388,18 @@ POSTHOOK: Input: default@decimal_udf2_txt
 #### A masked pattern was here ####
 NULL   NULL    1.4711276743037347      -0.8390715290764524     
-0.5440211108893698     0.6483608274590866      0.17453292519943295
 PREHOOK: query: SELECT SUM(HASH(*))
-FROM (SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
radians(key)
+FROM (SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
round(radians(key), 12)
 FROM DECIMAL_UDF2_txt) q
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_udf2_txt
 #### A masked pattern was here ####
 POSTHOOK: query: SELECT SUM(HASH(*))
-FROM (SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
radians(key)
+FROM (SELECT acos(key), asin(key), atan(key), cos(key), sin(key), tan(key), 
round(radians(key), 12)
 FROM DECIMAL_UDF2_txt) q
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_udf2_txt
 #### A masked pattern was here ####
--3806982713
+-3762999953
 PREHOOK: query: EXPLAIN VECTORIZATION DETAIL
 SELECT
   exp(key), ln(key),
diff --git 
a/ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out 
b/ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out
index 4e4ab7da1d5..187b5babf6d 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out
@@ -209,7 +209,8 @@ PREHOOK: query: select
   ,ACos(cdouble)
   ,Atan(cdouble)
   ,Degrees(cdouble)
-  ,Radians(cdouble)
+  -- Round to avoid decimal precision difference due to JDK-4477961
+  ,Round(Radians(cdouble), 12)
   ,Positive(cdouble)
   ,Positive(cbigint)
   ,Negative(cdouble)
@@ -263,7 +264,8 @@ POSTHOOK: query: select
   ,ACos(cdouble)
   ,Atan(cdouble)
   ,Degrees(cdouble)
-  ,Radians(cdouble)
+  -- Round to avoid decimal precision difference due to JDK-4477961
+  ,Round(Radians(cdouble), 12)
   ,Positive(cdouble)
   ,Positive(cbigint)
   ,Negative(cdouble)
@@ -279,19 +281,19 @@ and sin(cfloat) >= -1.0
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
--200.0 -200.0  -200    -200    0.8199077823142826      NULL    NULL    NULL    
NULL    NULL    NULL    NULL    30.57531565116074       NULL    NULL    NULL    
NULL    NULL    NULL    NULL    39998.48747140321       
1011111010111000011011101011000 2D3230302E30    5F5C3758        200.0   36      
NULL    0.8732972972139946      NULL    0.4871876750070059      NULL    
-1.5657963684609384     -11459.155902616465     -3.490658503988659      -200.0  
1599879000      200.0   -1.0    1.0     NULL
-15601.0        15601.0 15601   15601   0.38656833237681376     
15601.00000000001       9.65509029374725        NULL    4.193152436852078       
13.929350886124324      NULL    NULL    NULL    NULL    13.929350886124324      
NULL    13.929350886124324      194.02681610877246      194.02681610877246      
124.90396310766124      NULL    
1111111111111111111111111111111110010001001101101010100000011000        
31353630312E30  FFFFFFFF9136A818        15601.0 38      NULL    
-0.14856570831397706    NULL    0.9889025383288114      NULL    
1.5707322283397571      893871.4561835973       272.2888166036353       15601.0 
-1858689000     -156 [...]
-15601.0        15601.0 15601   15601   0.41161398527282966     
15601.00000000001       9.65509029374725        NULL    4.193152436852078       
13.929350886124324      NULL    NULL    29.18993673432575       NULL    
13.929350886124324      NULL    13.929350886124324      194.02681610877246      
194.02681610877246      124.90396310766124      24747.04022706554       
100100100000001011101000000000  31353630312E30  2480BA00        15601.0 5       
NULL    -0.14856570831397706    NULL    0.9889025383288114      NULL    
1.5707322283397571      893871.4561835973       272.2888166036353       15601.0 
612416000       -15601.0        1.0     1.0     -0.974 [...]
-15601.0        15601.0 15601   15601   0.37807863784568585     
15601.00000000001       9.65509029374725        3.8712010109078907      
4.193152436852078       13.929350886124324      NULL    5.584962500721156       
NULL    NULL    13.929350886124324      5.584962500721156       
13.929350886124324      194.02681610877246      194.02681610877246      
124.90396310766124      NULL    
1111111111111111111111111111111111010000100101111100000100011000        
31353630312E30  FFFFFFFFD097C118        15601.0 48      NULL    
-0.14856570831397706    NULL    0.9889025383288114      NULL    
1.5707322283397571      893871.4561835973       27 [...]
+-200.0 -200.0  -200    -200    0.8199077823142826      NULL    NULL    NULL    
NULL    NULL    NULL    NULL    30.57531565116074       NULL    NULL    NULL    
NULL    NULL    NULL    NULL    39998.48747140321       
1011111010111000011011101011000 2D3230302E30    5F5C3758        200.0   36      
NULL    0.8732972972139946      NULL    0.4871876750070059      NULL    
-1.5657963684609384     -11459.155902616465     -3.490658503989 -200.0  
1599879000      200.0   -1.0    1.0     NULL
+15601.0        15601.0 15601   15601   0.38656833237681376     
15601.00000000001       9.65509029374725        NULL    4.193152436852078       
13.929350886124324      NULL    NULL    NULL    NULL    13.929350886124324      
NULL    13.929350886124324      194.02681610877246      194.02681610877246      
124.90396310766124      NULL    
1111111111111111111111111111111110010001001101101010100000011000        
31353630312E30  FFFFFFFF9136A818        15601.0 38      NULL    
-0.14856570831397706    NULL    0.9889025383288114      NULL    
1.5707322283397571      893871.4561835973       272.288816603635        15601.0 
-1858689000     -1560 [...]
+15601.0        15601.0 15601   15601   0.41161398527282966     
15601.00000000001       9.65509029374725        NULL    4.193152436852078       
13.929350886124324      NULL    NULL    29.18993673432575       NULL    
13.929350886124324      NULL    13.929350886124324      194.02681610877246      
194.02681610877246      124.90396310766124      24747.04022706554       
100100100000001011101000000000  31353630312E30  2480BA00        15601.0 5       
NULL    -0.14856570831397706    NULL    0.9889025383288114      NULL    
1.5707322283397571      893871.4561835973       272.288816603635        15601.0 
612416000       -15601.0        1.0     1.0     -0.9740 [...]
+15601.0        15601.0 15601   15601   0.37807863784568585     
15601.00000000001       9.65509029374725        3.8712010109078907      
4.193152436852078       13.929350886124324      NULL    5.584962500721156       
NULL    NULL    13.929350886124324      5.584962500721156       
13.929350886124324      194.02681610877246      194.02681610877246      
124.90396310766124      NULL    
1111111111111111111111111111111111010000100101111100000100011000        
31353630312E30  FFFFFFFFD097C118        15601.0 48      NULL    
-0.14856570831397706    NULL    0.9889025383288114      NULL    
1.5707322283397571      893871.4561835973       27 [...]
 NULL   NULL    NULL    NULL    0.3336458983920575      NULL    NULL    
2.0794415416798357      NULL    NULL    NULL    3.0     29.693388204506274      
29.58473549442715       NULL    3.0     NULL    NULL    NULL    NULL    
29464.580431426475      110011101111110001011111011100  NULL    33BF17DC        
NULL    8       1       NULL    NULL    NULL    NULL    NULL    NULL    NULL    
NULL    868161500       NULL    NULL    1.0     NULL
 NULL   NULL    NULL    NULL    0.8681331660942196      NULL    NULL    
2.0794415416798357      NULL    NULL    NULL    3.0     NULL    
29.730832334348488      NULL    3.0     NULL    NULL    NULL    NULL    NULL    
1111111111111111111111111111111110010000111111111000101010111000        NULL    
FFFFFFFF90FF8AB8        NULL    8       0       NULL    NULL    NULL    NULL    
NULL    NULL    NULL    NULL    -1862301000     NULL    NULL    -1.0    NULL
--7196.0        -7196.0 -7196   -7196   0.03951015606275099     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    
NULL    NULL    NULL    NULL    
1111111111111111111111111111111110100000010101110101001001110000        
2D373139362E30  FFFFFFFFA0575270        7196.0  59      NULL    
-0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.59389297351194     -7196.0 
-1604890000     7196.0  -1.0    -1.0    NULL
--7196.0        -7196.0 -7196   -7196   0.9209252022050654      NULL    NULL    
NULL    NULL    NULL    NULL    NULL    30.52255693577237       NULL    NULL    
NULL    NULL    NULL    NULL    NULL    39273.76987252433       
1011011111011111001100101001000 2D373139362E30  5BEF9948        7196.0  21      
NULL    -0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.59389297351194     -7196.0 
1542429000      7196.0  -1.0    1.0     NULL
--7196.0        -7196.0 -7196   -7196   0.4533660450429132      NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    
NULL    NULL    NULL    NULL    
1111111111111111111111111111111110100011011110110101000010110100        
2D373139362E30  FFFFFFFFA37B50B4        7196.0  14      NULL    
-0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.59389297351194     -7196.0 
-1552199500     7196.0  -1.0    -1.0    NULL
--7196.0        -7196.0 -7196   -7196   0.14567136069921982     NULL    NULL    
4.07753744390572        NULL    NULL    NULL    5.882643049361842       NULL    
NULL    NULL    5.882643049361842       NULL    NULL    NULL    NULL    NULL    
1111111111111111111111111111111110111100001011110011111001111100        
2D373139362E30  FFFFFFFFBC2F3E7C        7196.0  59      NULL    
-0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.59389297351194     -7196.0 
-1137754500     7196.0  -1.0    -1.0    NULL
--7196.0        -7196.0 -7196   -7196   0.5264452612398715      NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    
NULL    NULL    NULL    NULL    
1111111111111111111111111111111110010001101110110101111010110100        
2D373139362E30  FFFFFFFF91BB5EB4        7196.0  8       NULL    
-0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.59389297351194     -7196.0 
-1849991500     7196.0  -1.0    -1.0    NULL
--7196.0        -7196.0 -7196   -7196   0.17837094616515647     NULL    NULL    
1.6094379124341003      NULL    NULL    NULL    2.321928094887362       NULL    
NULL    NULL    2.321928094887362       NULL    NULL    NULL    NULL    NULL    
1111111111111111111111111111111111000011011101110000111100110100        
2D373139362E30  FFFFFFFFC3770F34        7196.0  5       NULL    
-0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.59389297351194     -7196.0 
-1015607500     7196.0  -1.0    -1.0    NULL
--7196.0        -7196.0 -7196   -7196   0.5456857574763374      NULL    NULL    
NULL    NULL    NULL    NULL    NULL    29.62699001935971       NULL    NULL    
NULL    NULL    NULL    NULL    NULL    28794.287627930647      
110001011010110011101011011000  2D373139362E30  316B3AD8        7196.0  24      
NULL    -0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.59389297351194     -7196.0 
829111000       7196.0  -1.0    1.0     NULL
+-7196.0        -7196.0 -7196   -7196   0.03951015606275099     NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    
NULL    NULL    NULL    NULL    
1111111111111111111111111111111110100000010101110101001001110000        
2D373139362E30  FFFFFFFFA0575270        7196.0  59      NULL    
-0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.593892973512       -7196.0 
-1604890000     7196.0  -1.0    -1.0    NULL
+-7196.0        -7196.0 -7196   -7196   0.9209252022050654      NULL    NULL    
NULL    NULL    NULL    NULL    NULL    30.52255693577237       NULL    NULL    
NULL    NULL    NULL    NULL    NULL    39273.76987252433       
1011011111011111001100101001000 2D373139362E30  5BEF9948        7196.0  21      
NULL    -0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.593892973512       -7196.0 
1542429000      7196.0  -1.0    1.0     NULL
+-7196.0        -7196.0 -7196   -7196   0.4533660450429132      NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    
NULL    NULL    NULL    NULL    
1111111111111111111111111111111110100011011110110101000010110100        
2D373139362E30  FFFFFFFFA37B50B4        7196.0  14      NULL    
-0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.593892973512       -7196.0 
-1552199500     7196.0  -1.0    -1.0    NULL
+-7196.0        -7196.0 -7196   -7196   0.14567136069921982     NULL    NULL    
4.07753744390572        NULL    NULL    NULL    5.882643049361842       NULL    
NULL    NULL    5.882643049361842       NULL    NULL    NULL    NULL    NULL    
1111111111111111111111111111111110111100001011110011111001111100        
2D373139362E30  FFFFFFFFBC2F3E7C        7196.0  59      NULL    
-0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.593892973512       -7196.0 
-1137754500     7196.0  -1.0    -1.0    NULL
+-7196.0        -7196.0 -7196   -7196   0.5264452612398715      NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    
NULL    NULL    NULL    NULL    
1111111111111111111111111111111110010001101110110101111010110100        
2D373139362E30  FFFFFFFF91BB5EB4        7196.0  8       NULL    
-0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.593892973512       -7196.0 
-1849991500     7196.0  -1.0    -1.0    NULL
+-7196.0        -7196.0 -7196   -7196   0.17837094616515647     NULL    NULL    
1.6094379124341003      NULL    NULL    NULL    2.321928094887362       NULL    
NULL    NULL    2.321928094887362       NULL    NULL    NULL    NULL    NULL    
1111111111111111111111111111111111000011011101110000111100110100        
2D373139362E30  FFFFFFFFC3770F34        7196.0  5       NULL    
-0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.593892973512       -7196.0 
-1015607500     7196.0  -1.0    -1.0    NULL
+-7196.0        -7196.0 -7196   -7196   0.5456857574763374      NULL    NULL    
NULL    NULL    NULL    NULL    NULL    29.62699001935971       NULL    NULL    
NULL    NULL    NULL    NULL    NULL    28794.287627930647      
110001011010110011101011011000  2D373139362E30  316B3AD8        7196.0  24      
NULL    -0.9834787875028149     NULL    -0.18102340879563897    NULL    
-1.5706573607035177     -412300.4293761404      -125.593892973512       -7196.0 
829111000       7196.0  -1.0    1.0     NULL
 NULL   NULL    NULL    NULL    0.282703740641956       NULL    NULL    
2.3978952727983707      NULL    NULL    NULL    3.4594316186372978      
30.19990821555368       NULL    NULL    3.4594316186372978      NULL    NULL    
NULL    NULL    35118.75567271711       1001001100000110001001110011000 NULL    
49831398        NULL    11      1       NULL    NULL    NULL    NULL    NULL    
NULL    NULL    NULL    1233327000      NULL    NULL    1.0     NULL
 PREHOOK: query: select
     cdouble
diff --git 
a/vector-code-gen/src/org/apache/hadoop/hive/tools/GenVectorCode.java 
b/vector-code-gen/src/org/apache/hadoop/hive/tools/GenVectorCode.java
index 998b19cb0e2..8054a6a2af0 100644
--- a/vector-code-gen/src/org/apache/hadoop/hive/tools/GenVectorCode.java
+++ b/vector-code-gen/src/org/apache/hadoop/hive/tools/GenVectorCode.java
@@ -1084,34 +1084,34 @@ public class GenVectorCode extends Task {
         "MathExpr.NaNToNull(outputColVector, sel, batch.selectedInUse, n, 
true);", ""},
       // Log(base, Col) is a special case and will be implemented separately 
from this template
       // Pow(col, P) and Power(col, P) are special cases implemented 
separately from this template
-      {"ColumnUnaryFunc", "FuncSqrt", "double", "double", "Math.sqrt", "", "",
+      {"ColumnUnaryFunc", "FuncSqrt", "double", "double", "StrictMath.sqrt", 
"", "",
         "MathExpr.NaNToNull(outputColVector, sel, batch.selectedInUse, n);", 
""},
-      {"ColumnUnaryFunc", "FuncSqrt", "double", "long", "Math.sqrt", 
"(double)", "",
+      {"ColumnUnaryFunc", "FuncSqrt", "double", "long", "StrictMath.sqrt", 
"(double)", "",
         "MathExpr.NaNToNull(outputColVector, sel, batch.selectedInUse, n);", 
""},
-      {"ColumnUnaryFunc", "FuncASin", "double", "double", "Math.asin", "", "",
+      {"ColumnUnaryFunc", "FuncASin", "double", "double", "StrictMath.asin", 
"", "",
         "MathExpr.NaNToNull(outputColVector, sel, batch.selectedInUse, n);", 
""},
-      {"ColumnUnaryFunc", "FuncASin", "double", "long", "Math.asin", 
"(double)", "",
+      {"ColumnUnaryFunc", "FuncASin", "double", "long", "StrictMath.asin", 
"(double)", "",
         "MathExpr.NaNToNull(outputColVector, sel, batch.selectedInUse, n);", 
""},
-      {"ColumnUnaryFunc", "FuncACos", "double", "double", "Math.acos", "", "",
+      {"ColumnUnaryFunc", "FuncACos", "double", "double", "StrictMath.acos", 
"", "",
         "MathExpr.NaNToNull(outputColVector, sel, batch.selectedInUse, n);", 
""},
-      {"ColumnUnaryFunc", "FuncACos", "double", "long", "Math.acos", 
"(double)", "",
+      {"ColumnUnaryFunc", "FuncACos", "double", "long", "StrictMath.acos", 
"(double)", "",
         "MathExpr.NaNToNull(outputColVector, sel, batch.selectedInUse, n);", 
""},
       {"ColumnUnaryFunc", "FuncAbs", "double", "double", "Math.abs", "", "", 
"", ""},
       {"ColumnUnaryFunc", "FuncAbs", "long", "long", "MathExpr.abs", "", "", 
"", ""},
-      {"ColumnUnaryFunc", "FuncSin", "double", "double", "Math.sin", "", "", 
"", ""},
-      {"ColumnUnaryFunc", "FuncSin", "double", "long", "Math.sin", "(double)", 
"", "", ""},
+      {"ColumnUnaryFunc", "FuncSin", "double", "double", "StrictMath.sin", "", 
"", "", ""},
+      {"ColumnUnaryFunc", "FuncSin", "double", "long", "StrictMath.sin", 
"(double)", "", "", ""},
       {"ColumnUnaryFunc", "FuncSinh", "double", "double", "StrictMath.sinh", 
"", "", "", ""},
       {"ColumnUnaryFunc", "FuncSinh", "double", "long", "StrictMath.sinh", 
"(double)", "", "", ""},
       {"ColumnUnaryFunc", "FuncCos", "double", "double", "StrictMath.cos", "", 
"", "", ""},
       {"ColumnUnaryFunc", "FuncCos", "double", "long", "StrictMath.cos", 
"(double)", "", "", ""},
       {"ColumnUnaryFunc", "FuncCosh", "double", "double", "StrictMath.cosh", 
"", "", "", ""},
       {"ColumnUnaryFunc", "FuncCosh", "double", "long", "StrictMath.cosh", 
"(double)", "", "", ""},
-      {"ColumnUnaryFunc", "FuncTan", "double", "double", "Math.tan", "", "", 
"", ""},
-      {"ColumnUnaryFunc", "FuncTan", "double", "long", "Math.tan", "(double)", 
"", "", ""},
+      {"ColumnUnaryFunc", "FuncTan", "double", "double", "StrictMath.tan", "", 
"", "", ""},
+      {"ColumnUnaryFunc", "FuncTan", "double", "long", "StrictMath.tan", 
"(double)", "", "", ""},
       {"ColumnUnaryFunc", "FuncTanh", "double", "double", "StrictMath.tanh", 
"", "", "", ""},
       {"ColumnUnaryFunc", "FuncTanh", "double", "long", "StrictMath.tanh", 
"(double)", "", "", ""},
-      {"ColumnUnaryFunc", "FuncATan", "double", "double", "Math.atan", "", "", 
"", ""},
-      {"ColumnUnaryFunc", "FuncATan", "double", "long", "Math.atan", 
"(double)", "", "", ""},
+      {"ColumnUnaryFunc", "FuncATan", "double", "double", "StrictMath.atan", 
"", "", "", ""},
+      {"ColumnUnaryFunc", "FuncATan", "double", "long", "StrictMath.atan", 
"(double)", "", "", ""},
       {"ColumnUnaryFunc", "FuncDegrees", "double", "double", "Math.toDegrees", 
"", "", "", ""},
       {"ColumnUnaryFunc", "FuncDegrees", "double", "long", "Math.toDegrees", 
"(double)", "", "", ""},
       {"ColumnUnaryFunc", "FuncRadians", "double", "double", "Math.toRadians", 
"", "", "", ""},


Reply via email to