public void testSetValueDouble() { assertTrue(VALUE_DBL == (new DD(1)).setValue(VALUE_DBL).doubleValue()); } public void testSetValueDD()
public void testWriteRepeatedSqr() { writeRepeatedSqr(DD.valueOf(.9)); writeRepeatedSqr(DD.PI.divide(DD.valueOf(10))); }
public void testParseSciNotation() { checkParse("1.05e10", 1.05E10, 1e-32); checkParse("01.05e10", 1.05E10, 1e-32); checkParse("12.05e10", 1.205E11, 1e-32); checkParse("-1.05e10", -1.05E10, 1e-32); checkParse("1.05e-10", DD.valueOf(105.).divide( DD.valueOf(100.)).divide(DD.valueOf(1.0E10)), 1e-32); checkParse("-1.05e-10", DD.valueOf(105.).divide( DD.valueOf(100.)).divide(DD.valueOf(1.0E10)) .negate(), 1e-32); }
private void checkAddMult2(DD dd) { DD sum = dd.add(dd); DD prod = dd.multiply(new DD(2.0)); checkErrorBound("AddMult2", sum, prod, 0.0); }
public void testToCoordinate() { assertEquals(Vector2D.create( Vector2D.create(1,2).toCoordinate()), Vector2D.create(1,2), TOLERANCE); }
public void testTrunc() { checkTrunc(DD.valueOf(1e16).subtract(DD.valueOf(1)), DD.valueOf(1e16).subtract(DD.valueOf(1))); // the appropriate error bound is determined empirically checkTrunc(DD.PI, DD.valueOf(3)); checkTrunc(DD.valueOf(999.999), DD.valueOf(999)); checkTrunc(DD.E.negate(), DD.valueOf(-2)); checkTrunc(DD.valueOf(-999.999), DD.valueOf(-999)); }
private void checkErrorBound(String tag, DD x, DD y, double errBound) { DD err = x.subtract(y).abs(); //System.out.println(tag + " err=" + err); boolean isWithinEps = err.doubleValue() <= errBound; assertTrue(isWithinEps); }
public void testCopy() { assertTrue((new DD(VALUE_DBL)).equals(DD.copy(new DD(VALUE_DBL)))); assertTrue(DD.PI.equals(DD.copy(DD.PI))); } }
public void testIsParallel() throws Exception { assertTrue(Vector2D.create(0,1).isParallel(Vector2D.create(0,2))); assertTrue(Vector2D.create(1,1).isParallel(Vector2D.create(2,2))); assertTrue(Vector2D.create(-1,-1).isParallel(Vector2D.create(2,2))); assertTrue(! Vector2D.create(1,-1).isParallel(Vector2D.create(2,2))); }
private void checkDivideMultiply(DD a, DD b, double errBound) { DD a2 = a.divide(b).multiply(b); checkErrorBound("DivideMultiply", a, a2, errBound); }
void assertEquals(Vector2D v1, Vector2D v2, double tolerance) { assertEquals(v1.getX(), v2.getX(), tolerance); assertEquals(v1.getY(), v2.getY(), tolerance); } }
public void testWriteRepeatedSqrt() { writeRepeatedSqrt(DD.valueOf(1.0)); writeRepeatedSqrt(DD.valueOf(.999999999999)); writeRepeatedSqrt(DD.PI.divide(DD.valueOf(10))); }
private void checkSqrt(DD x, double errBound) { DD sqrt = x.sqrt(); DD x2 = sqrt.multiply(sqrt); checkErrorBound("Sqrt", x, x2, errBound); }
public void testAddMult2() { checkAddMult2(new DD(3)); checkAddMult2(DD.PI); }
private void checkStandardNotation(DD x, String expectedStr) { String xStr = x.toStandardNotation(); //System.out.println("Standard Notation: " + xStr); assertEquals(expectedStr, xStr); }
private void checkSciNotation(DD x, String expectedStr) { String xStr = x.toSciNotation(); //System.out.println("Sci Notation: " + xStr); assertEquals(xStr, expectedStr); }
public void testDivideMultiply() { checkDivideMultiply(DD.PI, DD.E, 1e-30); checkDivideMultiply(new DD(39.4), new DD(10), 1e-30); }
private void checkTrunc(DD x, DD expected) { DD trunc = x.trunc(); boolean isEqual = trunc.equals(expected); assertTrue(isEqual); }
private void checkMultiplyDivide(DD a, DD b, double errBound) { DD a2 = a.multiply(b).divide(b); checkErrorBound("MultiplyDivide", a, a2, errBound); }