// TestComplexFunctions.java uses class Complex class TestComplexFunctions { TestComplexFunctions() { Complex a; double d; Complex q1 = new Complex(2.0,3.0); System.out.println("q1="+q1); Complex q2 = new Complex(-2.0,3.0); System.out.println("q2="+q2); Complex q3 = new Complex(2.0,-3.0); System.out.println("q3="+q3); Complex q4 = new Complex(-2.0,-3.0); System.out.println("q4="+q4); System.out.println("\n test complex sin and cos"); Complex sinq; Complex cosq; sinq = q1.sin(); cosq = q1.cos(); System.out.println("sin(q1)="+sinq); System.out.println("cos(q1)="+cosq); System.out.println("sin^2+cos^2,q1 (1.0,0.0) == "+ (sinq.multiply(sinq)).add(cosq.multiply(cosq))); sinq = q2.sin(); cosq = q2.cos(); System.out.println("sin(q2)="+sinq); System.out.println("cos(q2)="+cosq); System.out.println("sin^2+cos^2,q2 (1.0,0.0) == "+ (sinq.multiply(sinq)).add(cosq.multiply(cosq))); sinq = q3.sin(); cosq = q3.cos(); System.out.println("sin(q3)="+sinq); System.out.println("cos(q3)="+cosq); System.out.println("sin^2+cos^2,q3 (1.0,0.0) == "+ (sinq.multiply(sinq)).add(cosq.multiply(cosq))); sinq = q4.sin(); cosq = q4.cos(); System.out.println("sin(q4)="+sinq); System.out.println("cos(q4)="+cosq); System.out.println("sin^2+cos^2,q4 (1.0,0.0) == "+ (sinq.multiply(sinq)).add(cosq.multiply(cosq))); System.out.println("\n test complex asin, four quadrants"); // Complex sinq; Complex asinq; Complex sinasinq; Complex asinsinq; sinq = q1.sin(); asinq = q1.asin(); System.out.println("sin(q1)="+sinq); System.out.println("asin(q1)="+asinq); sinasinq = asinq.sin(); System.out.println("sin(asin q1) "+sinasinq+" == "+q1+" q1"); asinsinq = sinq.asin(); System.out.println("asin(sin q1) "+asinsinq+" == "+q1+" q1"); sinq = q2.sin(); asinq = q2.asin(); System.out.println("sin(q2)="+sinq); System.out.println("asin(q2)="+asinq); sinasinq = asinq.sin(); System.out.println("sin(asin q2) "+sinasinq+" == "+q2+" q2"); asinsinq = sinq.asin(); System.out.println("asin(sin q2) "+asinsinq+" == "+q2+" q2"); sinq = q3.sin(); asinq = q3.asin(); System.out.println("sin(q3)="+sinq); System.out.println("asin(q3)="+asinq); sinasinq = asinq.sin(); System.out.println("sin(asin q3) "+sinasinq+" == "+q3+" q3"); asinsinq = sinq.asin(); System.out.println("asin(sin q3) "+asinsinq+" == "+q3+" q3"); sinq = q4.sin(); asinq = q4.asin(); System.out.println("sin(q4)="+sinq); System.out.println("asin(q4)="+asinq); sinasinq = asinq.sin(); System.out.println("sin(asin q4) "+sinasinq+" == "+q4+" q4"); asinsinq = sinq.asin(); System.out.println("asin(sin q4) "+asinsinq+" == "+q4+" q4"); System.out.println("\n test complex acos, four quadrants"); // Complex sinq; Complex acosq; Complex cosacosq; Complex acoscosq; cosq = q1.cos(); acosq = q1.acos(); System.out.println("cos(q1)="+cosq); System.out.println("acos(q1)="+acosq); cosacosq = acosq.cos(); System.out.println("cos(acos q1) "+cosacosq+" == "+q1+" q1"); acoscosq = cosq.acos(); System.out.println("acos(cos q1) "+acoscosq+" == "+q1+" q1"); cosq = q2.cos(); acosq = q2.acos(); System.out.println("cos(q2)="+cosq); System.out.println("acos(q2)="+acosq); cosacosq = acosq.cos(); System.out.println("cos(acos q2) "+cosacosq+" == "+q2+" q2"); acoscosq = cosq.acos(); System.out.println("acos(cos q2) "+acoscosq+" == "+q2+" q2"); cosq = q3.cos(); acosq = q3.acos(); System.out.println("cos(q3)="+cosq); System.out.println("acos(q3)="+acosq); cosacosq = acosq.cos(); System.out.println("cos(acos q3) "+cosacosq+" == "+q3+" q3"); acoscosq = cosq.acos(); System.out.println("acos(cos q3) "+acoscosq+" == "+q3+" q3"); cosq = q4.cos(); acosq = q4.acos(); System.out.println("cos(q4)="+cosq); System.out.println("acos(q4)="+acosq); cosacosq = acosq.cos(); System.out.println("cos(acos q4) "+cosacosq+" == "+q4+" q4"); acoscosq = cosq.acos(); System.out.println("acos(cos q4) "+acoscosq+" == "+q4+" q4"); System.out.println("\n test complex exp and log"); Complex expq; Complex logq; Complex logexpq; Complex explogq; expq = q1.exp(); logq = q1.log(); System.out.println("exp(q1)="+expq); System.out.println("log(q1)="+logq); logexpq = expq.log(); System.out.println("log(exp q1) "+logexpq+" == "+q1+" q1"); explogq = logq.exp(); System.out.println("exp(log q1) "+explogq+" == "+q1+" q1"); expq = q2.exp(); logq = q2.log(); System.out.println("exp(q2)="+expq); System.out.println("log(q2)="+logq); logexpq = expq.log(); System.out.println("log(exp q2) "+logexpq+" == "+q2+" q2"); explogq = logq.exp(); System.out.println("exp(log q2) "+explogq+" == "+q2+" q2"); expq = q3.exp(); logq = q3.log(); System.out.println("exp(q3)="+expq); System.out.println("log(q3)="+logq); logexpq = expq.log(); System.out.println("log(exp q3) "+logexpq+" == "+q3+" q3"); explogq = logq.exp(); System.out.println("exp(log q3) "+explogq+" == "+q3+" q3"); expq = q4.exp(); logq = q4.log(); System.out.println("exp(q4)="+expq); System.out.println("log(q4)="+logq); logexpq = expq.log(); System.out.println("log(exp q4) "+logexpq+" == "+q4+" q4"); explogq = logq.exp(); System.out.println("exp(log q4) "+explogq+" == "+q4+" q4"); System.out.println("\n test complex sqrt"); Complex sqrtq; Complex sqrq; sqrtq = q1.sqrt(); System.out.println("sqrt(q1)="+sqrtq); System.out.println("sqrt(q1)*sqrt(q1) "+sqrtq.multiply(sqrtq)+" == "+q1+" q1"); sqrq = q1.multiply(q1); System.out.println("sqrt(q1*q1) "+sqrq.sqrt()+" == "+q1+" q1"); sqrtq = q2.sqrt(); System.out.println("sqrt(q2)="+sqrtq); System.out.println("sqrt(q2)*sqrt(q2) "+sqrtq.multiply(sqrtq)+" == "+q2+" q2"); sqrq = q2.multiply(q2); System.out.println("sqrt(q2*q2) "+sqrq.sqrt()+" != "+q2+" q2 wrap"); sqrtq = q3.sqrt(); System.out.println("sqrt(q3)="+sqrtq); System.out.println("sqrt(q3)*sqrt(q3) "+sqrtq.multiply(sqrtq)+" == "+q3+" q3"); sqrq = q3.multiply(q3); System.out.println("sqrt(q3*q3) "+sqrq.sqrt()+" == "+q3+" q3"); sqrtq = q4.sqrt(); System.out.println("sqrt(q4)="+sqrtq); System.out.println("sqrt(q4)*sqrt(q4) "+sqrtq.multiply(sqrtq)+" == "+q4+" q4"); sqrq = q4.multiply(q4); System.out.println("sqrt(q4*q4) "+sqrq.sqrt()+" != "+q4+" q4 wrap"); System.out.println("\n test complex tan and atan, four quadrants"); Complex tanq; Complex atanq; Complex tanatanq; Complex atantanq; tanq = q1.tan(); atanq = q1.atan(); System.out.println("tan(q1)="+tanq); System.out.println("atan(q1)="+atanq); tanatanq = tanq.atan(); System.out.println("tan(atan q1) "+tanatanq+" == "+q1+" q1"); atantanq = atanq.tan(); System.out.println("atan(tan q1) "+atantanq+" == "+q1+" q1"); tanq = q2.tan(); atanq = q2.atan(); System.out.println("tan(q2)="+tanq); System.out.println("atan(q2)="+atanq); tanatanq = tanq.atan(); System.out.println("tan(atan q2) "+tanatanq+" == "+q2+" q2"); atantanq = atanq.tan(); System.out.println("atan(tan q2) "+atantanq+" == "+q2+" q2"); tanq = q3.tan(); atanq = q3.atan(); System.out.println("tan(q3)="+tanq); System.out.println("atan(q3)="+atanq); tanatanq = tanq.atan(); System.out.println("tan(atan q3) "+tanatanq+" == "+q3+" q3"); atantanq = atanq.tan(); System.out.println("atan(tan q3) "+atantanq+" == "+q3+" q3"); tanq = q4.tan(); atanq = q4.atan(); System.out.println("tan(q4)="+tanq); System.out.println("atan(q4)="+atanq); tanatanq = tanq.atan(); System.out.println("tan(atan q4) "+tanatanq+" == "+q4+" q4"); atantanq = atanq.tan(); System.out.println("atan(tan q4) "+atantanq+" == "+q4+" q4"); System.out.println("\n test complex pow"); Complex two=new Complex(2.0); Complex three=new Complex(3.0); Complex naturale=new Complex(StrictMath.E); Complex powq; powq = q1.pow(two); System.out.println("q1.pow(two)="+powq+" == "+q1.multiply(q1)); powq = q1.pow(three); System.out.println("q1.pow(three)="+powq+" == "+q1.multiply(q1.multiply(q1))); powq = naturale.pow(q1); System.out.println("e.pow(q1)="+powq+" == "+q1.exp()); powq = q2.pow(two); System.out.println("q2.pow(two)="+powq+" == "+q2.multiply(q2)); powq = q2.pow(three); System.out.println("q2.pow(three)="+powq+" == "+q2.multiply(q2.multiply(q2))); powq = naturale.pow(q2); System.out.println("e.pow(q2)="+powq+" == "+q2.exp()); powq = q3.pow(two); System.out.println("q3.pow(two)="+powq+" == "+q3.multiply(q3)); powq = q3.pow(three); System.out.println("q3.pow(three)="+powq+" == "+q3.multiply(q3.multiply(q3))); powq = naturale.pow(q3); System.out.println("e.pow(q3)="+powq+" == "+q3.exp()); powq = q4.pow(two); System.out.println("q4.pow(two)="+powq+" == "+q4.multiply(q4)); powq = q4.pow(three); System.out.println("q4.pow(three)="+powq+" == "+q4.multiply(q4.multiply(q4))); powq = naturale.pow(q4); System.out.println("e.pow(q4)="+powq+" == "+q4.exp()); } public static void main(String args[]) { new TestComplexFunctions(); } }