public static ComplexNumber square(ComplexNumber z) { ArgChecker.notNull(z, "z"); double a = z.getReal(); double b = z.getImaginary(); return new ComplexNumber(a * a - b * b, 2 * a * b); }
public ComplexNumber add(ComplexNumber otherNumber){ ComplexNumber newComplex; float newA = a + otherNumber.getA(); float newB = b + otherNumber.getB(); newComplex = new ComplexNumber(newA, newB); return newComplex; }//end add
public class Tester { public static void main(String [] args) { // create two objects of ComplexNumbers with whatever values you like ComplexNumber numA = new ComplexNumber(....); ComplexNumber numB = new ComplexNumber(....); // then add them and store the returned reference into a new variable ComplexNumber result = numA.plus(numB); // print the number however you like System.out.println(result.real + " + i" + result.getImag()); } }
ComplexNumber c = new ComplexNumber(0, 0); c.setValue(1, 2);
public static ComplexNumber one () { return new ComplexNumber(1, 0); } public static ComplexNumber imgOne () { return new ComplexNumber(0, 1); } public static ComplexNumber zero () { return mew ComplexNumber(0, 0); }
@Test public void test() { assertEquals(Double.valueOf(1), Double.valueOf(Z1.getReal())); assertEquals(Double.valueOf(2), Double.valueOf(Z1.getImaginary())); assertEquals(Z1, Z2); assertEquals(Z1.hashCode(), Z2.hashCode()); assertEquals("1.0 + 2.0i", Z1.toString()); assertEquals("1.0 + 0.0i", new ComplexNumber(1, 0).toString()); assertEquals("0.0 + 2.3i", new ComplexNumber(0, 2.3).toString()); assertEquals("-1.0 + 0.0i", new ComplexNumber(-1, 0).toString()); assertEquals("0.0 - 2.3i", new ComplexNumber(0, -2.3).toString()); assertFalse(Z1.equals(Z3)); assertFalse(Z1.equals(Z4)); assertFalse(Z1.equals(Z5)); } }
public static double mod(ComplexNumber z) { ArgChecker.notNull(z, "z"); return Math.hypot(z.getReal(), z.getImaginary()); }
@Test(expectedExceptions = UnsupportedOperationException.class) public void testByteValue() { Z1.byteValue(); }
@Test(expectedExceptions = UnsupportedOperationException.class) public void testDoubleValue() { Z1.doubleValue(); }
@Test(expectedExceptions = UnsupportedOperationException.class) public void testFloatValue() { Z1.floatValue(); }
public static final ComplexNumber ONE = new ComplexNumber(1, 0); public static final ComplexNumber ZERO = new ComplexNumber(0, 0);
public static double arg(ComplexNumber z) { ArgChecker.notNull(z, "z"); return Math.atan2(z.getImaginary(), z.getReal()); }
public static ComplexNumber add(ComplexNumber... z) { ArgChecker.notNull(z, "z"); double res = 0.0; double img = 0.0; for (ComplexNumber aZ : z) { res += aZ.getReal(); img += aZ.getImaginary(); } return new ComplexNumber(res, img); }
public static ComplexNumber valueOf (float aReal, float aImaginary) { return new ComplexNumber (aReal, aImaginary); }
private void assertComplexEquals(final ComplexNumber c1, final ComplexNumber c2) { assertEquals(c1.getReal(), c2.getReal(), EPS); assertEquals(c1.getImaginary(), c2.getImaginary(), EPS); } }
public static ComplexNumber add(ComplexNumber z, double x) { ArgChecker.notNull(z, "z"); return new ComplexNumber(z.getReal() + x, z.getImaginary()); }
z1 = new ComplexNumber(); z0 = new ComplexNumber(); // before loop
@Override public Double[] getRoots(RealPolynomialFunction1D function) { ArgChecker.notNull(function, "function"); double[] coefficients = function.getCoefficients(); if (coefficients.length != 4) { throw new IllegalArgumentException("Function is not a cubic"); } ComplexNumber[] result = ROOT_FINDER.getRoots(function); List<Double> reals = new ArrayList<>(); for (ComplexNumber c : result) { if (DoubleMath.fuzzyEquals(c.getImaginary(), 0d, 1e-16)) { reals.add(c.getReal()); } } ArgChecker.isTrue(reals.size() > 0, "Could not find any real roots"); return reals.toArray(EMPTY_ARRAY); }
public static ComplexNumber add(double x, ComplexNumber z) { ArgChecker.notNull(z, "z"); return new ComplexNumber(z.getReal() + x, z.getImaginary()); }
ComplexNumber addComplex = new ComplexNumber(3, 5);