home *** CD-ROM | disk | FTP | other *** search
- ' +----------------------------------------------------------------------+
- ' | |
- ' | BASWIZ Copyright (c) 1990-1993 Thomas G. Hanlin III |
- ' | |
- ' | The BASIC Wizard's Library |
- ' | |
- ' +----------------------------------------------------------------------+
-
- DEFDBL A-Z
-
- FUNCTION SinHD# (Nr AS DOUBLE)
- p0 = -630767.3640497716991184787251#
- p1 = -89912.72022039509355398013511#
- p2 = -2894.211355989563807284660366#
- p3 = -26.30563213397497062819489#
- q0 = -630767.3640497716991212077277#
- q1 = 15215.17378790019070696485176#
- q2 = -173.678953558233699533450911#
- IF Nr < 0# THEN
- N = -Nr
- Negate% = -1
- ELSE
- N = Nr
- END IF
- IF N > 21# THEN
- tmp = EXP(N) / 2#
- ELSEIF N > .5# THEN
- tmp = (EXP(N) - EXP(-N)) / 2#
- ELSE
- tmpsq = N * N
- tmp1 = (((tmpsq * p3 + p2) * tmpsq + p1) * tmpsq + p0) * N
- tmp2 = ((tmpsq + q2) * tmpsq + q1) * tmpsq + q0
- tmp = tmp1 / tmp2
- END IF
- IF Negate% THEN
- SinHD# = -tmp
- ELSE
- SinHD# = tmp
- END IF
- END FUNCTION
-