@Override public boolean operateIntegerDouble(LongPointable longp1, DoublePointable doublep2) throws SystemException, IOException { double double1 = longp1.doubleValue(); double double2 = doublep2.doubleValue(); if (Double.isNaN(double2)) { return false; } return (double1 == double2); }
@Override public void operateIntegerDouble(LongPointable longp, DoublePointable doublep, DataOutput dOut) throws SystemException, IOException { double value = longp.doubleValue(); value %= doublep.doubleValue(); dOut.write(ValueTag.XS_DOUBLE_TAG); dOut.writeDouble(value); }
@Override public void operateIntegerDouble(LongPointable longp, DoublePointable doublep, DataOutput dOut) throws SystemException, IOException { double value = longp.doubleValue(); value /= doublep.doubleValue(); dOut.write(ValueTag.XS_DOUBLE_TAG); dOut.writeDouble(value); }
@Override public void operateDoubleInteger(DoublePointable doublep, LongPointable longp, DataOutput dOut) throws SystemException, IOException { double value = doublep.doubleValue(); value += longp.doubleValue(); dOut.write(ValueTag.XS_DOUBLE_TAG); dOut.writeDouble(value); }
@Override public void operateIntegerDouble(LongPointable longp, DoublePointable doublep, DataOutput dOut) throws SystemException, IOException { double value = longp.doubleValue(); value -= doublep.doubleValue(); dOut.write(ValueTag.XS_DOUBLE_TAG); dOut.writeDouble(value); }
@Override public void operateDoubleInteger(DoublePointable doublep, LongPointable longp, DataOutput dOut) throws SystemException, IOException { double value = doublep.doubleValue(); value *= longp.doubleValue(); dOut.write(ValueTag.XS_DOUBLE_TAG); dOut.writeDouble(value); }
@Override public boolean operateIntegerDouble(LongPointable longp1, DoublePointable doublep2) throws SystemException, IOException { double double1 = longp1.doubleValue(); double double2 = doublep2.doubleValue(); if (Double.isNaN(double2)) { return false; } return (double1 < double2); }
@Override public void operateIntegerDecimal(LongPointable longp, XSDecimalPointable decp, DataOutput dOut) throws SystemException, IOException { double value = longp.doubleValue(); value -= decp.doubleValue(); dOut.write(ValueTag.XS_DECIMAL_TAG); dOut.writeDouble(value); }
@Override public void operateDoubleInteger(DoublePointable doublep, LongPointable longp, DataOutput dOut) throws SystemException, IOException { double value = doublep.doubleValue(); value %= longp.doubleValue(); dOut.write(ValueTag.XS_DOUBLE_TAG); dOut.writeDouble(value); }
@Override public void operateDoubleInteger(DoublePointable doublep, LongPointable longp, DataOutput dOut) throws SystemException, IOException { double value = doublep.doubleValue(); value -= longp.doubleValue(); dOut.write(ValueTag.XS_DOUBLE_TAG); dOut.writeDouble(value); }
@Override public boolean operateDoubleInteger(DoublePointable doublep1, LongPointable longp2) throws SystemException, IOException { double double1 = doublep1.doubleValue(); double double2 = longp2.doubleValue(); if (Double.isNaN(doublep1.getDouble())) { return false; } return (double1 == double2); }
@Override public boolean operateDoubleInteger(DoublePointable doublep1, LongPointable longp2) throws SystemException, IOException { double double1 = doublep1.doubleValue(); double double2 = longp2.doubleValue(); if (Double.isNaN(doublep1.getDouble())) { return false; } return (double1 < double2); }
@Override public void operateDoubleInteger(DoublePointable doublep, LongPointable longp, DataOutput dOut) throws SystemException, IOException { if (Double.isNaN(doublep.getDouble()) || Double.isInfinite(doublep.getDouble())) { throw new SystemException(ErrorCode.FOAR0002); } double value = doublep.doubleValue(); value /= longp.doubleValue(); dOut.write(ValueTag.XS_INTEGER_TAG); dOut.writeLong((long) value); }
@Override public void operateDoubleInteger(DoublePointable doublep, LongPointable longp, DataOutput dOut) throws SystemException, IOException { if (longp.getLong() == 0) { throw new SystemException(ErrorCode.FOAR0001); } double value = doublep.doubleValue(); value /= longp.doubleValue(); dOut.write(ValueTag.XS_DOUBLE_TAG); dOut.writeDouble(value); }
@Override public void operateDTDurationDouble(LongPointable longp, DoublePointable doublep, DataOutput dOut) throws SystemException, IOException { if (Double.isNaN(doublep.doubleValue())) { throw new SystemException(ErrorCode.FOCA0005); } if (doublep.doubleValue() == 0.0) { throw new SystemException(ErrorCode.FODT0002); } double value = longp.doubleValue(); value /= doublep.doubleValue(); dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG); dOut.writeLong((long) value); }
@Override public void operateIntegerDouble(LongPointable longp, DoublePointable doublep, DataOutput dOut) throws SystemException, IOException { if (doublep.getDouble() == 0) { throw new SystemException(ErrorCode.FOAR0001); } if (Double.isNaN(doublep.getDouble())) { throw new SystemException(ErrorCode.FOAR0002); } double value = longp.doubleValue(); value /= doublep.doubleValue(); dOut.write(ValueTag.XS_INTEGER_TAG); dOut.writeLong((long) value); }
@Override public void operateIntegerInteger(LongPointable longp, LongPointable longp2, DataOutput dOut) throws SystemException, IOException { if (longp2.getLong() == 0) { throw new SystemException(ErrorCode.FOAR0001); } // This is an exception for integer integer operations. The divide operation returns a decimal. double value = longp.doubleValue(); value /= longp2.doubleValue(); abvsInner.reset(); doublep.set(abvsInner.getByteArray(), abvsInner.getStartOffset(), DoublePointable.TYPE_TRAITS.getFixedLength()); doublep.setDouble(value); CastToDecimalOperation castToDecmial = new CastToDecimalOperation(); castToDecmial.convertDouble(doublep, dOut); }
case ValueTag.XS_UNSIGNED_LONG_TAG: tvp.getValue(tp.longp); value = tp.longp.doubleValue(); break;