summaryrefslogtreecommitdiffstats
path: root/lib/libm/common/tan.c
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>2002-03-21 00:42:48 +0000
committerbde <bde@FreeBSD.org>2002-03-21 00:42:48 +0000
commitbe2cf84b24905468b296d0b27d7c0459acd4dec8 (patch)
tree57bd79659e7f6862429527509385c95663b5c33b /lib/libm/common/tan.c
parente1ec4d77dcf9547ad4c02a371fcae1d9f176c338 (diff)
downloadFreeBSD-src-be2cf84b24905468b296d0b27d7c0459acd4dec8.zip
FreeBSD-src-be2cf84b24905468b296d0b27d7c0459acd4dec8.tar.gz
Removed all files in libm except README-FREEBSD and files needed to
implement tgamma().
Diffstat (limited to 'lib/libm/common/tan.c')
-rw-r--r--lib/libm/common/tan.c77
1 files changed, 0 insertions, 77 deletions
diff --git a/lib/libm/common/tan.c b/lib/libm/common/tan.c
deleted file mode 100644
index 2e87ec6..0000000
--- a/lib/libm/common/tan.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 1987, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#ifndef lint
-static char sccsid[] = "@(#)tan.c 8.1 (Berkeley) 6/4/93";
-#endif /* not lint */
-
-#include "trig.h"
-double
-tan(x)
-double x;
-{
- double a,z,ss,cc,c;
- int k;
-
- if(!finite(x)) /* tan(NaN) and tan(INF) must be NaN */
- return x-x;
- x = drem(x,PI); /* reduce x into [-PI/2, PI/2] */
- a = copysign(x,one); /* ... = abs(x) */
- if (a >= PIo4) {
- k = 1;
- x = copysign(PIo2-a,x);
- }
- else {
- k = 0;
- if (a < small) {
- big+a;
- return x;
- }
- }
- z = x*x;
- cc = cos__C(z);
- ss = sin__S(z);
- z *= half; /* Next get c = cos(x) accurately */
- c = (z >= thresh ? half-((z-half)-cc) : one-(z-cc));
- if (k == 0)
- return x+(x*(z-(cc-ss)))/c; /* ... sin/cos */
-#ifdef national
- else if (x == zero)
- return copysign(fmax,x); /* no inf on 32k */
-#endif /* national */
- else
- return c/(x+x*ss); /* ... cos/sin */
-}
OpenPOWER on IntegriCloud