The list of methods to do asin are organized into topic(s).
double
asin(double a) Returns the arc sine of an angle, in the range of -
pi/2 through
pi/2.
return Math.asin(a);
double
asin(double a) Returns the arc sine of an angle, in the range of -
pi/2 through
pi/2.
double t, w, p, q, c, r, s;
long hx = Double.doubleToLongBits(a);
long ix = hx & no_sign_mask;
if (Math.abs(a) >= 1) {
if (Math.abs(a) == 1)
return (a * pio2_hi + a * pio2_lo);
if (Math.abs(a) > 1)
return (Double.NaN);
...
double
asin(double arg) asin
double temp;
int sign;
sign = 0;
if (arg < 0) {
arg = -arg;
sign++;
if (arg > 1) {
...
double
asin(final double x) asin
return x * (Math.abs(x) * (Math.abs(x) * asin_a + asin_b) + asin_c)
+ Math.signum(x) * (asin_d - Math.sqrt(1 - x * x));
float
asin(float x) Arcsin
if (x < -1. || x > 1.)
return Float.NaN;
if (x == -1.)
return (float) -Math.PI / 2;
if (x == 1)
return (float) Math.PI / 2;
return atan(x / (float) Math.sqrt(1 - x * x));
int
asin(int f) asin
boolean neg;
if (neg = f < 0)
f = -f;
int g = ((int) (102943 - ((((long) sqrt((65536 - f))) * (((((long) f)
* (((((long) f) * (((((long) f) * ((long) -1228)) >> 16) + 4866)) >> 16) - 13900)) >> 16)
+ 102939)) >> 16)));
return neg ? -g : g;
double
asin_core(double x) asicore
double x8, x4, x2;
x2 = x * x;
x4 = x2 * x2;
x8 = x4 * x4;
return (((4.5334220547132049e-2 * x2 - 1.1226216762576600e-2) * x4
+ (2.6334281471361822e-2 * x2 + 2.0596336163223834e-2)) * x8
+ (3.0582043602875735e-2 * x2 + 4.4630538556294605e-2) * x4
+ (7.5000364034134126e-2 * x2 + 1.6666666300567365e-1)) * x2 * x + x;
...