はじめまして、すけともうします。 手元の資料では アークサインは みなさん・・・アークタンジェントから求めているようです。 下に資料をあげておきますが、ご参考になるかどうか・・・・ 以上 すけ。 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. *