@Override public int toBytes(Object object, byte[] bytes, int offset) { if (object == null) { throw newIllegalDataException(this + " may not be null"); } return this.getCodec().encodeDouble(((Number) object).doubleValue(), bytes, offset); }
@Override public int toBytes(Object object, byte[] bytes, int offset) { if (object == null) { throw newIllegalDataException(this + " may not be null"); } return this.getCodec().encodeDouble(((Number) object).doubleValue(), bytes, offset); }
@Override public void abs(byte[] bytes, int offset, int length, SortOrder sortOrder, ImmutableBytesWritable outPtr) { double d = getCodec().decodeDouble(bytes, offset, sortOrder); getCodec().encodeDouble(Math.abs(d), outPtr); } }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { if (buffer == null) { if (isNullable()) { return false; } initBuffer(); } getDataType().getCodec().encodeDouble(sum, buffer, 0); ptr.set(buffer); return true; }
@Override public int toBytes(Object object, byte[] bytes, int offset) { if (object == null) { throw newIllegalDataException(this + " may not be null"); } return this.getCodec().encodeDouble(((Number) object).doubleValue(), bytes, offset); }
@Override public int toBytes(Object object, byte[] bytes, int offset) { if (object == null) { throw newIllegalDataException(this + " may not be null"); } return this.getCodec().encodeDouble(((Number) object).doubleValue(), bytes, offset); }
@Override public int toBytes(Object object, byte[] bytes, int offset) { if (object == null) { throw newIllegalDataException(this + " may not be null"); } return this.getCodec().encodeDouble(((Number) object).doubleValue(), bytes, offset); }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { PDataType returnType = getDataType(); Expression arg1Expr = children.get(0); if (!arg1Expr.evaluate(tuple, ptr)) return false; if (ptr.getLength() == 0) return true; double arg1 = getArg(arg1Expr, ptr); ptr.set(new byte[returnType.getByteSize()]); returnType.getCodec().encodeDouble(compute(arg1), ptr); return true; }
@Override public void abs(byte[] bytes, int offset, int length, SortOrder sortOrder, ImmutableBytesWritable outPtr) { double d = getCodec().decodeDouble(bytes, offset, sortOrder); getCodec().encodeDouble(Math.abs(d), outPtr); } }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { if (buffer == null) { if (isNullable()) { return false; } initBuffer(); } getDataType().getCodec().encodeDouble(sum, buffer, 0); ptr.set(buffer); return true; }
@Override public void abs(byte[] bytes, int offset, int length, SortOrder sortOrder, ImmutableBytesWritable outPtr) { double d = getCodec().decodeDouble(bytes, offset, sortOrder); getCodec().encodeDouble(Math.abs(d), outPtr); } }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { PDataType returnType = getDataType(); Expression arg1Expr = children.get(0); if (!arg1Expr.evaluate(tuple, ptr)) return false; if (ptr.getLength() == 0) return true; double arg1 = getArg(arg1Expr, ptr); ptr.set(new byte[returnType.getByteSize()]); returnType.getCodec().encodeDouble(compute(arg1), ptr); return true; }
@Override public int toBytes(Object object, byte[] bytes, int offset) { if (object == null) { throw newIllegalDataException(this + " may not be null"); } return this.getCodec().encodeDouble(((Number) object).doubleValue(), bytes, offset); }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { double result = 0.0; for (int i = 0; i < children.size(); i++) { Expression child = children.get(i); if (!child.evaluate(tuple, ptr)) { return false; } if (ptr.getLength() == 0) { return true; } double childvalue = child.getDataType().getCodec() .decodeDouble(ptr, child.getSortOrder()); if (!Double.isNaN(childvalue) && childvalue != Double.NEGATIVE_INFINITY && childvalue != Double.POSITIVE_INFINITY) { if (i == 0) { result = childvalue; } else { result /= childvalue; } } else { return false; } } byte[] resultPtr = new byte[getDataType().getByteSize()]; getDataType().getCodec().encodeDouble(result, resultPtr, 0); ptr.set(resultPtr); return true; }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { double result = 0.0; for (int i = 0; i < children.size(); i++) { Expression child = children.get(i); if (!child.evaluate(tuple, ptr)) { return false; } if (ptr.getLength() == 0) { return true; } double childvalue = child.getDataType().getCodec() .decodeDouble(ptr, child.getSortOrder()); if (!Double.isNaN(childvalue) && childvalue != Double.NEGATIVE_INFINITY && childvalue != Double.POSITIVE_INFINITY) { if (i == 0) { result = childvalue; } else { result -= childvalue; } } else { return false; } } byte[] resultPtr = new byte[getDataType().getByteSize()]; getDataType().getCodec().encodeDouble(result, resultPtr, 0); ptr.set(resultPtr); return true; }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { double result = 0.0; for (int i = 0; i < children.size(); i++) { Expression child = children.get(i); if (!child.evaluate(tuple, ptr)) { return false; } if (ptr.getLength() == 0) { return true; } double childvalue = child.getDataType().getCodec() .decodeDouble(ptr, child.getSortOrder()); if (!Double.isNaN(childvalue) && childvalue != Double.NEGATIVE_INFINITY && childvalue != Double.POSITIVE_INFINITY) { result += childvalue; } else { return false; } } byte[] resultPtr = new byte[getDataType().getByteSize()]; getDataType().getCodec().encodeDouble(result, resultPtr, 0); ptr.set(resultPtr); return true; }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { double result = 1.0; for (int i = 0; i < children.size(); i++) { Expression child = children.get(i); if (!child.evaluate(tuple, ptr)) { return false; } if (ptr.getLength() == 0) { return true; } double childvalue = child.getDataType().getCodec() .decodeDouble(ptr, child.getSortOrder()); if (!Double.isNaN(childvalue) && childvalue != Double.NEGATIVE_INFINITY && childvalue != Double.POSITIVE_INFINITY) { result *= childvalue; } else { return false; } } byte[] resultPtr = new byte[getDataType().getByteSize()]; getDataType().getCodec().encodeDouble(result, resultPtr, 0); ptr.set(resultPtr); return true; }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { PDataType returnType = getDataType(); Expression arg1Expr = children.get(0); if (!arg1Expr.evaluate(tuple, ptr)) return false; if (ptr.getLength() == 0) return true; double arg1 = JavaMathOneArgumentFunction.getArg(arg1Expr, ptr); Expression arg2Expr = (children.size() <= 1) ? null : children.get(1); double arg2; if (arg2Expr != null && !arg2Expr.evaluate(tuple, ptr)) return false; if (arg2Expr == null || ptr.getLength() == 0) { ptr.set(ByteUtil.EMPTY_BYTE_ARRAY); return true; } else { arg2 = JavaMathOneArgumentFunction.getArg(arg2Expr, ptr); } ptr.set(new byte[returnType.getByteSize()]); returnType.getCodec().encodeDouble(compute(arg1, arg2), ptr); return true; }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { PDataType returnType = getDataType(); Expression arg1Expr = children.get(0); if (!arg1Expr.evaluate(tuple, ptr)) return false; if (ptr.getLength() == 0) return true; double arg1 = getArg(arg1Expr, ptr); ptr.set(new byte[returnType.getByteSize()]); returnType.getCodec().encodeDouble(compute(arg1), ptr); return true; }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { if (buffer == null) { if (isNullable()) { return false; } initBuffer(); } getDataType().getCodec().encodeDouble(sum, buffer, 0); ptr.set(buffer); return true; }