public static function arccos($z) {
        if (!($z instanceof Complex)) $z = static::parse($z);

        $I = new Complex(0,1);
        $temp = static::mul(static::sqrt(static::sub(1, static::mul($z, $z))), $I);
        return static::div(static::log(static::add($z, $temp)), $I);
    }
public static function arccos($z) {
        if (!($z instanceof Complex)) $z = static::parse($z);

        $I = new Complex(0,1);
        $temp = static::mul(static::sqrt(static::sub(1, static::mul($z, $z))), $I);
        return static::div(static::log(static::add($z, $temp)), $I);
    }
public static function arccos ( $ z ) { if ( ! ( $ z instanceof Complex ) ) $ z = static :: parse ( $ z ) ; $ I = new Complex ( 0 , 1 ) ; $ temp = static :: mul ( static :: sqrt ( static :: sub ( 1 , static :: mul ( $ z , $ z ) ) ) , $ I ) ; return static :: div ( static :: log ( static :: add ( $ z , $ temp ) ) , $ I ) ; }
complex inverse cosine function

Complex::arccos($z) computes and returns the principal branch of arccos($z)


@param mixed $z (Complex, or parsable to Complex)
@retval Complex
complex inverse cosine function