tan.c 902 Bytes
/*
=============================================================================
        Copyright (C) 1997-1999 NINTENDO Co.,Ltd.
        
        $RCSfile: tan.c,v $
        $Revision: 1.1.1.1 $
        $Date: 2002/10/30 02:07:09 $
=============================================================================
関数名:tan
-----------------------------------------------------------------------------
書式:  #include <math.h>
        double tan(double t)
引数:  t ラディアン角
戻り値:タンジェント
説明:  引数 t からタンジェントを求めます。
-----------------------------------------------------------------------------
*/

#include "math.h"

double tan(double t)
{
    double  c, s;
    long    tn;

    tn = (t / DVAL_PI) + ((t>=0) ? 0.5 : -0.5);
    t = t - tn * DVAL_PI;
    if (t == 0) return DVAL_ZERO;
    s = sin(t);
    c = cos(t);
    if (c != 0) return s/c;
    else return DBL_MAX;
}