freebsd-dev/lib/msun/src
Bruce Evans 639a1e1106 Removed dead code for handling tan[f]() on odd multiples of pi/2. This
case never occurs since pi/2 is irrational so no multiple of it can
be represented as a float and we have precise arg reduction so we never
end up with a remainder of 0 in the "kernel" function unless the
original arg is 0.

If this case occurs, then we would now fall through to general code
that returns +-Inf (depending on the sign of the reduced arg) instead
of forcing +Inf.  The correct handling would be to return NaN since
we would have lost so much precision that the correct result can be
anything _except_ +-Inf.

Don't reindent the else clause left over from this, although it was already
bogusly indented ("if (foo) return; else ..." just marches the indentation
to the right), since it will be removed too.

Index: k_tan.c
===================================================================
RCS file: /home/ncvs/src/lib/msun/src/k_tan.c,v
retrieving revision 1.10
diff -r1.10 k_tan.c
88,90c88
< 			if (((ix | low) | (iy + 1)) == 0)
< 				return one / fabs(x);
< 			else {
---
> 			{
2005-11-02 06:45:21 +00:00
..
e_acos.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_acosf.c Assume __STDC__, remove non-__STDC__ code. 2002-05-28 17:03:12 +00:00
e_acosh.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_acoshf.c Assume __STDC__, remove non-__STDC__ code. 2002-05-28 17:03:12 +00:00
e_asin.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_asinf.c Assume __STDC__, remove non-__STDC__ code. 2002-05-28 17:03:12 +00:00
e_atan2.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_atan2f.c Fixed lots of 1 ULP errors caused by a broken approximation for pi/2. 2004-06-02 17:09:05 +00:00
e_atanh.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_atanhf.c Assume __STDC__, remove non-__STDC__ code. 2002-05-28 17:03:12 +00:00
e_cosh.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_coshf.c Assume __STDC__, remove non-__STDC__ code. 2002-05-28 17:03:12 +00:00
e_exp.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_expf.c Revert rev 1.8, which causes small (e.g. 2 ulp) errors for some 2005-02-24 06:32:13 +00:00
e_fmod.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_fmodf.c Assume __STDC__, remove non-__STDC__ code. 2002-05-28 17:03:12 +00:00
e_gamma_r.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_gamma.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_gammaf_r.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
e_gammaf.c Assume __STDC__, remove non-__STDC__ code. 2002-05-28 17:03:12 +00:00
e_hypot.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_hypotf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
e_j0.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_j0f.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
e_j1.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_j1f.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
e_jn.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_jnf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
e_lgamma_r.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_lgamma.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_lgammaf_r.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
e_lgammaf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
e_log10.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_log10f.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
e_log.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_logf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
e_pow.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_powf.c Merged from double precision case (e_pow.c 1.10: sign fixes). 2004-06-01 19:33:30 +00:00
e_rem_pio2.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_rem_pio2f.c Use double precision to simplify and optimize arg reduction for small 2005-10-29 16:34:50 +00:00
e_remainder.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_remainderf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
e_scalb.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_scalbf.c Remove the declaration of isnan() from this file. It is no longer 2004-07-09 10:01:10 +00:00
e_sinh.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_sinhf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
e_sqrt.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
e_sqrtf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
k_cos.c Use a better algorithm for reducing the error in __kernel_cos[f](). 2005-10-26 12:36:18 +00:00
k_cosf.c Use fairly optimal minimax polynomials for __kernel_cosf() and 2005-10-28 13:36:58 +00:00
k_rem_pio2.c Reduce diffs against vendor source (Sun fdlibm 5.3). 2005-02-04 18:26:06 +00:00
k_rem_pio2f.c Fixed range reduction for large multiples of pi/2 on systems with 2005-10-11 07:56:05 +00:00
k_sin.c Moved the optimization for tiny x from __kernel_{cos,sin}[f](x) to 2005-10-24 14:08:36 +00:00
k_sinf.c Use fairly optimal minimax polynomials for __kernel_cosf() and 2005-10-28 13:36:58 +00:00
k_tan.c Removed dead code for handling tan[f]() on odd multiples of pi/2. This 2005-11-02 06:45:21 +00:00
k_tanf.c Removed dead code for handling tan[f]() on odd multiples of pi/2. This 2005-11-02 06:45:21 +00:00
math_private.h Implement inline functions to give the complex result x+I*y from float 2005-10-29 17:14:11 +00:00
math.h Implement truncl() based on floorl(). 2005-04-16 21:12:47 +00:00
s_asinh.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_asinhf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_atan.c Only provide one copy of the math functions. If we provide a MD function, 2003-07-23 04:53:47 +00:00
s_atanf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_cbrt.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_cbrtf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_ceil.c Only provide one copy of the math functions. If we provide a MD function, 2003-07-23 04:53:47 +00:00
s_ceilf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_ceill.c Revert the last change, the conversion from long double to double can raise 2005-04-28 19:45:55 +00:00
s_cimag.c Add implementations for cimag{,f,l}, creal{,f,l} and conj{,f,l}. They are 2004-05-30 09:21:56 +00:00
s_cimagf.c Add implementations for cimag{,f,l}, creal{,f,l} and conj{,f,l}. They are 2004-05-30 09:21:56 +00:00
s_cimagl.c Add implementations for cimag{,f,l}, creal{,f,l} and conj{,f,l}. They are 2004-05-30 09:21:56 +00:00
s_conj.c Add implementations for cimag{,f,l}, creal{,f,l} and conj{,f,l}. They are 2004-05-30 09:21:56 +00:00
s_conjf.c Add implementations for cimag{,f,l}, creal{,f,l} and conj{,f,l}. They are 2004-05-30 09:21:56 +00:00
s_conjl.c Add implementations for cimag{,f,l}, creal{,f,l} and conj{,f,l}. They are 2004-05-30 09:21:56 +00:00
s_copysign.c Only provide one copy of the math functions. If we provide a MD function, 2003-07-23 04:53:47 +00:00
s_copysignf.c Only provide one copy of the math functions. If we provide a MD function, 2003-07-23 04:53:47 +00:00
s_copysignl.c Add an implementation of copysignl(), a long double version of copysign(). 2004-05-07 18:56:31 +00:00
s_cos.c Moved the optimization for tiny x from __kernel_{cos,sin}[f](x) to 2005-10-24 14:08:36 +00:00
s_cosf.c Moved the optimization for tiny x from __kernel_{cos,sin}[f](x) to 2005-10-24 14:08:36 +00:00
s_creal.c Add implementations for cimag{,f,l}, creal{,f,l} and conj{,f,l}. They are 2004-05-30 09:21:56 +00:00
s_crealf.c Add implementations for cimag{,f,l}, creal{,f,l} and conj{,f,l}. They are 2004-05-30 09:21:56 +00:00
s_creall.c Add implementations for cimag{,f,l}, creal{,f,l} and conj{,f,l}. They are 2004-05-30 09:21:56 +00:00
s_erf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_erff.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_exp2.c Implement exp2() and exp2f(). 2005-04-05 02:57:15 +00:00
s_exp2f.c Implement exp2() and exp2f(). 2005-04-05 02:57:15 +00:00
s_expm1.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_expm1f.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_fabs.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_fabsf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_fabsl.c Better safe than clever. 2003-10-25 19:53:28 +00:00
s_fdim.c Implement and document fdim{,f,l}, fmax{,f,l}, and fmin{,f,l}. 2004-06-30 07:04:01 +00:00
s_finite.c Only provide one copy of the math functions. If we provide a MD function, 2003-07-23 04:53:47 +00:00
s_finitef.c Assume __STDC__, remove non-__STDC__ code. 2002-05-28 17:51:46 +00:00
s_floor.c Only provide one copy of the math functions. If we provide a MD function, 2003-07-23 04:53:47 +00:00
s_floorf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_floorl.c Revert the last change, the conversion from long double to double can raise 2005-04-28 19:45:55 +00:00
s_fma.c Fix the double rounding problem with subnormals, and 2005-03-18 02:27:59 +00:00
s_fmaf.c Add fma() and fmaf(), which implement a fused multiply-add operation. 2005-01-22 09:53:18 +00:00
s_fmal.c Fix the double rounding problem with subnormals, and 2005-03-18 02:27:59 +00:00
s_fmax.c Implement and document fdim{,f,l}, fmax{,f,l}, and fmin{,f,l}. 2004-06-30 07:04:01 +00:00
s_fmaxf.c Implement and document fdim{,f,l}, fmax{,f,l}, and fmin{,f,l}. 2004-06-30 07:04:01 +00:00
s_fmaxl.c Implement and document fdim{,f,l}, fmax{,f,l}, and fmin{,f,l}. 2004-06-30 07:04:01 +00:00
s_fmin.c Implement and document fdim{,f,l}, fmax{,f,l}, and fmin{,f,l}. 2004-06-30 07:04:01 +00:00
s_fminf.c Implement and document fdim{,f,l}, fmax{,f,l}, and fmin{,f,l}. 2004-06-30 07:04:01 +00:00
s_fminl.c Implement and document fdim{,f,l}, fmax{,f,l}, and fmin{,f,l}. 2004-06-30 07:04:01 +00:00
s_frexp.c Replace strong references with weak references. There's no 2005-03-07 21:27:37 +00:00
s_frexpf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_frexpl.c Implement frexpl. 2005-03-07 04:54:51 +00:00
s_ilogb.c Use the FP_ILOG macros from <math.h> rather than hardcoded return values. 2004-10-09 17:14:28 +00:00
s_ilogbf.c Use the FP_ILOG macros from <math.h> rather than hardcoded return values. 2004-10-09 17:14:28 +00:00
s_ilogbl.c Add and document ilogbl(), a long double version of ilogb(). 2004-10-11 18:13:52 +00:00
s_isfinite.c Implement the classification macros isfinite(), isinf(), isnan(), and 2004-07-09 03:32:40 +00:00
s_isnan.c Replace s_isnan.c and s_isnanf.c with the more compact s_isnan.c from 2004-08-05 01:46:11 +00:00
s_isnormal.c Implement the classification macros isfinite(), isinf(), isnan(), and 2004-07-09 03:32:40 +00:00
s_llrint.c Add MI implementations of [l]lrint[f]() and [l]lround[f](). 2005-01-11 23:12:55 +00:00
s_llrintf.c Add MI implementations of [l]lrint[f]() and [l]lround[f](). 2005-01-11 23:12:55 +00:00
s_llround.c These files should include s_lround.c instead of s_lrint.c. 2005-04-08 00:52:27 +00:00
s_llroundf.c These files should include s_lround.c instead of s_lrint.c. 2005-04-08 00:52:27 +00:00
s_llroundl.c Add roundl(), lroundl(), and llroundl(). 2005-04-08 01:24:08 +00:00
s_log1p.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_log1pf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_logb.c Only provide one copy of the math functions. If we provide a MD function, 2003-07-23 04:53:47 +00:00
s_logbf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_lrint.c Add MI implementations of [l]lrint[f]() and [l]lround[f](). 2005-01-11 23:12:55 +00:00
s_lrintf.c Add MI implementations of [l]lrint[f]() and [l]lround[f](). 2005-01-11 23:12:55 +00:00
s_lround.c Fix a (coincidentally harmless) bug. 2005-04-08 00:52:16 +00:00
s_lroundf.c These files should include s_lround.c instead of s_lrint.c. 2005-04-08 00:52:27 +00:00
s_lroundl.c Add roundl(), lroundl(), and llroundl(). 2005-04-08 01:24:08 +00:00
s_modf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_modff.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_nearbyint.c Add C99's nearbyint{,f}() functions as wrappers around rint(). 2004-07-06 04:46:08 +00:00
s_nextafter.c Replace strong references with weak references. There's no 2005-03-07 21:27:37 +00:00
s_nextafterf.c - Try harder to trick gcc into not optimizing away statements 2005-03-07 04:55:58 +00:00
s_nextafterl.c Implement nexttoward and nextafterl; the latter is also known as 2005-03-07 04:56:46 +00:00
s_nexttoward.c Implement nexttoward and nextafterl; the latter is also known as 2005-03-07 04:56:46 +00:00
s_nexttowardf.c Implement nexttowardf. This is used on both platforms with 11-bit 2005-03-07 04:57:38 +00:00
s_remquo.c Implement and document remquo() and remquof(). 2005-03-25 04:40:44 +00:00
s_remquof.c Implement and document remquo() and remquof(). 2005-03-25 04:40:44 +00:00
s_rint.c Remove an obsolete sentence from a comment. 2005-03-07 20:28:26 +00:00
s_rintf.c Fix a bug where rintf() rounded the wrong way in round-to-nearest mode 2004-06-09 21:24:52 +00:00
s_round.c The isnormal() in rev 1.2 should have been isfinite() so subnormals 2005-01-13 15:43:41 +00:00
s_roundf.c The isnormal() in rev 1.2 should have been isfinite() so subnormals 2005-01-13 15:43:41 +00:00
s_roundl.c Add roundl(), lroundl(), and llroundl(). 2005-04-08 01:24:08 +00:00
s_scalbln.c - Implement scalblnl. 2005-03-07 04:57:50 +00:00
s_scalbn.c Replace strong references with weak references. There's no 2005-03-07 21:27:37 +00:00
s_scalbnf.c Alias scalbnf as ldexpf. The two are identical in binary 2005-03-07 04:52:43 +00:00
s_scalbnl.c Add scalbnl, also known as as ldexpl. 2005-03-07 04:52:58 +00:00
s_signbit.c Fix two bugs in the signbit() macro, which was implemented last year: 2004-07-19 08:16:10 +00:00
s_signgam.c
s_significand.c Only provide one copy of the math functions. If we provide a MD function, 2003-07-23 04:53:47 +00:00
s_significandf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_sin.c Moved the optimization for tiny x from __kernel_{cos,sin}[f](x) to 2005-10-24 14:08:36 +00:00
s_sinf.c Moved the optimization for tiny x from __kernel_{cos,sin}[f](x) to 2005-10-24 14:08:36 +00:00
s_tan.c Only provide one copy of the math functions. If we provide a MD function, 2003-07-23 04:53:47 +00:00
s_tanf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_tanh.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_tanhf.c Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
s_trunc.c Implement trunc() and truncf(). 2004-06-20 09:25:43 +00:00
s_truncf.c Implement trunc() and truncf(). 2004-06-20 09:25:43 +00:00
s_truncl.c Revert the last change, the conversion from long double to double can raise 2005-04-28 19:45:55 +00:00
w_cabs.c
w_cabsf.c
w_drem.c
w_dremf.c Work around known GCC 3.4.x problem and use ANSI prototype for dremf(). 2004-07-28 05:53:18 +00:00