Search in sources :

Example 1 with FuncLog10DoubleToDouble

use of org.apache.hadoop.hive.ql.exec.vector.expressions.gen.FuncLog10DoubleToDouble in project hive by apache.

the class TestVectorMathFunctions method testVectorLog10.

@Test
public void testVectorLog10() {
    // test double->double version
    VectorizedRowBatch b = getVectorizedRowBatchDoubleInDoubleOut();
    DoubleColumnVector resultV = (DoubleColumnVector) b.cols[1];
    b.cols[0].noNulls = true;
    VectorExpression expr = new FuncLog10DoubleToDouble(0, 1);
    expr.evaluate(b);
    Assert.assertTrue(equalsWithinTolerance(Math.log(0.5d) / Math.log(10), resultV.vector[4]));
    // test long->double version
    b = getVectorizedRowBatchLongInDoubleOut();
    resultV = (DoubleColumnVector) b.cols[1];
    b.cols[0].noNulls = true;
    expr = new FuncLog10LongToDouble(0, 1);
    expr.evaluate(b);
    Assert.assertEquals(Math.log(1) / Math.log(10), resultV.vector[3]);
}
Also used : VectorizedRowBatch(org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch) DoubleColumnVector(org.apache.hadoop.hive.ql.exec.vector.DoubleColumnVector) FuncLog10LongToDouble(org.apache.hadoop.hive.ql.exec.vector.expressions.gen.FuncLog10LongToDouble) FuncLog10DoubleToDouble(org.apache.hadoop.hive.ql.exec.vector.expressions.gen.FuncLog10DoubleToDouble) Test(org.junit.Test)

Aggregations

DoubleColumnVector (org.apache.hadoop.hive.ql.exec.vector.DoubleColumnVector)1 VectorizedRowBatch (org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch)1 FuncLog10DoubleToDouble (org.apache.hadoop.hive.ql.exec.vector.expressions.gen.FuncLog10DoubleToDouble)1 FuncLog10LongToDouble (org.apache.hadoop.hive.ql.exec.vector.expressions.gen.FuncLog10LongToDouble)1 Test (org.junit.Test)1