core/static/atan.js

/**
 * Calculates the inverse tangent of a Complex Number.
 * The domain of this function is C / { i , -i }.<br><br>
 * 
 * If the argument is out of its domain, it returns Complex.NaN.
 * @memberof Complex
 * @static
 * @param {Complex} num - Any Complex Number except i and -i
 * @returns {Complex} The result of inverse tangent function
 */
function atan(num) {
  return this.multiply(
    new this(0, 1 / 2),
    this.subtract(
      this.log(
        this.subtract(
          this.ONE,
          this.multiply(
            new this(0, 1),
            num,
          ),
        ),
      ),
      this.log(
        this.add(
          this.ONE,
          this.multiply(
            new this(0, 1),
            num,
          ),
        ),
      ),
    ),
  );
}

module.exports = atan;