asinf.c
876 Bytes
/*
=============================================================================
Copyright (C) 1997-1999 NINTENDO Co.,Ltd.
$RCSfile: asinf.c,v $
$Revision: 1.1.1.1 $
$Date: 2002/10/30 02:07:09 $
=============================================================================
関数名:asinf
-----------------------------------------------------------------------------
書式: #include <math.h>
float asinf(float x);
引数: x (-1〜1の範囲)
戻り値:アークサイン(−π/2〜π/2の範囲)
説明: 引数 x のアークサインを求める。
-----------------------------------------------------------------------------
*/
#include "math.h"
float asinf(float x)
{
float z;
if (fabsf(x)>1) return FVAL_ZERO;
z = _nsqrtf(1-x*x);
if (z != 0) return atan2f(x,z);
if (x>0) return FVAL_PI/2;
else return -FVAL_PI/2;
}