/** * Divides this object by the argument, returning <tt>this</tt>. * To prevent altering constants, * this method <b>must only</b> be used on values known to * be newly created. * * @param y the value to divide by * @return this object, divided by y */ public final DD selfDivide(double y) { return selfDivide(y, 0.0); }
/** * Divides this object by the argument, returning <tt>this</tt>. * To prevent altering constants, * this method <b>must only</b> be used on values known to * be newly created. * * @param y the value to divide by * @return this object, divided by y */ public final DD selfDivide(DD y) { return selfDivide(y.hi, y.lo); }
/** * Computes a new DoubleDouble whose value is <tt>(this / y)</tt>. * * @param y the divisor * @return a new object with the value <tt>(this / y)</tt> */ public final DD divide(double y) { if (Double.isNaN(y)) return createNaN(); return copy(this).selfDivide(y, 0.0); }
public double runDoubleDoubleSelf(int nIter) { Stopwatch sw = new Stopwatch(); for (int i = 0; i < nIter; i++) { double a = 9.0; double factor = 10.0; DD c = new DD(9.0); c.selfMultiply(factor); DD b = new DD(9.0); b.selfDivide(factor); DD a2 = new DD(a); a2.selfMultiply(a); DD b2 = new DD(b); b2.selfMultiply(c); a2.selfDivide(b2); DD det = a2; // System.out.println(aDiv); // System.out.println(det); } sw.stop(); System.out.println("DD-Self: nIter = " + nIter + " time = " + sw.getTimeString()); return sw.getTime() / (double) nIter; } //*/
.selfMultiply(DD.valueOf(p1.x).selfSubtract(q1.x)); DD numx = numx1.subtract(numx2); double fracP = numx.selfDivide(denom).doubleValue(); .selfMultiply(DD.valueOf(p1.x).selfSubtract(q1.x)); DD numy = numy1.subtract(numy2); double fracQ = numy.selfDivide(denom).doubleValue();