はじめまして、すけともうします。
手元の資料では アークサインは
みなさん・・・アークタンジェントから求めているようです。
下に資料をあげておきますが、ご参考になるかどうか・・・・
以上
すけ。
mail:suke-san@xxxxxxxxxxxxx
URL:http://homepage1.nifty.com/suke-san
-----------------------------------------------------------------
<参考資料 : X68用:MC68040用FPSP・ソースコード(yamapuさん作)より抜粋>
<アークタンジェント>
* ATAN
* Step 1. If |X| >= 16 or |X| < 1/16, go to Step 5.
*
* Step 2. Let X = sgn * 2**k * 1.xxxxxxxx...x. Note that k = -4, -3,..., or
3.
* Define F = sgn * 2**k * 1.xxxx1, i.e. the first 5 significant bits
* of X with a bit-1 attached at the 6-th bit position. Define u
* to be u = (X-F) / (1 + X*F).
*
* Step 3. Approximate arctan(u) by a polynomial poly.
*
* Step 4. Return arctan(F) + poly, arctan(F) is fetched from a table of
values
* calculated beforehand. Exit.
*
* Step 5. If |X| >= 16, go to Step 7.
*
* Step 6. Approximate arctan(X) by an odd polynomial in X. Exit.
*
* Step 7. Define X' = -1/X. Approximate arctan(X') by an odd polynomial in
X'.
* Arctan(X) = sign(X)*Pi/2 + arctan(X'). Exit.
*
<アークサイン>
* ASIN
* 1. If |X| >= 1, go to 3.
*
* 2. (|X| < 1) Calculate asin(X) by
* z := sqrt( [1-X][1+X] )
* asin(X) = atan( x / z ).
* Exit.
*
* 3. If |X| > 1, go to 5.
*
* 4. (|X| = 1) sgn := sign(X), return asin(X) := sgn * Pi/2. Exit.
*
* 5. (|X| > 1) Generate an invalid operation by 0 * infinity.
* Exit.
*