/** * Take Tangent of a */ @Override protected DoubleWritable doEvaluate(DoubleWritable a) { result.set(Math.tan(a.get())); return result; }
@Override protected DoubleWritable doEvaluate(DoubleWritable a) { result.set(Math.toDegrees(a.get())); return result; }
/** * Raise e (the base of natural logarithm) to the power of a. */ @Override protected DoubleWritable doEvaluate(DoubleWritable a) { result.set(Math.exp(a.get())); return result; }
public Text evaluate(DoubleWritable n) { if (n == null) { return null; } return evaluateInternal(n.get()); }
@Override public void assignObjectValue(Object val, int destIndex) throws HiveException { if (val == null) { assignNull(destIndex); } else { DoubleWritable bw = (DoubleWritable) val; assignDouble(bw.get(), destIndex); } } }.init(outputBatch, (DoubleColumnVector) destCol);
@Override protected DoubleWritable round(DoubleWritable input, int scale) { double d = input.get(); if (Double.isNaN(d) || Double.isInfinite(d)) { return new DoubleWritable(d); } else { return new DoubleWritable(RoundUtils.bround(d, scale)); } }
protected DoubleWritable round(DoubleWritable input, int scale) { double d = input.get(); if (Double.isNaN(d) || Double.isInfinite(d)) { return new DoubleWritable(d); } else { return new DoubleWritable(RoundUtils.round(d, scale)); } }
protected Double getDoubleValue(DeferredObject[] arguments, int i, Converter[] converters) throws HiveException { Object obj; if ((obj = arguments[i].get()) == null) { return null; } Object writableValue = converters[i].convert(obj); double v = ((DoubleWritable) writableValue).get(); return v; }
@Test public void testRadians() throws HiveException { UDFRadians udf = new UDFRadians(); input = createDecimal("45.0"); DoubleWritable res = udf.evaluate(input); Assert.assertEquals(0.7853981633974483, res.get(), 0.000001); }
private void runAndVerify(Double in, Double expResult, GenericUDF udf) throws HiveException { DeferredObject valueObj0 = new DeferredJavaObject(in != null ? new DoubleWritable(in) : null); DeferredObject[] args = { valueObj0 }; DoubleWritable output = (DoubleWritable) udf.evaluate(args); if (expResult == null) { assertNull("cbrt() test", output); } else { assertNotNull("cbrt() test", output); assertEquals("cbrt() test", expResult.doubleValue(), output.get(), 1E-10); } } }
@Test public void testAtan() throws HiveException { UDFAtan udf = new UDFAtan(); input = createDecimal("1.0"); DoubleWritable res = udf.evaluate(input); Assert.assertEquals(0.7853981633974483, res.get(), 0.000001); }
@Test public void testSqrt() throws HiveException { UDFSqrt udf = new UDFSqrt(); input = createDecimal("49.0"); DoubleWritable res = udf.evaluate(input); Assert.assertEquals(7.0, res.get(), 0.000001); }