asin method

MathComplex asin()

Implementation

MathComplex asin(){
	if( _im == 0.0 ){
		if( (_re < -1.0) || (_re > 1.0) ){
			if( ClipMath.complexIsReal() ){
				ClipMath.setComplexError();
				return floatToComplex( fasin( _re ) );
			}
		} else {
			return floatToComplex( fasin( _re ) );
		}
	}
	// -i * log( i * this + sqrt( -sqr() + 1.0 ) )
	MathComplex i = MathComplex( 0.0, 1.0 );
	MathComplex c = i.minus().mul( i.mul( this ).add( sqr().minus().add( 1.0 ).sqrt() ).log() );
	c._re = _radToAng( c._re );
	c._im = _radToAng( c._im );
	return c;
}