src/main/java/com/flowpowered/math/TrigMath.java
public static double asin(double value) {
        if (value > 1) {
            return Double.NaN;
        } else if (value < 0) {
            return -asin(-value);
        } else {
            double temp = Math.sqrt(1 - value * value);
            if (value > 0.7) {
                return HALF_PI - msatan(temp / value);
            } else {
                return msatan(value / temp);
            }
        }
    }
public static double asin(double value) {
        if (value > 1) {
            return Double.NaN;
        } else if (value < 0) {
            return -asin(-value);
        } else {
            double temp = Math.sqrt(1 - value * value);
            if (value > 0.7) {
                return HALF_PI - msatan(temp / value);
            } else {
                return msatan(value / temp);
            }
        }
    }
public static double asin ( double value ) { if ( value > 1 ) { return Double . NaN ; } else if ( value < 0 ) { return - asin ( - value ) ; } else { double temp = Math . sqrt ( 1 - value * value ) ; if ( value > 0.7 ) { return HALF_PI - msatan ( temp / value ) ; } else { return msatan ( value / temp ) ; } } }
Calculates the arc sine of the value specified<br><br> Returns NaN if the input value is outside the sine range

@param value of the sine
@return sine arc in radians
Calculates the arc sine of the value specified<br > <br > Returns NaN if the input value is outside the sine range