@Test public void testCos() { assertPrecisionCalculation( BigComplex.valueOf(new BigDecimal("2.03272300701966552943634344849951426373199040663875238194"), new BigDecimal("-3.05189779915180005751211568689510545288843761773331964466")).round(MC), (mc) -> BigComplexMath.cos(BigComplex.valueOf(1, 2), mc), 5); }
public static BigComplex cos(BigComplex x, MathContext mathContext) { MathContext mc = new MathContext(mathContext.getPrecision() + 4, mathContext.getRoundingMode()); return BigComplex.valueOf( BigDecimalMath.cos(x.re, mc).multiply(BigDecimalMath.cosh(x.im, mc), mc).round(mathContext), BigDecimalMath.sin(x.re, mc).multiply(BigDecimalMath.sinh(x.im, mc), mc).negate().round(mathContext)); }
BigComplexMath { public static BigComplex cos(BigComplex x, MathContext mathContext) { MathContext mc = new MathContext(mathContext.getPrecision() + 4, mathContext.getRoundingMode()); return BigComplex.valueOf( BigDecimalMath.cos(x.re, mc).multiply(BigDecimalMath.cosh(x.im, mc), mc).round(mathContext), BigDecimalMath.sin(x.re, mc).multiply(BigDecimalMath.sinh(x.im, mc), mc).negate().round(mathContext)); } }
BigComplexMath { public static BigComplex cos(BigComplex x, MathContext mathContext) { MathContext mc = new MathContext(mathContext.getPrecision() + 4, mathContext.getRoundingMode()); return BigComplex.valueOf( BigDecimalMath.cos(x.re, mc).multiply(BigDecimalMath.cosh(x.im, mc), mc).round(mathContext), BigDecimalMath.sin(x.re, mc).multiply(BigDecimalMath.sinh(x.im, mc), mc).negate().round(mathContext)); }  }
BigComplexMath { public static BigComplex cos(BigComplex x, MathContext mathContext) { MathContext mc = new MathContext(mathContext.getPrecision() + 4, mathContext.getRoundingMode()); return BigComplex.valueOf( BigDecimalMath.cos(x.re, mc).multiply(BigDecimalMath.cosh(x.im, mc), mc).round(mathContext), BigDecimalMath.sin(x.re, mc).multiply(BigDecimalMath.sinh(x.im, mc), mc).negate().round(mathContext)); }  static BigComplex reciprocal(BigComplex x, MathContext mathContext); static BigComplex conjugate(BigComplex x); static BigDecimal abs(BigComplex x, MathContext mathContext); static BigDecimal absSquare(BigComplex x, MathContext mathContext); static BigDecimal angle(BigComplex x, MathContext mathContext); static BigComplex factorial(BigComplex x, MathContext mathContext); static BigComplex gamma(BigComplex x, MathContext mathContext); static BigComplex exp(BigComplex x, MathContext mathContext); static BigComplex sin(BigComplex x, MathContext mathContext); static BigComplex cos(BigComplex x, MathContext mathContext); static BigComplex tan(BigComplex x, MathContext mathContext); static BigComplex atan(BigComplex x, MathContext mathContext); static BigComplex acot(BigComplex x, MathContext mathContext); static BigComplex asin(BigComplex x, MathContext mathContext); static BigComplex acos(BigComplex x, MathContext mathContext); static BigComplex sqrt(BigComplex x, MathContext mathContext); static BigComplex log(BigComplex x, MathContext mathContext); static BigComplex pow(BigComplex x, long y, MathContext mathContext); static BigComplex pow(BigComplex x, BigDecimal y, MathContext mathContext); static BigComplex pow(BigComplex x, BigComplex y, MathContext mathContext); static BigComplex root(BigComplex x, BigDecimal n, MathContext mathContext); static BigComplex root(BigComplex x, BigComplex n, MathContext mathContext); }
BigComplexMath { public static BigComplex cos(BigComplex x, MathContext mathContext) { MathContext mc = new MathContext(mathContext.getPrecision() + 4, mathContext.getRoundingMode()); return BigComplex.valueOf( BigDecimalMath.cos(x.re, mc).multiply(BigDecimalMath.cosh(x.im, mc), mc).round(mathContext), BigDecimalMath.sin(x.re, mc).multiply(BigDecimalMath.sinh(x.im, mc), mc).negate().round(mathContext)); }  static BigComplex reciprocal(BigComplex x, MathContext mathContext); static BigComplex conjugate(BigComplex x); static BigDecimal abs(BigComplex x, MathContext mathContext); static BigDecimal absSquare(BigComplex x, MathContext mathContext); static BigDecimal angle(BigComplex x, MathContext mathContext); static BigComplex factorial(BigComplex x, MathContext mathContext); static BigComplex gamma(BigComplex x, MathContext mathContext); static BigComplex exp(BigComplex x, MathContext mathContext); static BigComplex sin(BigComplex x, MathContext mathContext); static BigComplex cos(BigComplex x, MathContext mathContext); static BigComplex tan(BigComplex x, MathContext mathContext); static BigComplex atan(BigComplex x, MathContext mathContext); static BigComplex acot(BigComplex x, MathContext mathContext); static BigComplex asin(BigComplex x, MathContext mathContext); static BigComplex acos(BigComplex x, MathContext mathContext); static BigComplex sqrt(BigComplex x, MathContext mathContext); static BigComplex log(BigComplex x, MathContext mathContext); static BigComplex pow(BigComplex x, long y, MathContext mathContext); static BigComplex pow(BigComplex x, BigDecimal y, MathContext mathContext); static BigComplex pow(BigComplex x, BigComplex y, MathContext mathContext); static BigComplex root(BigComplex x, BigDecimal n, MathContext mathContext); static BigComplex root(BigComplex x, BigComplex n, MathContext mathContext);  }