public static fint Asin(fint F) { bool isNegative = F.raw < 0; F = Abs(F); if (F > fint.one) { throw new ArithmeticException("Bad Asin Input:" + F.ToFloat()); } fint f1 = mul(mul(mul(mul( fint.CreateRaw(145103 >> fint.SHIFT_AMOUNT), F) - fint.CreateRaw(599880 >> fint.SHIFT_AMOUNT), F) + fint.CreateRaw(1420468 >> fint.SHIFT_AMOUNT), F) - fint.CreateRaw(3592413 >> fint.SHIFT_AMOUNT), F) + fint.CreateRaw(26353447 >> fint.SHIFT_AMOUNT); fint f2 = HalfPI - (Sqrt(fint.one - F) * f1); return(isNegative ? -f2 : f2); }
public Vector2 ToVector2() { return(new Vector2(X.ToFloat(), Y.ToFloat())); }
public Vector3 ToVector3() { return(new Vector3(x.ToFloat(), y.ToFloat(), z.ToFloat())); }