X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=man3%2Ftan.3;h=6a0c3d966ef1d10683b137e00e6ede231d9ed39f;hb=d8a86e74a28498c4b016f40cb4b323267bd5a9f0;hp=2dd1837228ff87a635b07ef006209544ff2cb03a;hpb=e49f411f3154746ca89f8425887c5d8b0604a6b6;p=thirdparty%2Fman-pages.git diff --git a/man3/tan.3 b/man3/tan.3 index 2dd1837228..6a0c3d966e 100644 --- a/man3/tan.3 +++ b/man3/tan.3 @@ -1,5 +1,8 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) +.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk +.\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -8,7 +11,7 @@ .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. -.\" +.\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from @@ -16,9 +19,10 @@ .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. -.\" +.\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -28,32 +32,127 @@ .\" Modified 2002-07-27 by Walter Harms .\" (walter.harms@informatik.uni-oldenburg.de) .\" -.TH TAN 3 2002-07-27 "" "Linux Programmer's Manual" +.TH TAN 3 2017-09-15 "" "Linux Programmer's Manual" .SH NAME tan, tanf, tanl \- tangent function .SH SYNOPSIS .nf .B #include -.sp +.PP .BI "double tan(double " x ); -.br .BI "float tanf(float " x ); -.br .BI "long double tanl(long double " x ); .fi -.sp -Link with \-lm. +.PP +Link with \fI\-lm\fP. +.PP +.in -4n +Feature Test Macro Requirements for glibc (see +.BR feature_test_macros (7)): +.in +.PP +.ad l +.BR tanf (), +.BR tanl (): +.RS 4 +_ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L + || /* Since glibc 2.19: */ _DEFAULT_SOURCE + || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE +.RE +.ad .SH DESCRIPTION -The \fBtan\fP() function returns the tangent of \fIx\fP, where \fIx\fP is +These functions return the tangent of +.IR x , +where +.I x +is given in radians. -.SH "CONFORMING TO" +.SH RETURN VALUE +On success, these functions return the tangent of +.IR x . +.PP +If +.I x +is a NaN, a NaN is returned. +.PP +If +.I x +is positive infinity or negative infinity, +a domain error occurs, +and a NaN is returned. +.PP +If the correct result would overflow, +a range error occurs, +and the functions return +.BR HUGE_VAL , +.BR HUGE_VALF , +or +.BR HUGE_VALL , +respectively, with the mathematically correct sign. +.\" I think overflow can't occur, because the closest floating-point +.\" representation of pi/2 is still not close enough to pi/2 to +.\" produce a large enough value to overflow. +.\" Testing certainly seems to bear this out. -- mtk, Jul 08 +.\" +.\" POSIX.1 allows an optional underflow error; +.\" glibc 2.8 doesn't do this +.\" POSIX.1 an optional range error for subnormal x; +.\" glibc 2.8 doesn't do this +.SH ERRORS +See +.BR math_error (7) +for information on how to determine whether an error has occurred +when calling these functions. +.PP +The following errors can occur: +.TP +Domain error: \fIx\fP is an infinity +.I errno +is set to +.B EDOM +(but see BUGS). +An invalid floating-point exception +.RB ( FE_INVALID ) +is raised. +.TP +Range error: result overflow +.\" Unable to test this case, since the best approximation of +.\" pi/2 in double precision only yields a tan() value of 1.633e16. +.\" .I errno +.\" is set to +.\" .BR ERANGE . +An overflow floating-point exception +.RB ( FE_OVERFLOW ) +is raised. +.SH ATTRIBUTES +For an explanation of the terms used in this section, see +.BR attributes (7). +.TS +allbox; +lbw21 lb lb +l l l. +Interface Attribute Value +T{ +.BR tan (), +.BR tanf (), +.BR tanl () +T} Thread safety MT-Safe +.TE +.SH CONFORMING TO +C99, POSIX.1-2001, POSIX.1-2008. +.PP +The variant returning +.I double +also conforms to SVr4, 4.3BSD, C89. -The -.I float -and -.I "long double" -variants are C99 requirements. -.SH "SEE ALSO" +.SH BUGS +Before version 2.10, the glibc implementation did not set +.\" http://sourceware.org/bugzilla/show_bug.cgi?id=6782 +.I errno +to +.B EDOM +when a domain error occurred. +.SH SEE ALSO .BR acos (3), .BR asin (3), .BR atan (3),