1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2012-03-22 04:25+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
16 "Content-Type: text/plain; charset=CHARSET\n"
17 "Content-Transfer-Encoding: 8bit\n"
20 #: build/C/man3/INFINITY.3:23
26 #: build/C/man3/INFINITY.3:23
32 #: build/C/man3/INFINITY.3:23 build/C/man3/abs.3:32 build/C/man3/acos.3:33 build/C/man3/acosh.3:33 build/C/man3/asin.3:33 build/C/man3/asinh.3:33 build/C/man3/atan.3:33 build/C/man3/atan2.3:33 build/C/man3/atanh.3:33 build/C/man3/cbrt.3:28 build/C/man3/ceil.3:25 build/C/man3/copysign.3:29 build/C/man3/cos.3:32 build/C/man3/cosh.3:34 build/C/man3/div.3:32 build/C/man3/erf.3:33 build/C/man3/erfc.3:24 build/C/man3/exp.3:34 build/C/man3/exp10.3:33 build/C/man3/exp2.3:34 build/C/man3/expm1.3:28 build/C/man3/fabs.3:30 build/C/man3/fdim.3:6 build/C/man3/fenv.3:26 build/C/man3/finite.3:23 build/C/man3/floor.3:25 build/C/man3/fma.3:8 build/C/man3/fmax.3:6 build/C/man3/fmin.3:6 build/C/man3/fmod.3:33 build/C/man3/fpclassify.3:6 build/C/man3/frexp.3:31 build/C/man3/gamma.3:6 build/C/man3/hypot.3:31 build/C/man3/ilogb.3:27 build/C/man3/infnan.3:31 build/C/man3/isgreater.3:6 build/C/man3/j0.3:34 build/C/man3/ldexp.3:32 build/C/man3/lgamma.3:7 build/C/man3/log.3:34 build/C/man3/log10.3:34 build/C/man3/log1p.3:27 build/C/man3/log2.3:34 build/C/man3/logb.3:27 build/C/man3/lrint.3:25 build/C/man3/lround.3:25 build/C/man7/math_error.7:24 build/C/man3/matherr.3:25 build/C/man3/modf.3:31 build/C/man3/nan.3:6 build/C/man3/nextafter.3:6 build/C/man3/pow.3:33 build/C/man3/pow10.3:23 build/C/man3/remainder.3:35 build/C/man3/remquo.3:7 build/C/man3/rint.3:25 build/C/man3/round.3:25 build/C/man3/scalb.3:25 build/C/man3/scalbln.3:25 build/C/man3/signbit.3:6 build/C/man3/significand.3:4 build/C/man3/sin.3:33 build/C/man3/sincos.3:6 build/C/man3/sinh.3:34 build/C/man3/sqrt.3:32 build/C/man3/tan.3:33 build/C/man3/tanh.3:33 build/C/man3/tgamma.3:8 build/C/man3/trunc.3:23 build/C/man3/y0.3:34
34 msgid "Linux Programmer's Manual"
38 #: build/C/man3/INFINITY.3:24 build/C/man3/abs.3:33 build/C/man3/acos.3:34 build/C/man3/acosh.3:34 build/C/man3/asin.3:34 build/C/man3/asinh.3:34 build/C/man3/atan.3:34 build/C/man3/atan2.3:34 build/C/man3/atanh.3:34 build/C/man3/cbrt.3:29 build/C/man3/ceil.3:26 build/C/man3/copysign.3:30 build/C/man3/cos.3:33 build/C/man3/cosh.3:35 build/C/man3/div.3:33 build/C/man3/erf.3:34 build/C/man3/erfc.3:25 build/C/man3/exp.3:35 build/C/man3/exp10.3:34 build/C/man3/exp2.3:35 build/C/man3/expm1.3:29 build/C/man3/fabs.3:31 build/C/man3/fdim.3:7 build/C/man3/fenv.3:27 build/C/man3/finite.3:24 build/C/man3/floor.3:26 build/C/man3/fma.3:9 build/C/man3/fmax.3:7 build/C/man3/fmin.3:7 build/C/man3/fmod.3:34 build/C/man3/fpclassify.3:7 build/C/man3/frexp.3:32 build/C/man3/gamma.3:7 build/C/man3/hypot.3:32 build/C/man3/ilogb.3:28 build/C/man3/infnan.3:32 build/C/man3/isgreater.3:7 build/C/man3/j0.3:35 build/C/man3/ldexp.3:33 build/C/man3/lgamma.3:8 build/C/man3/log.3:35 build/C/man3/log10.3:35 build/C/man3/log1p.3:28 build/C/man3/log2.3:35 build/C/man3/logb.3:28 build/C/man3/lrint.3:26 build/C/man3/lround.3:26 build/C/man7/math_error.7:25 build/C/man3/matherr.3:26 build/C/man3/modf.3:32 build/C/man3/nan.3:7 build/C/man3/nextafter.3:7 build/C/man3/pow.3:34 build/C/man3/pow10.3:24 build/C/man3/remainder.3:36 build/C/man3/remquo.3:8 build/C/man3/rint.3:26 build/C/man3/round.3:26 build/C/man3/scalb.3:26 build/C/man3/scalbln.3:26 build/C/man3/signbit.3:7 build/C/man3/significand.3:5 build/C/man3/sin.3:34 build/C/man3/sincos.3:7 build/C/man3/sinh.3:35 build/C/man3/sqrt.3:33 build/C/man3/tan.3:34 build/C/man3/tanh.3:34 build/C/man3/tgamma.3:9 build/C/man3/trunc.3:24 build/C/man3/y0.3:35
44 #: build/C/man3/INFINITY.3:26
45 msgid "INFINITY, NAN, HUGE_VAL, HUGE_VALF, HUGE_VALL - floating-point constants"
49 #: build/C/man3/INFINITY.3:26 build/C/man3/abs.3:35 build/C/man3/acos.3:36 build/C/man3/acosh.3:36 build/C/man3/asin.3:36 build/C/man3/asinh.3:36 build/C/man3/atan.3:36 build/C/man3/atan2.3:36 build/C/man3/atanh.3:36 build/C/man3/cbrt.3:31 build/C/man3/ceil.3:29 build/C/man3/copysign.3:32 build/C/man3/cos.3:35 build/C/man3/cosh.3:37 build/C/man3/div.3:36 build/C/man3/erf.3:36 build/C/man3/erfc.3:27 build/C/man3/exp.3:37 build/C/man3/exp10.3:36 build/C/man3/exp2.3:37 build/C/man3/expm1.3:31 build/C/man3/fabs.3:33 build/C/man3/fdim.3:9 build/C/man3/fenv.3:32 build/C/man3/finite.3:27 build/C/man3/floor.3:28 build/C/man3/fma.3:11 build/C/man3/fmax.3:9 build/C/man3/fmin.3:9 build/C/man3/fmod.3:36 build/C/man3/fpclassify.3:10 build/C/man3/frexp.3:35 build/C/man3/gamma.3:9 build/C/man3/hypot.3:34 build/C/man3/ilogb.3:30 build/C/man3/infnan.3:34 build/C/man3/isgreater.3:10 build/C/man3/j0.3:38 build/C/man3/ldexp.3:35 build/C/man3/lgamma.3:11 build/C/man3/log.3:37 build/C/man3/log10.3:37 build/C/man3/log1p.3:30 build/C/man3/log2.3:37 build/C/man3/logb.3:30 build/C/man3/lrint.3:28 build/C/man3/lround.3:29 build/C/man7/math_error.7:27 build/C/man3/matherr.3:28 build/C/man3/modf.3:35 build/C/man3/nan.3:9 build/C/man3/nextafter.3:10 build/C/man3/pow.3:36 build/C/man3/pow10.3:26 build/C/man3/remainder.3:39 build/C/man3/remquo.3:10 build/C/man3/rint.3:29 build/C/man3/round.3:28 build/C/man3/scalb.3:29 build/C/man3/scalbln.3:29 build/C/man3/signbit.3:9 build/C/man3/significand.3:8 build/C/man3/sin.3:36 build/C/man3/sincos.3:9 build/C/man3/sinh.3:37 build/C/man3/sqrt.3:35 build/C/man3/tan.3:36 build/C/man3/tanh.3:36 build/C/man3/tgamma.3:11 build/C/man3/trunc.3:26 build/C/man3/y0.3:38
55 #: build/C/man3/INFINITY.3:29
57 msgid "B<#define _ISOC99_SOURCE> /* See feature_test_macros(7) */\n"
61 #: build/C/man3/INFINITY.3:31 build/C/man3/acos.3:39 build/C/man3/acosh.3:39 build/C/man3/asin.3:39 build/C/man3/asinh.3:39 build/C/man3/atan.3:39 build/C/man3/atan2.3:39 build/C/man3/atanh.3:39 build/C/man3/cbrt.3:34 build/C/man3/ceil.3:32 build/C/man3/copysign.3:35 build/C/man3/cos.3:38 build/C/man3/cosh.3:40 build/C/man3/erf.3:39 build/C/man3/erfc.3:30 build/C/man3/exp.3:40 build/C/man3/exp10.3:41 build/C/man3/exp2.3:40 build/C/man3/expm1.3:34 build/C/man3/fabs.3:36 build/C/man3/finite.3:30 build/C/man3/floor.3:31 build/C/man3/fma.3:14 build/C/man3/fmod.3:39 build/C/man3/fpclassify.3:13 build/C/man3/frexp.3:38 build/C/man3/hypot.3:37 build/C/man3/infnan.3:37 build/C/man3/isgreater.3:13 build/C/man3/j0.3:41 build/C/man3/ldexp.3:38 build/C/man3/lgamma.3:14 build/C/man3/log.3:40 build/C/man3/log10.3:40 build/C/man3/log1p.3:33 build/C/man3/log2.3:40 build/C/man3/lrint.3:31 build/C/man3/lround.3:32 build/C/man3/modf.3:38 build/C/man3/pow.3:39 build/C/man3/remainder.3:42 build/C/man3/remquo.3:13 build/C/man3/rint.3:32 build/C/man3/round.3:31 build/C/man3/sin.3:39 build/C/man3/sinh.3:40 build/C/man3/sqrt.3:38 build/C/man3/tan.3:39 build/C/man3/tanh.3:39 build/C/man3/trunc.3:29 build/C/man3/y0.3:41
63 msgid "B<#include E<lt>math.hE<gt>>\n"
67 #: build/C/man3/INFINITY.3:33
73 #: build/C/man3/INFINITY.3:35
79 #: build/C/man3/INFINITY.3:37
85 #: build/C/man3/INFINITY.3:39
87 msgid "B<HUGE_VALF>\n"
91 #: build/C/man3/INFINITY.3:41
93 msgid "B<HUGE_VALL>\n"
97 #: build/C/man3/INFINITY.3:42 build/C/man3/abs.3:64 build/C/man3/acos.3:63 build/C/man3/acosh.3:75 build/C/man3/asin.3:65 build/C/man3/asinh.3:75 build/C/man3/atan.3:65 build/C/man3/atan2.3:63 build/C/man3/atanh.3:75 build/C/man3/cbrt.3:70 build/C/man3/ceil.3:58 build/C/man3/copysign.3:62 build/C/man3/cos.3:64 build/C/man3/cosh.3:66 build/C/man3/div.3:66 build/C/man3/erf.3:72 build/C/man3/erfc.3:63 build/C/man3/exp.3:66 build/C/man3/exp10.3:50 build/C/man3/exp2.3:66 build/C/man3/expm1.3:70 build/C/man3/fabs.3:62 build/C/man3/fdim.3:36 build/C/man3/fenv.3:60 build/C/man3/finite.3:88 build/C/man3/floor.3:57 build/C/man3/fma.3:41 build/C/man3/fmax.3:37 build/C/man3/fmin.3:37 build/C/man3/fmod.3:65 build/C/man3/fpclassify.3:62 build/C/man3/frexp.3:64 build/C/man3/gamma.3:37 build/C/man3/hypot.3:72 build/C/man3/ilogb.3:68 build/C/man3/infnan.3:42 build/C/man3/isgreater.3:44 build/C/man3/j0.3:87 build/C/man3/ldexp.3:64 build/C/man3/lgamma.3:67 build/C/man3/log.3:66 build/C/man3/log10.3:66 build/C/man3/log1p.3:69 build/C/man3/log2.3:66 build/C/man3/logb.3:67 build/C/man3/lrint.3:62 build/C/man3/lround.3:63 build/C/man7/math_error.7:33 build/C/man3/matherr.3:39 build/C/man3/modf.3:64 build/C/man3/nan.3:37 build/C/man3/nextafter.3:65 build/C/man3/pow.3:65 build/C/man3/pow10.3:39 build/C/man3/remainder.3:90 build/C/man3/remquo.3:40 build/C/man3/rint.3:84 build/C/man3/round.3:58 build/C/man3/scalb.3:58 build/C/man3/scalbln.3:74 build/C/man3/signbit.3:31 build/C/man3/significand.3:32 build/C/man3/sin.3:65 build/C/man3/sincos.3:22 build/C/man3/sinh.3:66 build/C/man3/sqrt.3:64 build/C/man3/tan.3:65 build/C/man3/tanh.3:65 build/C/man3/tgamma.3:39 build/C/man3/trunc.3:56 build/C/man3/y0.3:87
103 #: build/C/man3/INFINITY.3:46
105 "The macro B<INFINITY> expands to a I<float> constant representing positive "
110 #: build/C/man3/INFINITY.3:59
112 "The macro B<NAN> expands to a I<float> constant representing a quiet NaN "
113 "(when supported). A I<quiet> NaN is a NaN (\"not-a-number\") that does not "
114 "raise exceptions when it is used in arithmetic. The opposite is a "
115 "I<signaling> NaN. See IEC 60559:1989."
119 #: build/C/man3/INFINITY.3:67
121 "The macros B<HUGE_VAL>, B<HUGE_VALF>, B<HUGE_VALL> expand to constants of "
122 "types I<double>, I<float> and I<long double>, respectively, that represent a "
123 "large positive value, possibly plus infinity."
127 #: build/C/man3/INFINITY.3:67 build/C/man3/abs.3:79 build/C/man3/acos.3:108 build/C/man3/acosh.3:116 build/C/man3/asin.3:107 build/C/man3/asinh.3:101 build/C/man3/atan.3:92 build/C/man3/atan2.3:164 build/C/man3/atanh.3:135 build/C/man3/cbrt.3:87 build/C/man3/ceil.3:76 build/C/man3/copysign.3:77 build/C/man3/cos.3:98 build/C/man3/cosh.3:115 build/C/man3/div.3:89 build/C/man3/erf.3:122 build/C/man3/erfc.3:120 build/C/man3/exp.3:125 build/C/man3/exp10.3:74 build/C/man3/exp2.3:88 build/C/man3/expm1.3:132 build/C/man3/fabs.3:84 build/C/man3/fdim.3:78 build/C/man3/fenv.3:264 build/C/man3/floor.3:75 build/C/man3/fma.3:152 build/C/man3/fmax.3:55 build/C/man3/fmin.3:55 build/C/man3/fmod.3:138 build/C/man3/fpclassify.3:114 build/C/man3/frexp.3:96 build/C/man3/gamma.3:62 build/C/man3/hypot.3:156 build/C/man3/ilogb.3:144 build/C/man3/infnan.3:69 build/C/man3/isgreater.3:87 build/C/man3/j0.3:144 build/C/man3/ldexp.3:127 build/C/man3/lgamma.3:150 build/C/man3/log.3:125 build/C/man3/log10.3:86 build/C/man3/log1p.3:138 build/C/man3/log2.3:88 build/C/man3/logb.3:141 build/C/man3/lrint.3:107 build/C/man3/lround.3:110 build/C/man3/modf.3:88 build/C/man3/nan.3:70 build/C/man3/nextafter.3:163 build/C/man3/pow.3:311 build/C/man3/pow10.3:46 build/C/man3/remainder.3:178 build/C/man3/remquo.3:119 build/C/man3/rint.3:111 build/C/man3/round.3:81 build/C/man3/scalb.3:170 build/C/man3/scalbln.3:153 build/C/man3/signbit.3:56 build/C/man3/significand.3:46 build/C/man3/sin.3:102 build/C/man3/sincos.3:72 build/C/man3/sinh.3:120 build/C/man3/sqrt.3:104 build/C/man3/tan.3:127 build/C/man3/tanh.3:96 build/C/man3/tgamma.3:153 build/C/man3/trunc.3:67 build/C/man3/y0.3:215
129 msgid "CONFORMING TO"
133 #: build/C/man3/INFINITY.3:69
138 #: build/C/man3/INFINITY.3:69
144 #: build/C/man3/INFINITY.3:91
146 "On a glibc system, the macro B<HUGE_VAL> is always available. Availability "
147 "of the B<NAN> macro can be tested using B<#ifdef NAN>, and similarly for "
148 "B<INFINITY>, B<HUGE_VALF>, B<HUGE_VALL>. They will be defined by "
149 "I<E<lt>math.hE<gt>> if B<_ISOC99_SOURCE> or B<_GNU_SOURCE> is defined, or "
150 "B<__STDC_VERSION__> is defined and has a value not less than 199901L."
154 #: build/C/man3/INFINITY.3:91 build/C/man3/abs.3:123 build/C/man3/acos.3:114 build/C/man3/acosh.3:122 build/C/man3/asin.3:113 build/C/man3/asinh.3:107 build/C/man3/atan.3:98 build/C/man3/atan2.3:170 build/C/man3/atanh.3:152 build/C/man3/cbrt.3:91 build/C/man3/ceil.3:107 build/C/man3/copysign.3:87 build/C/man3/cos.3:111 build/C/man3/cosh.3:126 build/C/man3/div.3:104 build/C/man3/erf.3:128 build/C/man3/erfc.3:133 build/C/man3/exp.3:131 build/C/man3/exp10.3:76 build/C/man3/exp2.3:94 build/C/man3/expm1.3:166 build/C/man3/fabs.3:90 build/C/man3/fdim.3:80 build/C/man3/fenv.3:322 build/C/man3/finite.3:123 build/C/man3/floor.3:97 build/C/man3/fma.3:154 build/C/man3/fmax.3:57 build/C/man3/fmin.3:57 build/C/man3/fmod.3:144 build/C/man3/fpclassify.3:128 build/C/man3/frexp.3:135 build/C/man3/gamma.3:94 build/C/man3/hypot.3:162 build/C/man3/ilogb.3:146 build/C/man3/isgreater.3:94 build/C/man3/j0.3:157 build/C/man3/ldexp.3:133 build/C/man3/lgamma.3:169 build/C/man3/log.3:138 build/C/man3/log10.3:92 build/C/man3/log1p.3:141 build/C/man3/log2.3:94 build/C/man3/logb.3:143 build/C/man3/lrint.3:109 build/C/man3/lround.3:112 build/C/man7/math_error.7:254 build/C/man3/matherr.3:423 build/C/man3/modf.3:94 build/C/man3/nan.3:74 build/C/man3/nextafter.3:172 build/C/man3/pow.3:360 build/C/man3/pow10.3:51 build/C/man3/remainder.3:213 build/C/man3/remquo.3:121 build/C/man3/rint.3:133 build/C/man3/round.3:104 build/C/man3/scalb.3:193 build/C/man3/scalbln.3:171 build/C/man3/signbit.3:60 build/C/man3/significand.3:52 build/C/man3/sin.3:115 build/C/man3/sincos.3:74 build/C/man3/sinh.3:126 build/C/man3/sqrt.3:110 build/C/man3/tan.3:140 build/C/man3/tanh.3:102 build/C/man3/tgamma.3:179 build/C/man3/trunc.3:78 build/C/man3/y0.3:238
160 #: build/C/man3/INFINITY.3:94
161 msgid "B<fpclassify>(3), B<math_error>(7)"
165 #: build/C/man3/INFINITY.3:94 build/C/man3/abs.3:129 build/C/man3/acos.3:122 build/C/man3/acosh.3:129 build/C/man3/asin.3:121 build/C/man3/asinh.3:114 build/C/man3/atan.3:107 build/C/man3/atan2.3:178 build/C/man3/atanh.3:159 build/C/man3/cbrt.3:94 build/C/man3/ceil.3:114 build/C/man3/copysign.3:89 build/C/man3/cos.3:120 build/C/man3/cosh.3:133 build/C/man3/div.3:107 build/C/man3/erf.3:132 build/C/man3/erfc.3:137 build/C/man3/exp.3:137 build/C/man3/exp10.3:82 build/C/man3/exp2.3:100 build/C/man3/expm1.3:170 build/C/man3/fabs.3:97 build/C/man3/fdim.3:82 build/C/man3/fenv.3:324 build/C/man3/finite.3:125 build/C/man3/floor.3:104 build/C/man3/fma.3:157 build/C/man3/fmax.3:59 build/C/man3/fmin.3:59 build/C/man3/fmod.3:146 build/C/man3/fpclassify.3:133 build/C/man3/frexp.3:138 build/C/man3/gamma.3:98 build/C/man3/hypot.3:165 build/C/man3/ilogb.3:150 build/C/man3/infnan.3:74 build/C/man3/isgreater.3:97 build/C/man3/j0.3:159 build/C/man3/ldexp.3:137 build/C/man3/lgamma.3:171 build/C/man3/log.3:145 build/C/man3/log10.3:99 build/C/man3/log1p.3:145 build/C/man3/log2.3:100 build/C/man3/logb.3:146 build/C/man3/lrint.3:116 build/C/man3/lround.3:119 build/C/man7/math_error.7:265 build/C/man3/matherr.3:427 build/C/man3/modf.3:97 build/C/man3/nan.3:78 build/C/man3/nextafter.3:174 build/C/man3/pow.3:364 build/C/man3/pow10.3:54 build/C/man3/remainder.3:217 build/C/man3/remquo.3:125 build/C/man3/rint.3:139 build/C/man3/round.3:111 build/C/man3/scalb.3:196 build/C/man3/scalbln.3:174 build/C/man3/signbit.3:62 build/C/man3/significand.3:55 build/C/man3/sin.3:124 build/C/man3/sincos.3:78 build/C/man3/sinh.3:133 build/C/man3/sqrt.3:114 build/C/man3/tan.3:148 build/C/man3/tanh.3:109 build/C/man3/tgamma.3:182 build/C/man3/trunc.3:85 build/C/man3/y0.3:240
171 #: build/C/man3/INFINITY.3:101 build/C/man3/abs.3:136 build/C/man3/acos.3:129 build/C/man3/acosh.3:136 build/C/man3/asin.3:128 build/C/man3/asinh.3:121 build/C/man3/atan.3:114 build/C/man3/atan2.3:185 build/C/man3/atanh.3:166 build/C/man3/cbrt.3:101 build/C/man3/ceil.3:121 build/C/man3/copysign.3:96 build/C/man3/cos.3:127 build/C/man3/cosh.3:140 build/C/man3/div.3:114 build/C/man3/erf.3:139 build/C/man3/erfc.3:144 build/C/man3/exp.3:144 build/C/man3/exp10.3:89 build/C/man3/exp2.3:107 build/C/man3/expm1.3:177 build/C/man3/fabs.3:104 build/C/man3/fdim.3:89 build/C/man3/fenv.3:331 build/C/man3/finite.3:132 build/C/man3/floor.3:111 build/C/man3/fma.3:164 build/C/man3/fmax.3:66 build/C/man3/fmin.3:66 build/C/man3/fmod.3:153 build/C/man3/fpclassify.3:140 build/C/man3/frexp.3:145 build/C/man3/gamma.3:105 build/C/man3/hypot.3:172 build/C/man3/ilogb.3:157 build/C/man3/infnan.3:81 build/C/man3/isgreater.3:104 build/C/man3/j0.3:166 build/C/man3/ldexp.3:144 build/C/man3/lgamma.3:178 build/C/man3/log.3:152 build/C/man3/log10.3:106 build/C/man3/log1p.3:152 build/C/man3/log2.3:107 build/C/man3/logb.3:153 build/C/man3/lrint.3:123 build/C/man3/lround.3:126 build/C/man7/math_error.7:272 build/C/man3/matherr.3:434 build/C/man3/modf.3:104 build/C/man3/nan.3:85 build/C/man3/nextafter.3:181 build/C/man3/pow.3:371 build/C/man3/pow10.3:61 build/C/man3/remainder.3:224 build/C/man3/remquo.3:132 build/C/man3/rint.3:146 build/C/man3/round.3:118 build/C/man3/scalb.3:203 build/C/man3/scalbln.3:181 build/C/man3/signbit.3:69 build/C/man3/significand.3:62 build/C/man3/sin.3:131 build/C/man3/sincos.3:85 build/C/man3/sinh.3:140 build/C/man3/sqrt.3:121 build/C/man3/tan.3:155 build/C/man3/tanh.3:116 build/C/man3/tgamma.3:189 build/C/man3/trunc.3:92 build/C/man3/y0.3:247
173 "This page is part of release 3.37 of the Linux I<man-pages> project. A "
174 "description of the project, and information about reporting bugs, can be "
175 "found at http://www.kernel.org/doc/man-pages/."
179 #: build/C/man3/abs.3:32
185 #: build/C/man3/abs.3:32 build/C/man3/acos.3:33 build/C/man3/acosh.3:33 build/C/man3/asin.3:33 build/C/man3/asinh.3:33 build/C/man3/atan.3:33 build/C/man3/atan2.3:33 build/C/man3/cbrt.3:28 build/C/man3/ceil.3:25 build/C/man3/copysign.3:29 build/C/man3/cosh.3:34 build/C/man3/div.3:32 build/C/man3/erf.3:33 build/C/man3/erfc.3:24 build/C/man3/exp.3:34 build/C/man3/exp2.3:34 build/C/man3/fabs.3:30 build/C/man3/fdim.3:6 build/C/man3/floor.3:25 build/C/man3/fma.3:8 build/C/man3/fmax.3:6 build/C/man3/fmin.3:6 build/C/man3/fmod.3:33 build/C/man3/fpclassify.3:6 build/C/man3/frexp.3:31 build/C/man3/hypot.3:31 build/C/man3/ilogb.3:27 build/C/man3/isgreater.3:6 build/C/man3/j0.3:34 build/C/man3/ldexp.3:32 build/C/man3/log.3:34 build/C/man3/log10.3:34 build/C/man3/log1p.3:27 build/C/man3/logb.3:27 build/C/man3/lrint.3:25 build/C/man3/lround.3:25 build/C/man3/modf.3:31 build/C/man3/nan.3:6 build/C/man3/nextafter.3:6 build/C/man3/remainder.3:35 build/C/man3/remquo.3:7 build/C/man3/rint.3:25 build/C/man3/round.3:25 build/C/man3/scalb.3:25 build/C/man3/scalbln.3:25 build/C/man3/signbit.3:6 build/C/man3/sinh.3:34 build/C/man3/sqrt.3:32 build/C/man3/tanh.3:33 build/C/man3/tgamma.3:8 build/C/man3/trunc.3:23
191 #: build/C/man3/abs.3:32 build/C/man3/asinh.3:33 build/C/man3/cbrt.3:28 build/C/man3/copysign.3:29 build/C/man3/erf.3:33 build/C/man3/erfc.3:24 build/C/man3/exp10.3:33 build/C/man3/gamma.3:6 build/C/man3/infnan.3:31 build/C/man3/nan.3:6 build/C/man3/nextafter.3:6 build/C/man3/remquo.3:7 build/C/man3/signbit.3:6 build/C/man3/significand.3:4 build/C/man3/sincos.3:6 build/C/man3/tgamma.3:8
197 #: build/C/man3/abs.3:35
198 msgid "abs, labs, llabs, imaxabs - compute the absolute value of an integer"
202 #: build/C/man3/abs.3:38 build/C/man3/div.3:39
204 msgid "B<#include E<lt>stdlib.hE<gt>>\n"
208 #: build/C/man3/abs.3:40
210 msgid "B<int abs(int >I<j>B<);>\n"
214 #: build/C/man3/abs.3:42
216 msgid "B<long int labs(long int >I<j>B<);>\n"
220 #: build/C/man3/abs.3:44
222 msgid "B<long long int llabs(long long int >I<j>B<);>\n"
226 #: build/C/man3/abs.3:46 build/C/man3/div.3:47
228 msgid "B<#include E<lt>inttypes.hE<gt>>\n"
232 #: build/C/man3/abs.3:48
234 msgid "B<intmax_t imaxabs(intmax_t >I<j>B<);>\n"
238 #: build/C/man3/abs.3:53 build/C/man3/acos.3:50 build/C/man3/acosh.3:52 build/C/man3/asin.3:52 build/C/man3/asinh.3:52 build/C/man3/atan.3:52 build/C/man3/atan2.3:50 build/C/man3/atanh.3:52 build/C/man3/cbrt.3:47 build/C/man3/ceil.3:45 build/C/man3/copysign.3:48 build/C/man3/cos.3:51 build/C/man3/cosh.3:53 build/C/man3/div.3:54 build/C/man3/erf.3:50 build/C/man3/erfc.3:41 build/C/man3/exp.3:53 build/C/man3/exp2.3:53 build/C/man3/expm1.3:47 build/C/man3/fabs.3:49 build/C/man3/fdim.3:23 build/C/man3/finite.3:53 build/C/man3/floor.3:44 build/C/man3/fma.3:27 build/C/man3/fmax.3:23 build/C/man3/fmin.3:23 build/C/man3/fmod.3:52 build/C/man3/fpclassify.3:30 build/C/man3/frexp.3:51 build/C/man3/gamma.3:23 build/C/man3/hypot.3:50 build/C/man3/ilogb.3:44 build/C/man3/isgreater.3:32 build/C/man3/j0.3:66 build/C/man3/ldexp.3:51 build/C/man3/lgamma.3:35 build/C/man3/log.3:53 build/C/man3/log10.3:53 build/C/man3/log1p.3:46 build/C/man3/log2.3:53 build/C/man3/logb.3:44 build/C/man3/lrint.3:50 build/C/man3/lround.3:51 build/C/man3/modf.3:51 build/C/man3/nan.3:23 build/C/man3/nextafter.3:30 build/C/man3/pow.3:52 build/C/man3/remainder.3:59 build/C/man3/remquo.3:26 build/C/man3/rint.3:51 build/C/man3/round.3:44 build/C/man3/scalb.3:43 build/C/man3/scalbln.3:49 build/C/man3/signbit.3:19 build/C/man3/significand.3:22 build/C/man3/sin.3:52 build/C/man3/sinh.3:53 build/C/man3/sqrt.3:51 build/C/man3/tan.3:52 build/C/man3/tanh.3:52 build/C/man3/tgamma.3:25 build/C/man3/trunc.3:42 build/C/man3/y0.3:66
239 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
243 #: build/C/man3/abs.3:57
248 #: build/C/man3/abs.3:60 build/C/man3/div.3:61 build/C/man3/exp2.3:61 build/C/man3/fdim.3:31 build/C/man3/fma.3:36 build/C/man3/fmax.3:32 build/C/man3/fmin.3:32 build/C/man3/fpclassify.3:41 build/C/man3/isgreater.3:39 build/C/man3/log2.3:61 build/C/man3/lrint.3:57 build/C/man3/lround.3:58 build/C/man3/nan.3:32 build/C/man3/nextafter.3:60 build/C/man3/remquo.3:35 build/C/man3/round.3:53 build/C/man3/scalbln.3:58 build/C/man3/signbit.3:26 build/C/man3/tgamma.3:34 build/C/man3/trunc.3:51
250 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
255 #: build/C/man3/abs.3:63 build/C/man3/acos.3:61 build/C/man3/acosh.3:63 build/C/man3/acosh.3:73 build/C/man3/asin.3:63 build/C/man3/asinh.3:63 build/C/man3/asinh.3:73 build/C/man3/atan.3:63 build/C/man3/atan2.3:61 build/C/man3/atanh.3:63 build/C/man3/atanh.3:73 build/C/man3/cbrt.3:59 build/C/man3/cbrt.3:68 build/C/man3/ceil.3:56 build/C/man3/copysign.3:60 build/C/man3/cos.3:62 build/C/man3/cosh.3:64 build/C/man3/div.3:64 build/C/man3/erf.3:60 build/C/man3/erf.3:70 build/C/man3/erfc.3:51 build/C/man3/erfc.3:61 build/C/man3/exp.3:64 build/C/man3/exp2.3:64 build/C/man3/expm1.3:58 build/C/man3/expm1.3:68 build/C/man3/fabs.3:60 build/C/man3/fdim.3:34 build/C/man3/finite.3:68 build/C/man3/finite.3:81 build/C/man3/floor.3:55 build/C/man3/fma.3:39 build/C/man3/fmax.3:35 build/C/man3/fmin.3:35 build/C/man3/fmod.3:63 build/C/man3/fpclassify.3:44 build/C/man3/fpclassify.3:52 build/C/man3/fpclassify.3:60 build/C/man3/frexp.3:62 build/C/man3/hypot.3:60 build/C/man3/hypot.3:70 build/C/man3/ilogb.3:56 build/C/man3/ilogb.3:66 build/C/man3/isgreater.3:42 build/C/man3/ldexp.3:62 build/C/man3/lgamma.3:45 build/C/man3/lgamma.3:55 build/C/man3/log.3:64 build/C/man3/log10.3:64 build/C/man3/log1p.3:57 build/C/man3/log1p.3:67 build/C/man3/log2.3:64 build/C/man3/logb.3:55 build/C/man3/logb.3:65 build/C/man3/lrint.3:60 build/C/man3/lround.3:61 build/C/man3/modf.3:62 build/C/man3/nan.3:35 build/C/man3/nextafter.3:42 build/C/man3/nextafter.3:52 build/C/man3/nextafter.3:63 build/C/man3/pow.3:63 build/C/man3/remainder.3:71 build/C/man3/remainder.3:81 build/C/man3/remquo.3:38 build/C/man3/rint.3:62 build/C/man3/rint.3:72 build/C/man3/rint.3:82 build/C/man3/round.3:56 build/C/man3/scalbln.3:61 build/C/man3/scalbln.3:72 build/C/man3/signbit.3:29 build/C/man3/sin.3:63 build/C/man3/sinh.3:64 build/C/man3/sqrt.3:62 build/C/man3/tan.3:63 build/C/man3/tanh.3:63 build/C/man3/tgamma.3:37 build/C/man3/trunc.3:54
256 msgid "or I<cc\\ -std=c99>"
260 #: build/C/man3/abs.3:76
262 "The B<abs>() function computes the absolute value of the integer argument "
263 "I<j>. The B<labs>(), B<llabs>() and B<imaxabs>() functions compute the "
264 "absolute value of the argument I<j> of the appropriate integer type for the "
269 #: build/C/man3/abs.3:76 build/C/man3/acos.3:68 build/C/man3/acosh.3:80 build/C/man3/asin.3:70 build/C/man3/asinh.3:80 build/C/man3/atan.3:70 build/C/man3/atan2.3:70 build/C/man3/atanh.3:80 build/C/man3/cbrt.3:76 build/C/man3/ceil.3:67 build/C/man3/copysign.3:67 build/C/man3/cos.3:69 build/C/man3/cosh.3:75 build/C/man3/div.3:87 build/C/man3/erf.3:79 build/C/man3/erfc.3:69 build/C/man3/exp.3:71 build/C/man3/exp10.3:55 build/C/man3/exp2.3:71 build/C/man3/expm1.3:84 build/C/man3/fabs.3:67 build/C/man3/fdim.3:39 build/C/man3/fenv.3:257 build/C/man3/floor.3:66 build/C/man3/fma.3:49 build/C/man3/fmax.3:42 build/C/man3/fmin.3:42 build/C/man3/fmod.3:72 build/C/man3/frexp.3:69 build/C/man3/gamma.3:56 build/C/man3/hypot.3:90 build/C/man3/ilogb.3:76 build/C/man3/infnan.3:52 build/C/man3/isgreater.3:77 build/C/man3/j0.3:108 build/C/man3/ldexp.3:71 build/C/man3/lgamma.3:88 build/C/man3/log.3:70 build/C/man3/log10.3:70 build/C/man3/log1p.3:79 build/C/man3/log2.3:70 build/C/man3/logb.3:92 build/C/man3/lrint.3:71 build/C/man3/lround.3:74 build/C/man3/modf.3:70 build/C/man3/nextafter.3:88 build/C/man3/pow.3:70 build/C/man3/remainder.3:116 build/C/man3/remquo.3:68 build/C/man3/rint.3:103 build/C/man3/round.3:71 build/C/man3/scalb.3:77 build/C/man3/scalbln.3:93 build/C/man3/signbit.3:48 build/C/man3/sin.3:70 build/C/man3/sincos.3:46 build/C/man3/sinh.3:75 build/C/man3/sqrt.3:68 build/C/man3/tan.3:70 build/C/man3/tanh.3:74 build/C/man3/tgamma.3:58 build/C/man3/trunc.3:59 build/C/man3/y0.3:111
275 #: build/C/man3/abs.3:79
277 "Returns the absolute value of the integer argument, of the appropriate "
278 "integer type for the function."
281 #. POSIX.1 (1996 edition) only requires the
285 #: build/C/man3/abs.3:94
287 "SVr4, POSIX.1-2001, 4.3BSD, C99. C89 only includes the B<abs>() and "
288 "B<labs>() functions; the functions B<llabs>() and B<imaxabs>() were added "
293 #: build/C/man3/abs.3:94 build/C/man3/ceil.3:82 build/C/man3/copysign.3:82 build/C/man3/erfc.3:126 build/C/man3/fenv.3:266 build/C/man3/finite.3:103 build/C/man3/floor.3:81 build/C/man3/fpclassify.3:121 build/C/man3/gamma.3:65 build/C/man3/infnan.3:71 build/C/man3/isgreater.3:89 build/C/man7/math_error.7:185 build/C/man3/pow10.3:48 build/C/man3/rint.3:113 build/C/man3/round.3:83 build/C/man3/scalbln.3:155 build/C/man3/tgamma.3:155 build/C/man3/trunc.3:69
299 #: build/C/man3/abs.3:97
301 "Trying to take the absolute value of the most negative integer is not "
306 #: build/C/man3/abs.3:106
308 "The B<llabs>() function is included in glibc since version 2.0, but is not "
309 "in libc5 or libc4. The B<imaxabs>() function is included in glibc since "
314 #: build/C/man3/abs.3:112
316 "For B<llabs>() to be declared, it may be necessary to define "
317 "B<_ISOC99_SOURCE> or B<_ISOC9X_SOURCE> (depending on the version of glibc) "
318 "before including any standard headers."
322 #: build/C/man3/abs.3:123
324 "GCC handles B<abs>() and B<labs>() as built-in functions. GCC 3.0 also "
325 "handles B<llabs>() and B<imaxabs>() as built-ins."
329 #: build/C/man3/abs.3:129
330 msgid "B<cabs>(3), B<ceil>(3), B<fabs>(3), B<floor>(3), B<rint>(3)"
334 #: build/C/man3/acos.3:33
340 #: build/C/man3/acos.3:36
341 msgid "acos, acosf, acosl - arc cosine function"
345 #: build/C/man3/acos.3:43
348 "B<double acos(double >I<x>B<);>\n"
349 "B<float acosf(float >I<x>B<);>\n"
350 "B<long double acosl(long double >I<x>B<);>\n"
354 #: build/C/man3/acos.3:46 build/C/man3/acosh.3:48 build/C/man3/asin.3:48 build/C/man3/asinh.3:48 build/C/man3/atan.3:48 build/C/man3/atan2.3:46 build/C/man3/atanh.3:48 build/C/man3/cbrt.3:43 build/C/man3/ceil.3:41 build/C/man3/copysign.3:44 build/C/man3/cos.3:47 build/C/man3/cosh.3:49 build/C/man3/erf.3:46 build/C/man3/erfc.3:37 build/C/man3/exp.3:49 build/C/man3/exp10.3:50 build/C/man3/exp2.3:49 build/C/man3/expm1.3:43 build/C/man3/fabs.3:45 build/C/man3/fdim.3:19 build/C/man3/fenv.3:60 build/C/man3/floor.3:40 build/C/man3/fma.3:23 build/C/man3/fmax.3:19 build/C/man3/fmin.3:19 build/C/man3/fmod.3:48 build/C/man3/fpclassify.3:26 build/C/man3/frexp.3:47 build/C/man3/gamma.3:19 build/C/man3/hypot.3:46 build/C/man3/ilogb.3:40 build/C/man3/infnan.3:42 build/C/man3/isgreater.3:28 build/C/man3/j0.3:62 build/C/man3/ldexp.3:47 build/C/man3/lgamma.3:31 build/C/man3/log.3:49 build/C/man3/log10.3:49 build/C/man3/log1p.3:42 build/C/man3/log2.3:49 build/C/man3/logb.3:40 build/C/man3/lrint.3:46 build/C/man3/lround.3:47 build/C/man3/matherr.3:39 build/C/man3/modf.3:47 build/C/man3/nan.3:19 build/C/man3/nextafter.3:26 build/C/man3/pow.3:48 build/C/man3/pow10.3:39 build/C/man3/remainder.3:55 build/C/man3/remquo.3:22 build/C/man3/rint.3:47 build/C/man3/round.3:40 build/C/man3/scalb.3:39 build/C/man3/scalbln.3:45 build/C/man3/signbit.3:15 build/C/man3/significand.3:18 build/C/man3/sin.3:48 build/C/man3/sincos.3:22 build/C/man3/sinh.3:49 build/C/man3/sqrt.3:47 build/C/man3/tan.3:48 build/C/man3/tanh.3:48 build/C/man3/tgamma.3:21 build/C/man3/trunc.3:38 build/C/man3/y0.3:62
355 msgid "Link with I<-lm>."
359 #: build/C/man3/acos.3:55
360 msgid "B<acosf>(), B<acosl>():"
364 #: build/C/man3/acos.3:58 build/C/man3/acosh.3:70 build/C/man3/asin.3:60 build/C/man3/asinh.3:70 build/C/man3/atan.3:60 build/C/man3/atan2.3:58 build/C/man3/atanh.3:70 build/C/man3/ceil.3:53 build/C/man3/cos.3:59 build/C/man3/cosh.3:61 build/C/man3/erf.3:67 build/C/man3/exp.3:61 build/C/man3/expm1.3:65 build/C/man3/fabs.3:57 build/C/man3/floor.3:52 build/C/man3/fmod.3:60 build/C/man3/fpclassify.3:57 build/C/man3/frexp.3:59 build/C/man3/hypot.3:67 build/C/man3/ilogb.3:63 build/C/man3/ldexp.3:59 build/C/man3/lgamma.3:52 build/C/man3/log.3:61 build/C/man3/log10.3:61 build/C/man3/log1p.3:64 build/C/man3/logb.3:62 build/C/man3/modf.3:59 build/C/man3/nextafter.3:49 build/C/man3/pow.3:60 build/C/man3/remainder.3:78 build/C/man3/rint.3:79 build/C/man3/scalbln.3:69 build/C/man3/sin.3:60 build/C/man3/sinh.3:61 build/C/man3/sqrt.3:59 build/C/man3/tan.3:60 build/C/man3/tanh.3:60
366 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
367 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
371 #: build/C/man3/acos.3:68
373 "The B<acos>() function calculates the arc cosine of I<x>; that is the value "
374 "whose cosine is I<x>."
378 #: build/C/man3/acos.3:72
380 "On success, these functions return the arc cosine of I<x> in radians; the "
381 "return value is in the range [0,\\ pi]."
385 #: build/C/man3/acos.3:76 build/C/man3/acosh.3:87 build/C/man3/asin.3:78 build/C/man3/asinh.3:87 build/C/man3/atan.3:78 build/C/man3/atanh.3:87 build/C/man3/cos.3:76 build/C/man3/cosh.3:82 build/C/man3/erf.3:87 build/C/man3/erfc.3:77 build/C/man3/exp.3:79 build/C/man3/expm1.3:92 build/C/man3/fabs.3:74 build/C/man3/j0.3:116 build/C/man3/ldexp.3:85 build/C/man3/lgamma.3:94 build/C/man3/log.3:78 build/C/man3/log1p.3:87 build/C/man3/logb.3:100 build/C/man3/scalbln.3:99 build/C/man3/sin.3:77 build/C/man3/sinh.3:82 build/C/man3/sqrt.3:75 build/C/man3/tan.3:77 build/C/man3/tanh.3:81 build/C/man3/tgamma.3:64 build/C/man3/y0.3:119
386 msgid "If I<x> is a NaN, a NaN is returned."
390 #: build/C/man3/acos.3:81 build/C/man3/acosh.3:91
391 msgid "If I<x> is +1, +0 is returned."
395 #: build/C/man3/acos.3:87 build/C/man3/cos.3:82 build/C/man3/sin.3:86 build/C/man3/tan.3:83
397 "If I<x> is positive infinity or negative infinity, a domain error occurs, "
398 "and a NaN is returned."
402 #. POSIX.1-2001 documents an optional range error for subnormal x;
403 #. glibc 2.8 does not do this.
405 #: build/C/man3/acos.3:93 build/C/man3/asin.3:92
407 "If I<x> is outside the range [-1,\\ 1], a domain error occurs, and a NaN is "
412 #: build/C/man3/acos.3:93 build/C/man3/acosh.3:101 build/C/man3/asin.3:92 build/C/man3/asinh.3:99 build/C/man3/atan.3:90 build/C/man3/atan2.3:160 build/C/man3/atanh.3:111 build/C/man3/cbrt.3:85 build/C/man3/ceil.3:73 build/C/man3/copysign.3:75 build/C/man3/cos.3:82 build/C/man3/cosh.3:100 build/C/man3/erf.3:102 build/C/man3/erfc.3:100 build/C/man3/exp.3:102 build/C/man3/exp10.3:62 build/C/man3/exp2.3:78 build/C/man3/expm1.3:113 build/C/man3/fabs.3:82 build/C/man3/fdim.3:56 build/C/man3/floor.3:72 build/C/man3/fma.3:113 build/C/man3/fmax.3:51 build/C/man3/fmin.3:51 build/C/man3/fmod.3:104 build/C/man3/frexp.3:94 build/C/man3/gamma.3:59 build/C/man3/hypot.3:126 build/C/man3/ilogb.3:108 build/C/man3/infnan.3:62 build/C/man3/isgreater.3:85 build/C/man3/j0.3:123 build/C/man3/ldexp.3:104 build/C/man3/lgamma.3:124 build/C/man3/log.3:102 build/C/man3/log10.3:78 build/C/man3/log1p.3:109 build/C/man3/log2.3:78 build/C/man3/logb.3:114 build/C/man3/lrint.3:85 build/C/man3/lround.3:88 build/C/man3/modf.3:86 build/C/man3/nextafter.3:133 build/C/man3/pow.3:251 build/C/man3/remainder.3:148 build/C/man3/remquo.3:96 build/C/man3/rint.3:108 build/C/man3/round.3:76 build/C/man3/scalb.3:131 build/C/man3/scalbln.3:123 build/C/man3/signbit.3:54 build/C/man3/sin.3:86 build/C/man3/sincos.3:49 build/C/man3/sinh.3:105 build/C/man3/sqrt.3:89 build/C/man3/tan.3:101 build/C/man3/tanh.3:94 build/C/man3/tgamma.3:98 build/C/man3/trunc.3:63 build/C/man3/y0.3:156
418 #: build/C/man3/acos.3:98 build/C/man3/acosh.3:106 build/C/man3/asin.3:97 build/C/man3/atanh.3:116 build/C/man3/cos.3:87 build/C/man3/cosh.3:105 build/C/man3/erf.3:107 build/C/man3/erfc.3:105 build/C/man3/exp.3:107 build/C/man3/exp10.3:67 build/C/man3/exp2.3:83 build/C/man3/expm1.3:118 build/C/man3/fdim.3:61 build/C/man3/fma.3:118 build/C/man3/fmod.3:109 build/C/man3/hypot.3:131 build/C/man3/ilogb.3:113 build/C/man3/j0.3:128 build/C/man3/ldexp.3:109 build/C/man3/lgamma.3:129 build/C/man3/log.3:107 build/C/man3/log10.3:83 build/C/man3/log1p.3:114 build/C/man3/log2.3:83 build/C/man3/logb.3:119 build/C/man3/lrint.3:90 build/C/man3/lround.3:93 build/C/man3/nextafter.3:138 build/C/man3/pow.3:276 build/C/man3/remainder.3:153 build/C/man3/remquo.3:101 build/C/man3/scalb.3:136 build/C/man3/scalbln.3:128 build/C/man3/sin.3:91 build/C/man3/sincos.3:54 build/C/man3/sinh.3:110 build/C/man3/sqrt.3:94 build/C/man3/tan.3:106 build/C/man3/tgamma.3:103 build/C/man3/y0.3:161
420 "See B<math_error>(7) for information on how to determine whether an error "
421 "has occurred when calling these functions."
425 #: build/C/man3/acos.3:100 build/C/man3/acosh.3:108 build/C/man3/asin.3:99 build/C/man3/atanh.3:118 build/C/man3/cos.3:89 build/C/man3/cosh.3:107 build/C/man3/erf.3:109 build/C/man3/erfc.3:107 build/C/man3/exp.3:109 build/C/man3/expm1.3:120 build/C/man3/fdim.3:63 build/C/man3/fma.3:120 build/C/man3/fmod.3:111 build/C/man3/hypot.3:133 build/C/man3/ilogb.3:115 build/C/man3/j0.3:130 build/C/man3/ldexp.3:111 build/C/man3/lgamma.3:131 build/C/man3/log.3:109 build/C/man3/log1p.3:116 build/C/man3/logb.3:121 build/C/man3/lrint.3:92 build/C/man3/lround.3:95 build/C/man3/nextafter.3:140 build/C/man3/pow.3:278 build/C/man3/remainder.3:155 build/C/man3/remquo.3:103 build/C/man3/scalb.3:138 build/C/man3/scalbln.3:130 build/C/man3/sin.3:93 build/C/man3/sincos.3:56 build/C/man3/sinh.3:112 build/C/man3/sqrt.3:96 build/C/man3/tan.3:108 build/C/man3/tgamma.3:105 build/C/man3/y0.3:163
426 msgid "The following errors can occur:"
430 #: build/C/man3/acos.3:100 build/C/man3/asin.3:99
432 msgid "Domain error: I<x> is outside the range [-1,\\ 1]"
436 #: build/C/man3/acos.3:108 build/C/man3/acosh.3:116 build/C/man3/asin.3:107 build/C/man3/atanh.3:126 build/C/man3/fmod.3:130 build/C/man3/log.3:117 build/C/man3/pow.3:286 build/C/man3/remainder.3:178 build/C/man3/sqrt.3:104 build/C/man3/y0.3:171
438 "I<errno> is set to B<EDOM>. An invalid floating-point exception "
439 "(B<FE_INVALID>) is raised."
443 #: build/C/man3/acos.3:114 build/C/man3/acosh.3:122 build/C/man3/asin.3:113 build/C/man3/asinh.3:107 build/C/man3/atan.3:98 build/C/man3/atan2.3:170 build/C/man3/atanh.3:141 build/C/man3/ceil.3:82 build/C/man3/exp.3:131 build/C/man3/exp2.3:94 build/C/man3/fabs.3:90 build/C/man3/floor.3:81 build/C/man3/fmod.3:144 build/C/man3/frexp.3:102 build/C/man3/ldexp.3:133 build/C/man3/log.3:131 build/C/man3/log10.3:92 build/C/man3/modf.3:94 build/C/man3/pow.3:317 build/C/man3/sin.3:108 build/C/man3/sinh.3:126 build/C/man3/sqrt.3:110 build/C/man3/tan.3:133 build/C/man3/tanh.3:102
445 "C99, POSIX.1-2001. The variant returning I<double> also conforms to SVr4, "
450 #: build/C/man3/acos.3:122
452 "B<asin>(3), B<atan>(3), B<atan2>(3), B<cacos>(3), B<cos>(3), B<sin>(3), "
457 #: build/C/man3/acosh.3:33
463 #: build/C/man3/acosh.3:36
464 msgid "acosh, acoshf, acoshl - inverse hyperbolic cosine function"
468 #: build/C/man3/acosh.3:41
470 msgid "B<double acosh(double >I<x>B<);>\n"
474 #: build/C/man3/acosh.3:43
476 msgid "B<float acoshf(float >I<x>B<);>\n"
480 #: build/C/man3/acosh.3:45
482 msgid "B<long double acoshl(long double >I<x>B<);>\n"
486 #: build/C/man3/acosh.3:56
491 #: build/C/man3/acosh.3:60 build/C/man3/asinh.3:60 build/C/man3/atanh.3:60 build/C/man3/cbrt.3:56 build/C/man3/expm1.3:55 build/C/man3/ilogb.3:53 build/C/man3/log1p.3:54 build/C/man3/logb.3:52 build/C/man3/nextafter.3:39 build/C/man3/rint.3:69
493 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
494 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED || _ISOC99_SOURCE || "
495 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
499 #: build/C/man3/acosh.3:67
500 msgid "B<acoshf>(), B<acoshl>():"
504 #: build/C/man3/acosh.3:80
506 "The B<acosh>() function calculates the inverse hyperbolic cosine of I<x>; "
507 "that is the value whose hyperbolic cosine is I<x>."
511 #: build/C/man3/acosh.3:83
512 msgid "On success, these functions return the inverse hyperbolic cosine of I<x>."
516 #: build/C/man3/acosh.3:95 build/C/man3/exp.3:84 build/C/man3/expm1.3:101 build/C/man3/log.3:87 build/C/man3/log1p.3:91 build/C/man3/sqrt.3:83 build/C/man3/tgamma.3:68
517 msgid "If I<x> is positive infinity, positive infinity is returned."
521 #: build/C/man3/acosh.3:101
523 "If I<x> is less than 1, a domain error occurs, and the functions return a "
528 #: build/C/man3/acosh.3:108
530 msgid "Domain error: I<x> is less than 1"
534 #: build/C/man3/acosh.3:129
535 msgid "B<asinh>(3), B<atanh>(3), B<cacosh>(3), B<cosh>(3), B<sinh>(3), B<tanh>(3)"
539 #: build/C/man3/asin.3:33
545 #: build/C/man3/asin.3:36
546 msgid "asin, asinf, asinl - arc sine function"
550 #: build/C/man3/asin.3:41
552 msgid "B<double asin(double >I<x>B<);>\n"
556 #: build/C/man3/asin.3:43
558 msgid "B<float asinf(float >I<x>B<);>\n"
562 #: build/C/man3/asin.3:45
564 msgid "B<long double asinl(long double >I<x>B<);>\n"
568 #: build/C/man3/asin.3:57
569 msgid "B<asinf>(), B<asinl>():"
573 #: build/C/man3/asin.3:70
575 "The B<asin>() function calculates the principal value of the arc sine of "
576 "I<x>; that is the value whose sine is I<x>."
580 #: build/C/man3/asin.3:74
582 "On success, these functions return the principal value of the arc sine of "
583 "I<x> in radians; the return value is in the range [-pi/2,\\ pi/2]."
587 #: build/C/man3/asin.3:83 build/C/man3/asinh.3:91 build/C/man3/atan.3:83 build/C/man3/atanh.3:91 build/C/man3/erf.3:91 build/C/man3/expm1.3:97 build/C/man3/scalbln.3:108 build/C/man3/sinh.3:86 build/C/man3/sqrt.3:79 build/C/man3/tanh.3:85
588 msgid "If I<x> is +0 (-0), +0 (-0) is returned."
592 #: build/C/man3/asin.3:121
594 "B<acos>(3), B<atan>(3), B<atan2>(3), B<casin>(3), B<cos>(3), B<sin>(3), "
599 #: build/C/man3/asinh.3:33
605 #: build/C/man3/asinh.3:36
606 msgid "asinh, asinhf, asinhl - inverse hyperbolic sine function"
610 #: build/C/man3/asinh.3:41
612 msgid "B<double asinh(double >I<x>B<);>\n"
616 #: build/C/man3/asinh.3:43
618 msgid "B<float asinhf(float >I<x>B<);>\n"
622 #: build/C/man3/asinh.3:45
624 msgid "B<long double asinhl(long double >I<x>B<);>\n"
628 #: build/C/man3/asinh.3:56
633 #: build/C/man3/asinh.3:67
634 msgid "B<asinhf>(), B<asinhl>():"
638 #: build/C/man3/asinh.3:80
640 "The B<asinh>() function calculates the inverse hyperbolic sine of I<x>; "
641 "that is the value whose hyperbolic sine is I<x>."
645 #: build/C/man3/asinh.3:83
646 msgid "On success, these functions return the inverse hyperbolic sine of I<x>."
650 #: build/C/man3/asinh.3:99 build/C/man3/ldexp.3:90 build/C/man3/scalbln.3:104 build/C/man3/sinh.3:91
652 "If I<x> is positive infinity (negative infinity), positive infinity "
653 "(negative infinity) is returned."
657 #: build/C/man3/asinh.3:101 build/C/man3/atan.3:92 build/C/man3/atan2.3:164 build/C/man3/cbrt.3:87 build/C/man3/copysign.3:77 build/C/man3/fabs.3:84 build/C/man3/fmax.3:53 build/C/man3/fmin.3:53 build/C/man3/frexp.3:96 build/C/man3/isgreater.3:87 build/C/man3/modf.3:88 build/C/man3/signbit.3:56 build/C/man3/tanh.3:96 build/C/man3/trunc.3:65
658 msgid "No errors occur."
662 #: build/C/man3/asinh.3:114
663 msgid "B<acosh>(3), B<atanh>(3), B<casinh>(3), B<cosh>(3), B<sinh>(3), B<tanh>(3)"
667 #: build/C/man3/atan.3:33
673 #: build/C/man3/atan.3:36
674 msgid "atan, atanf, atanl - arc tangent function"
678 #: build/C/man3/atan.3:41
680 msgid "B<double atan(double >I<x>B<);>\n"
684 #: build/C/man3/atan.3:43
686 msgid "B<float atanf(float >I<x>B<);>\n"
690 #: build/C/man3/atan.3:45
692 msgid "B<long double atanl( long double >I<x>B<);>\n"
696 #: build/C/man3/atan.3:57
697 msgid "B<atanf>(), B<atanl>():"
701 #: build/C/man3/atan.3:70
703 "The B<atan>() function calculates the principal value of the arc tangent of "
704 "I<x>; that is the value whose tangent is I<x>."
708 #: build/C/man3/atan.3:74
710 "On success, these functions return the principal value of the arc tangent of "
711 "I<x> in radians; the return value is in the range [-pi/2,\\ pi/2]."
715 #. POSIX.1-2001 documents an optional range error for subnormal x;
716 #. glibc 2.8 does not do this.
718 #: build/C/man3/atan.3:90
719 msgid "If I<x> is positive infinity (negative infinity), +pi/2 (-pi/2) is returned."
723 #: build/C/man3/atan.3:107
725 "B<acos>(3), B<asin>(3), B<atan2>(3), B<carg>(3), B<catan>(3), B<cos>(3), "
726 "B<sin>(3), B<tan>(3)"
730 #: build/C/man3/atan2.3:33
736 #: build/C/man3/atan2.3:36
737 msgid "atan2, atan2f, atan2l - arc tangent function of two variables"
741 #: build/C/man3/atan2.3:43
744 "B<double atan2(double >I<y>B<, double >I<x>B<);>\n"
745 "B<float atan2f(float >I<y>B<, float >I<x>B<);>\n"
746 "B<long double atan2l(long double >I<y>B<, long double >I<x>B<);>\n"
750 #: build/C/man3/atan2.3:55
751 msgid "B<atan2f>(), B<atan2l>():"
755 #: build/C/man3/atan2.3:70
757 "The B<atan2>() function calculates the principal value of the arc tangent "
758 "of I<y/x>, using the signs of the two arguments to determine the quadrant of "
763 #: build/C/man3/atan2.3:74
765 "On success, these functions return the principal value of the arc tangent of "
766 "I<y/x> in radians; the return value is in the range [-pi,\\ pi]."
770 #: build/C/man3/atan2.3:80
771 msgid "If I<y> is +0 (-0) and I<x> is less than 0, +pi (-pi) is returned."
775 #: build/C/man3/atan2.3:86
776 msgid "If I<y> is +0 (-0) and I<x> is greater than 0, +0 (-0) is returned."
780 #: build/C/man3/atan2.3:92
781 msgid "If I<y> is less than 0 and I<x> is +0 or -0, -pi/2 is returned."
785 #: build/C/man3/atan2.3:98
786 msgid "If I<y> is greater than 0 and I<x> is +0 or -0, pi/2 is returned."
792 #. is 0, a pole error shall not occur.
794 #: build/C/man3/atan2.3:109
795 msgid "If either I<x> or I<y> is NaN, a NaN is returned."
799 #. If the result underflows, a range error may occur and
801 #. should be returned.
803 #: build/C/man3/atan2.3:120
804 msgid "If I<y> is +0 (-0) and I<x> is -0, +pi (-pi) is returned."
808 #: build/C/man3/atan2.3:126
809 msgid "If I<y> is +0 (-0) and I<x> is +0, +0 (-0) is returned."
813 #: build/C/man3/atan2.3:132
815 "If I<y> is a finite value greater (less) than 0, and I<x> is negative "
816 "infinity, +pi (-pi) is returned."
820 #: build/C/man3/atan2.3:138
822 "If I<y> is a finite value greater (less) than 0, and I<x> is positive "
823 "infinity, +0 (-0) is returned."
827 #: build/C/man3/atan2.3:145
829 "If I<y> is positive infinity (negative infinity), and I<x> is finite, pi/2 "
830 "(-pi/2) is returned."
834 #: build/C/man3/atan2.3:151
836 "If I<y> is positive infinity (negative infinity) and I<x> is negative "
837 "infinity, +3*pi/4 (-3*pi/4) is returned."
842 #. If both arguments are 0, a domain error shall not occur.
844 #: build/C/man3/atan2.3:160
846 "If I<y> is positive infinity (negative infinity) and I<x> is positive "
847 "infinity, +pi/4 (-pi/4) is returned."
851 #: build/C/man3/atan2.3:178
853 "B<acos>(3), B<asin>(3), B<atan>(3), B<carg>(3), B<cos>(3), B<sin>(3), "
858 #: build/C/man3/atanh.3:33
864 #: build/C/man3/atanh.3:33 build/C/man3/cos.3:32 build/C/man3/lgamma.3:7 build/C/man3/sin.3:33 build/C/man3/tan.3:33
870 #: build/C/man3/atanh.3:36
871 msgid "atanh, atanhf, atanhl - inverse hyperbolic tangent function"
875 #: build/C/man3/atanh.3:41
877 msgid "B<double atanh(double >I<x>B<);>\n"
881 #: build/C/man3/atanh.3:43
883 msgid "B<float atanhf(float >I<x>B<);>\n"
887 #: build/C/man3/atanh.3:45
889 msgid "B<long double atanhl(long double >I<x>B<);>\n"
893 #: build/C/man3/atanh.3:56
898 #: build/C/man3/atanh.3:67
899 msgid "B<atanhf>(), B<atanhl>():"
903 #: build/C/man3/atanh.3:80
905 "The B<atanh>() function calculates the inverse hyperbolic tangent of I<x>; "
906 "that is the value whose hyperbolic tangent is I<x>."
910 #: build/C/man3/atanh.3:83
911 msgid "On success, these functions return the inverse hyperbolic tangent of I<x>."
915 #: build/C/man3/atanh.3:102
917 "If I<x> is +1 or -1, a pole error occurs, and the functions return "
918 "B<HUGE_VAL>, B<HUGE_VALF>, or B<HUGE_VALL>, respectively, with the "
919 "mathematically correct sign."
923 #. POSIX.1-2001 documents an optional range error for subnormal x;
924 #. glibc 2.8 does not do this.
926 #: build/C/man3/atanh.3:111
928 "If the absolute value of I<x> is greater than 1, a domain error occurs, and "
933 #: build/C/man3/atanh.3:118
935 msgid "Domain error: I<x> less than -1 or greater than +1"
939 #: build/C/man3/atanh.3:126
941 msgid "Pole error: I<x> is +1 or -1"
945 #: build/C/man3/atanh.3:135 build/C/man3/lgamma.3:140 build/C/man3/pow.3:295
947 "I<errno> is set to B<ERANGE> (but see BUGS). A divide-by-zero "
948 "floating-point exception (B<FE_DIVBYZERO>) is raised."
952 #: build/C/man3/atanh.3:141 build/C/man3/cos.3:104 build/C/man3/cosh.3:121 build/C/man3/expm1.3:135 build/C/man3/fenv.3:311 build/C/man3/fmod.3:130 build/C/man3/j0.3:150 build/C/man3/lgamma.3:159 build/C/man3/log.3:131 build/C/man3/nextafter.3:167 build/C/man3/pow.3:317 build/C/man3/remainder.3:202 build/C/man3/sin.3:108 build/C/man3/tan.3:133 build/C/man3/tgamma.3:162 build/C/man3/y0.3:221
957 #. Bug: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6759
958 #. This can be seen in sysdeps/ieee754/k_standard.c
960 #: build/C/man3/atanh.3:152
962 "In glibc 2.9 and earlier, when a pole error occurs, I<errno> as set to "
963 "B<EDOM> instead of the POSIX-mandated B<ERANGE>. Since version 2.10, glibc "
964 "does the right thing."
968 #: build/C/man3/atanh.3:159
969 msgid "B<acosh>(3), B<asinh>(3), B<catanh>(3), B<cosh>(3), B<sinh>(3), B<tanh>(3)"
973 #: build/C/man3/cbrt.3:28
979 #: build/C/man3/cbrt.3:31
980 msgid "cbrt, cbrtf, cbrtl - cube root function"
984 #: build/C/man3/cbrt.3:36
986 msgid "B<double cbrt(double >I<x>B<);>\n"
990 #: build/C/man3/cbrt.3:38
992 msgid "B<float cbrtf(float >I<x>B<);>\n"
996 #: build/C/man3/cbrt.3:40
998 msgid "B<long double cbrtl(long double >I<x>B<);>\n"
1002 #: build/C/man3/cbrt.3:51
1007 #: build/C/man3/cbrt.3:62
1008 msgid "B<cbrtf>(), B<cbrtl>():"
1012 #: build/C/man3/cbrt.3:65
1014 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1015 "_ISOC99_SOURCE || _POSIX_C_SOUCE\\ E<gt>=\\ 200112L;"
1019 #: build/C/man3/cbrt.3:76
1021 "The B<cbrt>() function returns the (real) cube root of I<x>. This function "
1022 "cannot fail; every representable real value has a representable real cube "
1027 #: build/C/man3/cbrt.3:79
1028 msgid "These functions return the cube root of I<x>."
1032 #: build/C/man3/cbrt.3:85
1034 "If I<x> is +0, -0, positive infinity, negative infinity, or NaN, I<x> is "
1039 #: build/C/man3/cbrt.3:91 build/C/man3/expm1.3:135 build/C/man3/fdim.3:80 build/C/man3/fma.3:154 build/C/man3/fmax.3:57 build/C/man3/fmin.3:57 build/C/man3/ilogb.3:146 build/C/man3/isgreater.3:89 build/C/man3/log1p.3:141 build/C/man3/logb.3:143 build/C/man3/lrint.3:109 build/C/man3/lround.3:112 build/C/man3/remquo.3:121 build/C/man3/rint.3:113 build/C/man3/round.3:83 build/C/man3/scalbln.3:155 build/C/man3/tgamma.3:155 build/C/man3/trunc.3:69
1040 msgid "C99, POSIX.1-2001."
1044 #: build/C/man3/cbrt.3:94
1045 msgid "B<pow>(3), B<sqrt>(3)"
1049 #: build/C/man3/ceil.3:25
1055 #: build/C/man3/ceil.3:29
1057 "ceil, ceilf, ceill - ceiling function: smallest integral value not less than "
1062 #: build/C/man3/ceil.3:34
1064 msgid "B<double ceil(double >I<x>B<);>\n"
1068 #: build/C/man3/ceil.3:36
1070 msgid "B<float ceilf(float >I<x>B<);>\n"
1074 #: build/C/man3/ceil.3:38
1076 msgid "B<long double ceill(long double >I<x>B<);>\n"
1080 #: build/C/man3/ceil.3:50
1081 msgid "B<ceilf>(), B<ceill>():"
1085 #: build/C/man3/ceil.3:61
1087 "These functions return the smallest integral value that is not less than "
1092 #: build/C/man3/ceil.3:67
1093 msgid "For example, I<ceil(0.5)> is 1.0, and I<ceil(-0.5)> is 0.0."
1097 #: build/C/man3/ceil.3:70
1098 msgid "These functions return the ceiling of I<x>."
1102 #: build/C/man3/ceil.3:73 build/C/man3/rint.3:108 build/C/man3/round.3:76
1103 msgid "If I<x> is integral, +0, -0, NaN, or infinite, I<x> itself is returned."
1107 #: build/C/man3/ceil.3:76 build/C/man3/floor.3:75 build/C/man3/rint.3:111 build/C/man3/round.3:79
1109 "No errors occur. POSIX.1-2001 documents a range error for overflows, but "
1114 #: build/C/man3/ceil.3:98 build/C/man3/floor.3:97 build/C/man3/rint.3:128
1116 "SUSv2 and POSIX.1-2001 contain text about overflow (which might set I<errno> "
1117 "to B<ERANGE>, or raise an B<FE_OVERFLOW> exception). In practice, the "
1118 "result cannot overflow on any current machine, so this error-handling stuff "
1119 "is just nonsense. (More precisely, overflow can happen only when the "
1120 "maximum value of the exponent is smaller than the number of mantissa bits. "
1121 "For the IEEE-754 standard 32-bit and 64-bit floating-point numbers the "
1122 "maximum value of the exponent is 128 (respectively, 1024), and the number of "
1123 "mantissa bits is 24 (respectively, 53).)"
1127 #: build/C/man3/ceil.3:107 build/C/man3/trunc.3:78
1129 "The integral value returned by these functions may be too large to store in "
1130 "an integer type (I<int>, I<long>, etc.). To avoid an overflow, which will "
1131 "produce undefined results, an application should perform a range check on "
1132 "the returned value before assigning it to an integer type."
1136 #: build/C/man3/ceil.3:114
1138 "B<floor>(3), B<lrint>(3), B<nearbyint>(3), B<rint>(3), B<round>(3), "
1143 #: build/C/man3/copysign.3:29
1149 #: build/C/man3/copysign.3:32
1150 msgid "copysign, copysignf, copysignl - copy sign of a number"
1154 #: build/C/man3/copysign.3:37
1156 msgid "B<double copysign(double >I<x>B<, double >I<y>B<);>\n"
1160 #: build/C/man3/copysign.3:39
1162 msgid "B<float copysignf(float >I<x>B<, float >I<y>B<);>\n"
1166 #: build/C/man3/copysign.3:41
1168 msgid "B<long double copysignl(long double >I<x>B<, long double >I<y>B<);>\n"
1172 #: build/C/man3/copysign.3:54
1173 msgid "B<copysign>(), B<copysignf>(), B<copysignl>():"
1177 #: build/C/man3/copysign.3:57
1179 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1180 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1184 #: build/C/man3/copysign.3:67
1186 "The B<copysign>() functions return a value whose absolute value matches "
1187 "that of I<x>, but whose sign bit matches that of I<y>."
1191 #: build/C/man3/copysign.3:72
1193 "On success, these functions return a value whose magnitude is taken from "
1194 "I<x> and whose sign is taken from I<y>."
1198 #: build/C/man3/copysign.3:75
1199 msgid "If I<x> is a NaN, a NaN with the sign bit of I<y> is returned."
1203 #: build/C/man3/copysign.3:82 build/C/man3/nextafter.3:167 build/C/man3/signbit.3:60
1205 "C99, POSIX.1-2001. This function is defined in IEC 559 (and the appendix "
1206 "with recommended functions in IEEE 754/IEEE 854)."
1210 #: build/C/man3/copysign.3:87
1212 "On architectures where the floating-point formats are not IEEE 754 "
1213 "compliant, the B<copysign>() functions may treat a negative zero as "
1218 #: build/C/man3/copysign.3:89
1219 msgid "B<signbit>(3)"
1223 #: build/C/man3/cos.3:32
1229 #: build/C/man3/cos.3:35
1230 msgid "cos, cosf, cosl - cosine function"
1234 #: build/C/man3/cos.3:40
1236 msgid "B<double cos(double >I<x>B<);>\n"
1240 #: build/C/man3/cos.3:42
1242 msgid "B<float cosf(float >I<x>B<);>\n"
1246 #: build/C/man3/cos.3:44
1248 msgid "B<long double cosl(long double >I<x>B<);>\n"
1252 #: build/C/man3/cos.3:56
1253 msgid "B<cosf>(), B<cosl>():"
1257 #: build/C/man3/cos.3:69
1259 "The B<cos>() function returns the cosine of I<x>, where I<x> is given in "
1264 #: build/C/man3/cos.3:72
1265 msgid "On success, these functions return the cosine of I<x>."
1269 #: build/C/man3/cos.3:89 build/C/man3/fmod.3:111 build/C/man3/ilogb.3:128 build/C/man3/sin.3:93 build/C/man3/sincos.3:56 build/C/man3/tan.3:108
1271 msgid "Domain error: I<x> is an infinity"
1275 #: build/C/man3/cos.3:98 build/C/man3/fmod.3:120 build/C/man3/sin.3:102 build/C/man3/tan.3:117
1277 "I<errno> is set to B<EDOM> (but see BUGS). An invalid floating-point "
1278 "exception (B<FE_INVALID>) is raised."
1282 #: build/C/man3/cos.3:104 build/C/man3/cosh.3:121 build/C/man3/erf.3:128 build/C/man3/erfc.3:126 build/C/man3/hypot.3:162 build/C/man3/log2.3:94
1284 "C99, POSIX.1-2001. The variant returning I<double> also conforms to SVr4, "
1288 #. http://sourceware.org/bugzilla/show_bug.cgi?id=6782
1290 #: build/C/man3/cos.3:111 build/C/man3/sin.3:115 build/C/man3/tan.3:140
1292 "Before version 2.10, the glibc implementation did not set I<errno> to "
1293 "B<EDOM> when a domain error occurred."
1297 #: build/C/man3/cos.3:120
1299 "B<acos>(3), B<asin>(3), B<atan>(3), B<atan2>(3), B<ccos>(3), B<sin>(3), "
1300 "B<sincos>(3), B<tan>(3)"
1304 #: build/C/man3/cosh.3:34
1310 #: build/C/man3/cosh.3:37
1311 msgid "cosh, coshf, coshl - hyperbolic cosine function"
1315 #: build/C/man3/cosh.3:42
1317 msgid "B<double cosh(double >I<x>B<);>\n"
1321 #: build/C/man3/cosh.3:44
1323 msgid "B<float coshf(float >I<x>B<);>\n"
1327 #: build/C/man3/cosh.3:46
1329 msgid "B<long double coshl(long double >I<x>B<);>\n"
1333 #: build/C/man3/cosh.3:58
1334 msgid "B<coshf>(), B<coshl>():"
1338 #: build/C/man3/cosh.3:71
1340 "The B<cosh>() function returns the hyperbolic cosine of I<x>, which is "
1341 "defined mathematically as:"
1345 #: build/C/man3/cosh.3:74
1347 msgid " cosh(x) = (exp(x) + exp(-x)) / 2\n"
1351 #: build/C/man3/cosh.3:78
1352 msgid "On success, these functions return the hyperbolic cosine of I<x>."
1356 #: build/C/man3/cosh.3:86 build/C/man3/erfc.3:81
1357 msgid "If I<x> is +0 or -0, 1 is returned."
1361 #: build/C/man3/cosh.3:91 build/C/man3/lgamma.3:103
1363 "If I<x> is positive infinity or negative infinity, positive infinity is "
1368 #: build/C/man3/cosh.3:100 build/C/man3/exp.3:102
1370 "If the result overflows, a range error occurs, and the functions return "
1371 "+B<HUGE_VAL>, +B<HUGE_VALF>, or +B<HUGE_VALL>, respectively."
1375 #: build/C/man3/cosh.3:107 build/C/man3/fdim.3:63 build/C/man3/fma.3:129 build/C/man3/hypot.3:133 build/C/man3/lgamma.3:140 build/C/man3/nextafter.3:140 build/C/man3/sinh.3:112 build/C/man3/tan.3:117 build/C/man3/tgamma.3:123 build/C/man3/y0.3:202
1377 msgid "Range error: result overflow"
1381 #: build/C/man3/cosh.3:115 build/C/man3/exp.3:117 build/C/man3/hypot.3:141 build/C/man3/ldexp.3:119 build/C/man3/lgamma.3:150 build/C/man3/pow.3:303 build/C/man3/sinh.3:120 build/C/man3/tgamma.3:131
1383 "I<errno> is set to B<ERANGE>. An overflow floating-point exception "
1384 "(B<FE_OVERFLOW>) is raised."
1388 #: build/C/man3/cosh.3:126
1390 "In glibc version 2.3.4 and earlier, an overflow floating-point "
1391 "(B<FE_OVERFLOW>) exception is not raised when an overflow occurs."
1395 #: build/C/man3/cosh.3:133
1396 msgid "B<acosh>(3), B<asinh>(3), B<atanh>(3), B<ccos>(3), B<sinh>(3), B<tanh>(3)"
1400 #: build/C/man3/div.3:32
1406 #: build/C/man3/div.3:36
1408 "div, ldiv, lldiv, imaxdiv - compute quotient and remainder of an integer "
1413 #: build/C/man3/div.3:41
1415 msgid "B<div_t div(int >I<numerator>B<, int >I<denominator>B<);>\n"
1419 #: build/C/man3/div.3:43
1421 msgid "B<ldiv_t ldiv(long >I<numerator>B<, long >I<denominator>B<);>\n"
1425 #: build/C/man3/div.3:45
1427 msgid "B<lldiv_t lldiv(long long >I<numerator>B<, long long >I<denominator>B<);>\n"
1431 #: build/C/man3/div.3:49
1434 "B<imaxdiv_t imaxdiv(intmax_t >I<numerator>B<, intmax_t "
1435 ">I<denominator>B<);>\n"
1439 #: build/C/man3/div.3:58
1444 #: build/C/man3/div.3:76
1446 "The B<div>() function computes the value I<numerator>/I<denominator> and "
1447 "returns the quotient and remainder in a structure named I<div_t> that "
1448 "contains two integer members (in unspecified order) named I<quot> and "
1449 "I<rem>. The quotient is rounded toward zero. The result satisfies "
1450 "I<quot>*I<denominator>+I<rem> = I<numerator>."
1454 #: build/C/man3/div.3:87
1456 "The B<ldiv>(), B<lldiv>(), and B<imaxdiv>() functions do the same, dividing "
1457 "numbers of the indicated type and returning the result in a structure of the "
1458 "indicated name, in all cases with fields I<quot> and I<rem> of the same type "
1459 "as the function arguments."
1463 #: build/C/man3/div.3:89
1464 msgid "The I<div_t> (etc.) structure."
1468 #: build/C/man3/div.3:96
1470 "SVr4, 4.3BSD, C89. The functions B<lldiv>() and B<imaxdiv>() were added "
1475 #: build/C/man3/div.3:96 build/C/man3/frexp.3:102 build/C/man3/matherr.3:273 build/C/man3/remainder.3:211
1481 #: build/C/man3/div.3:98
1486 #: build/C/man3/div.3:101
1488 msgid " div_t q = div(-5, 3);\n"
1492 #: build/C/man3/div.3:104
1493 msgid "the values I<q.quot> and I<q.rem> are -1 and -2, respectively."
1497 #: build/C/man3/div.3:107
1498 msgid "B<abs>(3), B<remainder>(3)"
1502 #: build/C/man3/erf.3:33
1508 #: build/C/man3/erf.3:36
1509 msgid "erf, erff, erfl, - error function"
1513 #: build/C/man3/erf.3:43
1516 "B<double erf(double >I<x>B<);>\n"
1517 "B<float erff(float >I<x>B<);>\n"
1518 "B<long double erfl(long double >I<x>B<);>\n"
1522 #: build/C/man3/erf.3:54
1527 #: build/C/man3/erf.3:57 build/C/man3/erfc.3:48 build/C/man3/fpclassify.3:49 build/C/man3/hypot.3:57 build/C/man3/lgamma.3:42
1529 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE || _ISOC99_SOURCE || "
1530 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1534 #: build/C/man3/erf.3:64
1535 msgid "B<erff>(), B<erfl>():"
1539 #: build/C/man3/erf.3:77
1540 msgid "The B<erf>() function returns the error function of I<x>, defined as"
1544 #: build/C/man3/erf.3:77
1546 msgid " erf(x) = 2/sqrt(pi)* integral from 0 to x of exp(-t*t) dt"
1550 #: build/C/man3/erf.3:83
1552 "On success, these functions return the error function of I<x>, a value in "
1553 "the range [-1,\\ 1]."
1557 #. POSIX.1-2001 documents an optional range error (underflow)
1559 #. glibc 2.8 does not do this.
1561 #: build/C/man3/erf.3:96 build/C/man3/tanh.3:94
1562 msgid "If I<x> is positive infinity (negative infinity), +1 (-1) is returned."
1566 #: build/C/man3/erf.3:102
1568 "If I<x> is subnormal, a range error occurs, and the return value is "
1573 #: build/C/man3/erf.3:109
1575 msgid "Range error: result underflow (I<x> is subnormal)"
1578 #. e.g., tgamma(-172.5) on glibc 2.8/x86-32
1583 #: build/C/man3/erf.3:117 build/C/man3/erfc.3:115 build/C/man3/fma.3:145 build/C/man3/hypot.3:149 build/C/man3/nextafter.3:158 build/C/man3/scalb.3:164 build/C/man3/scalbln.3:146 build/C/man3/tgamma.3:143
1584 msgid "An underflow floating-point exception (B<FE_UNDERFLOW>) is raised."
1587 #. FIXME . Is it intentional that these functions do not set errno?
1588 #. sin() and cos() also don't set errno; bugs have been raised for
1591 #: build/C/man3/erf.3:122 build/C/man3/erfc.3:120 build/C/man3/fdim.3:76 build/C/man3/fma.3:150 build/C/man3/log1p.3:138 build/C/man3/logb.3:141 build/C/man3/lrint.3:105 build/C/man3/lround.3:108 build/C/man3/nextafter.3:163 build/C/man3/remquo.3:117 build/C/man3/scalb.3:170 build/C/man3/scalbln.3:151 build/C/man3/sincos.3:70
1592 msgid "These functions do not set I<errno>."
1596 #: build/C/man3/erf.3:132
1597 msgid "B<cerf>(3), B<erfc>(3), B<exp>(3)"
1601 #: build/C/man3/erfc.3:24
1607 #: build/C/man3/erfc.3:27
1608 msgid "erfc, erfcf, erfcl - complementary error function"
1612 #: build/C/man3/erfc.3:34
1615 "B<double erfc(double >I<x>B<);>\n"
1616 "B<float erfcf(float >I<x>B<);>\n"
1617 "B<long double erfcl(long double >I<x>B<);>\n"
1621 #: build/C/man3/erfc.3:45
1626 #: build/C/man3/erfc.3:55
1627 msgid "B<erfcf>(), B<erfcl>():"
1631 #: build/C/man3/erfc.3:58
1633 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600|| _ISOC99_SOURCE "
1634 "|| _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1638 #: build/C/man3/erfc.3:69
1640 "The B<erfc>() function returns the complementary error function of I<x>, "
1641 "that is, 1.0 - erf(x)."
1645 #: build/C/man3/erfc.3:73
1647 "On success, these functions return the complementary error function of I<x>, "
1648 "a value in the range [0,2]."
1652 #: build/C/man3/erfc.3:86
1653 msgid "If I<x> is positive infinity, +0 is returned."
1657 #: build/C/man3/erfc.3:91
1658 msgid "If I<x> is negative infinity, +2 is returned."
1662 #: build/C/man3/erfc.3:94
1664 "If the function result underflows and produces an unrepresentable value, the "
1665 "return value is 0.0."
1668 #. e.g., erfc(27) on x86-32
1670 #: build/C/man3/erfc.3:100
1672 "If the function result underflows but produces a representable (i.e., "
1673 "subnormal) value, that value is returned, and a range error occurs."
1677 #: build/C/man3/erfc.3:107
1679 msgid "Range error: result underflow (result is subnormal)"
1683 #: build/C/man3/erfc.3:133
1685 "The B<erfc>() functions are provided to avoid the loss accuracy that would "
1686 "occur for the calculation 1-erf(x) for large values of I<x> (for which the "
1687 "value of erf(x) approaches 1)."
1691 #: build/C/man3/erfc.3:137
1692 msgid "B<cerf>(3), B<erf>(3), B<exp>(3)"
1696 #: build/C/man3/exp.3:34
1702 #: build/C/man3/exp.3:37
1703 msgid "exp, expf, expl - base-e exponential function"
1707 #: build/C/man3/exp.3:42
1709 msgid "B<double exp(double >I<x>B<);>\n"
1713 #: build/C/man3/exp.3:44
1715 msgid "B<float expf(float >I<x>B<);>\n"
1719 #: build/C/man3/exp.3:46
1721 msgid "B<long double expl(long double >I<x>B<);>\n"
1725 #: build/C/man3/exp.3:58
1726 msgid "B<expf>(), B<expl>():"
1730 #: build/C/man3/exp.3:71
1732 "The B<exp>() function returns the value of e (the base of natural "
1733 "logarithms) raised to the power of I<x>."
1737 #: build/C/man3/exp.3:74
1738 msgid "On success, these functions return the exponential value of I<x>."
1742 #: build/C/man3/exp.3:89
1743 msgid "If I<x> is negative infinity, +0 is returned."
1747 #: build/C/man3/exp.3:93 build/C/man3/ldexp.3:94
1748 msgid "If the result underflows, a range error occurs, and zero is returned."
1752 #: build/C/man3/exp.3:109 build/C/man3/expm1.3:120 build/C/man3/ldexp.3:111 build/C/man3/scalb.3:148 build/C/man3/scalbln.3:130
1754 msgid "Range error, overflow"
1758 #: build/C/man3/exp.3:117 build/C/man3/ldexp.3:119 build/C/man3/scalb.3:156 build/C/man3/scalbln.3:138
1760 msgid "Range error, underflow"
1764 #: build/C/man3/exp.3:125 build/C/man3/ldexp.3:127 build/C/man3/pow.3:311
1766 "I<errno> is set to B<ERANGE>. An underflow floating-point exception "
1767 "(B<FE_UNDERFLOW>) is raised."
1771 #: build/C/man3/exp.3:137
1772 msgid "B<cbrt>(3), B<cexp>(3), B<exp10>(3), B<exp2>(3), B<sqrt>(3)"
1776 #: build/C/man3/exp10.3:33
1782 #: build/C/man3/exp10.3:33 build/C/man7/math_error.7:24 build/C/man3/pow10.3:23 build/C/man3/sincos.3:6
1788 #: build/C/man3/exp10.3:36
1789 msgid "exp10, exp10f, exp10l - base-10 exponential function"
1793 #: build/C/man3/exp10.3:39 build/C/man3/fenv.3:289
1795 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
1799 #: build/C/man3/exp10.3:43
1801 msgid "B<double exp10(double >I<x>B<);>\n"
1805 #: build/C/man3/exp10.3:45
1807 msgid "B<float exp10f(float >I<x>B<);>\n"
1811 #: build/C/man3/exp10.3:47
1813 msgid "B<long double exp10l(long double >I<x>B<);>\n"
1817 #: build/C/man3/exp10.3:55
1819 "The B<exp10>() function returns the value of 10 raised to the power of "
1824 #: build/C/man3/exp10.3:58
1825 msgid "On success, these functions return the base-10 exponential value of I<x>."
1829 #: build/C/man3/exp10.3:62 build/C/man3/exp2.3:78
1831 "For various special cases, including the handling of infinity and NaN, as "
1832 "well as overflows and underflows, see B<exp>(3)."
1836 #: build/C/man3/exp10.3:72 build/C/man3/exp2.3:86
1838 "For a discussion of the errors that can occur for these functions, see "
1843 #: build/C/man3/exp10.3:72 build/C/man3/exp2.3:86 build/C/man3/fdim.3:76 build/C/man3/fenv.3:262 build/C/man3/fma.3:150 build/C/man3/fmax.3:53 build/C/man3/fmin.3:53 build/C/man3/log2.3:86 build/C/man3/lrint.3:105 build/C/man3/lround.3:108 build/C/man3/nan.3:68 build/C/man3/pow10.3:44 build/C/man3/remquo.3:117 build/C/man3/round.3:79 build/C/man3/scalbln.3:151 build/C/man3/sincos.3:70 build/C/man3/tgamma.3:151 build/C/man3/trunc.3:65
1849 #: build/C/man3/exp10.3:74 build/C/man3/exp2.3:88 build/C/man3/fdim.3:78 build/C/man3/fenv.3:264 build/C/man3/fma.3:152 build/C/man3/fmax.3:55 build/C/man3/fmin.3:55 build/C/man3/log2.3:88 build/C/man3/lrint.3:107 build/C/man3/lround.3:110 build/C/man3/nan.3:70 build/C/man3/pow10.3:46 build/C/man3/remquo.3:119 build/C/man3/round.3:81 build/C/man3/scalbln.3:153 build/C/man3/sincos.3:72 build/C/man3/tgamma.3:153 build/C/man3/trunc.3:67
1850 msgid "These functions first appeared in glibc in version 2.1."
1854 #: build/C/man3/exp10.3:76
1855 msgid "These functions are GNU extensions."
1859 #: build/C/man3/exp10.3:82
1860 msgid "B<cbrt>(3), B<exp>(3), B<exp2>(3), B<log10>(3), B<sqrt>(3)"
1864 #: build/C/man3/exp2.3:34
1870 #: build/C/man3/exp2.3:37
1871 msgid "exp2, exp2f, exp2l - base-2 exponential function"
1875 #: build/C/man3/exp2.3:42
1877 msgid "B<double exp2(double >I<x>B<);>\n"
1881 #: build/C/man3/exp2.3:44
1883 msgid "B<float exp2f(float >I<x>B<);>\n"
1887 #: build/C/man3/exp2.3:46
1889 msgid "B<long double exp2l(long double >I<x>B<);>\n"
1893 #: build/C/man3/exp2.3:59
1894 msgid "B<exp2>(), B<exp2f>(), B<exp2l>():"
1898 #: build/C/man3/exp2.3:71
1899 msgid "The B<exp2>() function returns the value of 2 raised to the power of I<x>."
1903 #: build/C/man3/exp2.3:74
1904 msgid "On success, these functions return the base-2 exponential value of I<x>."
1908 #: build/C/man3/exp2.3:100
1909 msgid "B<cbrt>(3), B<cexp2>(3), B<exp>(3), B<exp10>(3), B<sqrt>(3)"
1913 #: build/C/man3/expm1.3:28
1919 #: build/C/man3/expm1.3:28 build/C/man3/log2.3:34 build/C/man3/pow.3:33
1925 #: build/C/man3/expm1.3:31
1926 msgid "expm1, expm1f, expm1l - exponential minus 1"
1930 #: build/C/man3/expm1.3:36
1932 msgid "B<double expm1(double >I<x>B<);>\n"
1936 #: build/C/man3/expm1.3:38
1938 msgid "B<float expm1f(float >I<x>B<);>\n"
1942 #: build/C/man3/expm1.3:40
1944 msgid "B<long double expm1l(long double >I<x>B<);>\n"
1948 #: build/C/man3/expm1.3:51
1953 #: build/C/man3/expm1.3:62
1954 msgid "B<expm1f>(), B<expm1l>():"
1958 #: build/C/man3/expm1.3:73
1959 msgid "I<expm1(x)> returns a value equivalent to"
1963 #: build/C/man3/expm1.3:76
1965 msgid " exp(x) - 1\n"
1969 #: build/C/man3/expm1.3:84
1971 "It is computed in a way that is accurate even if the value of I<x> is near "
1972 "zero\\(ema case where I<exp(x) - 1> would be inaccurate due to subtraction "
1973 "of two numbers that are nearly equal."
1977 #: build/C/man3/expm1.3:87
1978 msgid "On success, these functions return I<exp(x)\\ -\\ 1>."
1982 #: build/C/man3/expm1.3:105
1983 msgid "If I<x> is negative infinity, -1 is returned."
1987 #: build/C/man3/expm1.3:113
1989 "If the result overflows, a range error occurs, and the functions return "
1990 "-B<HUGE_VAL>, -B<HUGE_VALF>, or -B<HUGE_VALL>, respectively."
1994 #. POSIX.1 specifies an optional range error (underflow) if
1995 #. x is subnormal. Glibc does not implement this.
1997 #: build/C/man3/expm1.3:132
1999 "I<errno> is set to B<ERANGE> (but see BUGS). An overflow floating-point "
2000 "exception (B<FE_OVERFLOW>) is raised."
2004 #. Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6778
2006 #: build/C/man3/expm1.3:143
2008 "For some large negative I<x> values (where the function result approaches "
2009 "-1), B<expm1>() raises a bogus underflow floating-point exception."
2013 #. Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6814
2014 #. e.g., expm1(1e5) through expm1(1.00199970127e5),
2015 #. but not expm1(1.00199970128e5) and beyond.
2017 #: build/C/man3/expm1.3:154
2019 "For some large positive I<x> values, B<expm1>() raises a bogus invalid "
2020 "floating-point exception in addition to the expected overflow exception, and "
2021 "returns a NaN instead of positive infinity."
2024 #. It looks like the fix was in 2.11, or possibly 2.12.
2025 #. I have no test system for 2.11, but 2.12 passes.
2026 #. From the source (sysdeps/i386/fpu/s_expm1.S) it looks
2027 #. like the changes were in 2.11.
2028 #. http://sources.redhat.com/bugzilla/show_bug.cgi?id=6788
2030 #: build/C/man3/expm1.3:166
2032 "Before version 2.11, the glibc implementation did not set I<errno> to "
2033 "B<ERANGE> when a range error occurred."
2037 #: build/C/man3/expm1.3:170
2038 msgid "B<exp>(3), B<log>(3), B<log1p>(3)"
2042 #: build/C/man3/fabs.3:30
2048 #: build/C/man3/fabs.3:33
2049 msgid "fabs, fabsf, fabsl - absolute value of floating-point number"
2053 #: build/C/man3/fabs.3:38
2055 msgid "B<double fabs(double >I<x>B<);>\n"
2059 #: build/C/man3/fabs.3:40
2061 msgid "B<float fabsf(float >I<x>B<);>\n"
2065 #: build/C/man3/fabs.3:42
2067 msgid "B<long double fabsl(long double >I<x>B<);>\n"
2071 #: build/C/man3/fabs.3:54
2072 msgid "B<fabsf>(), B<fabsl>():"
2076 #: build/C/man3/fabs.3:67
2078 "The B<fabs>() functions return the absolute value of the floating-point "
2083 #: build/C/man3/fabs.3:70
2084 msgid "These functions return the absolute value of I<x>."
2088 #: build/C/man3/fabs.3:78
2089 msgid "If I<x> is -0, +0 is returned."
2093 #: build/C/man3/fabs.3:82
2095 "If I<x> is negative infinity or positive infinity, positive infinity is "
2100 #: build/C/man3/fabs.3:97
2101 msgid "B<abs>(3), B<cabs>(3), B<ceil>(3), B<floor>(3), B<labs>(3), B<rint>(3)"
2105 #: build/C/man3/fdim.3:6
2111 #: build/C/man3/fdim.3:9
2112 msgid "fdim, fdimf, fdiml - positive difference"
2116 #: build/C/man3/fdim.3:11 build/C/man3/fmax.3:11 build/C/man3/fmin.3:11 build/C/man3/gamma.3:11 build/C/man3/ilogb.3:32 build/C/man3/logb.3:32 build/C/man3/nan.3:11 build/C/man3/nextafter.3:12 build/C/man3/scalb.3:31 build/C/man3/scalbln.3:31 build/C/man3/signbit.3:11 build/C/man3/significand.3:10 build/C/man3/tgamma.3:13
2117 msgid "B<#include E<lt>math.hE<gt>>"
2121 #: build/C/man3/fdim.3:13
2122 msgid "B<double fdim(double >I<x>B<, double >I<y>B<);>"
2126 #: build/C/man3/fdim.3:15
2127 msgid "B<float fdimf(float >I<x>B<, float >I<y>B<);>"
2131 #: build/C/man3/fdim.3:17
2132 msgid "B<long double fdiml(long double >I<x>B<, long double >I<y>B<);>"
2136 #: build/C/man3/fdim.3:28
2137 msgid "B<fdimf>(), B<fdiml>():"
2141 #: build/C/man3/fdim.3:39
2143 "These functions return the positive difference, max(I<x>-I<y>,0), between "
2148 #: build/C/man3/fdim.3:41
2149 msgid "On success, these functions return the positive difference."
2153 #: build/C/man3/fdim.3:47 build/C/man3/fma.3:59 build/C/man3/fmod.3:86 build/C/man3/nextafter.3:111 build/C/man3/remainder.3:128 build/C/man3/remquo.3:78
2154 msgid "If I<x> or I<y> is a NaN, a NaN is returned."
2158 #: build/C/man3/fdim.3:56 build/C/man3/hypot.3:120
2160 "If the result overflows, a range error occurs, and the functions return "
2161 "B<HUGE_VAL>, B<HUGE_VALF>, or B<HUGE_VALL>, respectively."
2164 #. Unable to test this case, since the best approximation of
2165 #. pi/2 in double precision only yields a tan() value of 1.633e16.
2170 #: build/C/man3/fdim.3:71 build/C/man3/fma.3:137 build/C/man3/nextafter.3:149 build/C/man3/scalb.3:156 build/C/man3/scalbln.3:138 build/C/man3/tan.3:127
2171 msgid "An overflow floating-point exception (B<FE_OVERFLOW>) is raised."
2175 #: build/C/man3/fdim.3:82 build/C/man3/fmin.3:59
2180 #: build/C/man3/fenv.3:26
2186 #: build/C/man3/fenv.3:26
2192 #: build/C/man3/fenv.3:26 build/C/man7/math_error.7:24 build/C/man3/matherr.3:25
2198 #: build/C/man3/fenv.3:32
2200 "feclearexcept, fegetexceptflag, feraiseexcept, fesetexceptflag, "
2201 "fetestexcept, fegetenv, fegetround, feholdexcept, fesetround, fesetenv, "
2202 "feupdateenv, feenableexcept, fedisableexcept, fegetexcept - floating-point "
2203 "rounding and exception handling"
2207 #: build/C/man3/fenv.3:35 build/C/man3/fenv.3:291
2209 msgid "B<#include E<lt>fenv.hE<gt>>\n"
2213 #: build/C/man3/fenv.3:37
2215 msgid "B<int feclearexcept(int >I<excepts>B<);>\n"
2219 #: build/C/man3/fenv.3:39
2221 msgid "B<int fegetexceptflag(fexcept_t *>I<flagp>B<, int >I<excepts>B<);>\n"
2225 #: build/C/man3/fenv.3:41
2227 msgid "B<int feraiseexcept(int >I<excepts>B<);>\n"
2231 #: build/C/man3/fenv.3:43
2233 msgid "B<int fesetexceptflag(const fexcept_t *>I<flagp>B<, int >I<excepts>B<);>\n"
2237 #: build/C/man3/fenv.3:45
2239 msgid "B<int fetestexcept(int >I<excepts>B<);>\n"
2243 #: build/C/man3/fenv.3:47
2245 msgid "B<int fegetround(void);>\n"
2249 #: build/C/man3/fenv.3:49
2251 msgid "B<int fesetround(int >I<rounding_mode>B<);>\n"
2255 #: build/C/man3/fenv.3:51
2257 msgid "B<int fegetenv(fenv_t *>I<envp>B<);>\n"
2261 #: build/C/man3/fenv.3:53
2263 msgid "B<int feholdexcept(fenv_t *>I<envp>B<);>\n"
2267 #: build/C/man3/fenv.3:55
2269 msgid "B<int fesetenv(const fenv_t *>I<envp>B<);>\n"
2273 #: build/C/man3/fenv.3:57
2275 msgid "B<int feupdateenv(const fenv_t *>I<envp>B<);>\n"
2279 #: build/C/man3/fenv.3:63
2281 "These eleven functions were defined in C99, and describe the handling of "
2282 "floating-point rounding and exceptions (overflow, zero-divide etc.)."
2286 #: build/C/man3/fenv.3:63
2292 #: build/C/man3/fenv.3:68
2294 "The I<divide-by-zero> exception occurs when an operation on finite numbers "
2295 "produces infinity as exact answer."
2299 #: build/C/man3/fenv.3:74
2301 "The I<overflow> exception occurs when a result has to be represented as a "
2302 "floating-point number, but has (much) larger absolute value than the largest "
2303 "(finite) floating-point number that is representable."
2307 #: build/C/man3/fenv.3:81
2309 "The I<underflow> exception occurs when a result has to be represented as a "
2310 "floating-point number, but has smaller absolute value than the smallest "
2311 "positive normalized floating-point number (and would lose much accuracy when "
2312 "represented as a denormalized number)."
2316 #: build/C/man3/fenv.3:91
2318 "The I<inexact> exception occurs when the rounded result of an operation is "
2319 "not equal to the infinite precision result. It may occur whenever "
2320 "I<overflow> or I<underflow> occurs."
2324 #: build/C/man3/fenv.3:96
2326 "The I<invalid> exception occurs when there is no well-defined result for an "
2327 "operation, as for 0/0 or infinity - infinity or sqrt(-1)."
2331 #: build/C/man3/fenv.3:96
2333 msgid "Exception handling"
2337 #: build/C/man3/fenv.3:102
2339 "Exceptions are represented in two ways: as a single bit (exception "
2340 "present/absent), and these bits correspond in some implementation-defined "
2341 "way with bit positions in an integer, and also as an opaque structure that "
2342 "may contain more information about the exception (perhaps the code address "
2343 "where it occurred)."
2347 #: build/C/man3/fenv.3:118
2349 "Each of the macros B<FE_DIVBYZERO>, B<FE_INEXACT>, B<FE_INVALID>, "
2350 "B<FE_OVERFLOW>, B<FE_UNDERFLOW> is defined when the implementation supports "
2351 "handling of the corresponding exception, and if so then defines the "
2352 "corresponding bit(s), so that one can call exception handling functions, for "
2353 "example, using the integer argument B<FE_OVERFLOW>|B<FE_UNDERFLOW>. Other "
2354 "exceptions may be supported. The macro B<FE_ALL_EXCEPT> is the bitwise OR "
2355 "of all bits corresponding to supported exceptions."
2359 #: build/C/man3/fenv.3:123
2361 "The B<feclearexcept>() function clears the supported exceptions represented "
2362 "by the bits in its argument."
2366 #: build/C/man3/fenv.3:131
2368 "The B<fegetexceptflag>() function stores a representation of the state of "
2369 "the exception flags represented by the argument I<excepts> in the opaque "
2374 #: build/C/man3/fenv.3:136
2376 "The B<feraiseexcept>() function raises the supported exceptions represented "
2377 "by the bits in I<excepts>."
2381 #: build/C/man3/fenv.3:147
2383 "The B<fesetexceptflag>() function sets the complete status for the "
2384 "exceptions represented by I<excepts> to the value I<*flagp>. This value "
2385 "must have been obtained by an earlier call of B<fegetexceptflag>() with a "
2386 "last argument that contained all bits in I<excepts>."
2390 #: build/C/man3/fenv.3:154
2392 "The B<fetestexcept>() function returns a word in which the bits are set "
2393 "that were set in the argument I<excepts> and for which the corresponding "
2394 "exception is currently set."
2398 #: build/C/man3/fenv.3:154
2400 msgid "Rounding mode"
2404 #: build/C/man3/fenv.3:162
2406 "The rounding mode determines how the result of floating-point operations is "
2407 "treated when the result cannot be exactly represented in the significand. "
2408 "Various rounding modes may be provided: round to nearest (the default), "
2409 "round up (toward positive infinity), round down (toward negative infinity), "
2410 "and round toward zero."
2414 #: build/C/man3/fenv.3:171
2416 "Each of the macros B<FE_TONEAREST>, B<FE_UPWARD>, B<FE_DOWNWARD>, and "
2417 "B<FE_TOWARDZERO> is defined when the implementation supports getting and "
2418 "setting the corresponding rounding direction."
2422 #: build/C/man3/fenv.3:176
2424 "The B<fegetround>() function returns the macro corresponding to the current "
2429 #: build/C/man3/fenv.3:181
2431 "The B<fesetround>() function sets the rounding mode as specified by its "
2432 "argument and returns zero when it was successful."
2436 #: build/C/man3/fenv.3:189
2438 "C99 and POSIX.1-2008 specify an identifier, B<FLT_ROUNDS>, defined in "
2439 "I<E<lt>float.hE<gt>>, which indicates the implementation-defined rounding "
2440 "behavior for floating-point addition. This identifier has one of the "
2445 #: build/C/man3/fenv.3:189
2451 #: build/C/man3/fenv.3:191
2452 msgid "The rounding mode is not determinable."
2456 #: build/C/man3/fenv.3:191
2462 #: build/C/man3/fenv.3:193
2463 msgid "Rounding is toward 0."
2467 #: build/C/man3/fenv.3:193
2473 #: build/C/man3/fenv.3:195
2474 msgid "Rounding is toward nearest number."
2478 #: build/C/man3/fenv.3:195
2484 #: build/C/man3/fenv.3:197
2485 msgid "Rounding is toward positive infinity."
2489 #: build/C/man3/fenv.3:197
2495 #: build/C/man3/fenv.3:199
2496 msgid "Rounding is toward negative infinity."
2500 #: build/C/man3/fenv.3:201
2501 msgid "Other values represent machine-dependent, nonstandard rounding modes."
2505 #: build/C/man3/fenv.3:207
2507 "The value of B<FLT_ROUNDS> should reflect the current rounding mode as set "
2508 "by B<fesetround>() (but see BUGS)."
2512 #: build/C/man3/fenv.3:207
2514 msgid "Floating-point environment"
2518 #: build/C/man3/fenv.3:219
2520 "The entire floating-point environment, including control modes and status "
2521 "flags, can be handled as one opaque object, of type I<fenv_t>. The default "
2522 "environment is denoted by B<FE_DFL_ENV> (of type I<const fenv_t *>). This "
2523 "is the environment setup at program start and it is defined by ISO C to have "
2524 "round to nearest, all exceptions cleared and a nonstop (continue on "
2529 #: build/C/man3/fenv.3:224
2531 "The B<fegetenv>() function saves the current floating-point environment in "
2532 "the object I<*envp>."
2536 #: build/C/man3/fenv.3:231
2538 "The B<feholdexcept>() function does the same, then clears all exception "
2539 "flags, and sets a nonstop (continue on exceptions) mode, if available. It "
2540 "returns zero when successful."
2544 #: build/C/man3/fenv.3:244
2546 "The B<fesetenv>() function restores the floating-point environment from the "
2547 "object I<*envp>. This object must be known to be valid, for example, the "
2548 "result of a call to B<fegetenv>() or B<feholdexcept>() or equal to "
2549 "B<FE_DFL_ENV>. This call does not raise exceptions."
2553 #: build/C/man3/fenv.3:257
2555 "The B<feupdateenv>() function installs the floating-point environment "
2556 "represented by the object I<*envp>, except that currently raised exceptions "
2557 "are not cleared. After calling this function, the raised exceptions will be "
2558 "a bitwise OR of those previously set with those in I<*envp>. As before, the "
2559 "object I<*envp> must be known to be valid."
2562 #. Earlier seven of these functions were listed as returning void.
2563 #. This was corrected in Corrigendum 1 (ISO/IEC 9899:1999/Cor.1:2001(E))
2564 #. of the C99 Standard.
2566 #: build/C/man3/fenv.3:262
2567 msgid "These functions return zero on success and nonzero if an error occurred."
2571 #: build/C/man3/fenv.3:266
2572 msgid "IEC 60559 (IEC 559:1989), ANSI/IEEE 854, C99, POSIX.1-2001."
2576 #: build/C/man3/fenv.3:267
2582 #: build/C/man3/fenv.3:286
2584 "If possible, the GNU C Library defines a macro B<FE_NOMASK_ENV> which "
2585 "represents an environment where every exception raised causes a trap to "
2586 "occur. You can test for this macro using B<#ifdef>. It is only defined if "
2587 "B<_GNU_SOURCE> is defined. The C99 standard does not define a way to set "
2588 "individual bits in the floating-point mask, for example, to trap on specific "
2589 "flags. Since version 2.2, glibc supports the functions B<feenableexcept>() "
2590 "and B<fedisableexcept>() to set individual floating-point traps, and "
2591 "B<fegetexcept>() to query the state."
2595 #: build/C/man3/fenv.3:293
2597 msgid "B<int feenableexcept(int >I<excepts>B<);>\n"
2601 #: build/C/man3/fenv.3:295
2603 msgid "B<int fedisableexcept(int >I<excepts>B<);>\n"
2607 #: build/C/man3/fenv.3:297
2609 msgid "B<int fegetexcept(void);>\n"
2613 #: build/C/man3/fenv.3:311
2615 "The B<feenableexcept>() and B<fedisableexcept>() functions enable "
2616 "(disable) traps for each of the exceptions represented by I<excepts> and "
2617 "return the previous set of enabled exceptions when successful, and -1 "
2618 "otherwise. The B<fegetexcept>() function returns the set of all currently "
2619 "enabled exceptions."
2622 #. Aug 08, glibc 2.8
2623 #. See http://gcc.gnu.org/ml/gcc/2002-02/msg01535.html
2625 #: build/C/man3/fenv.3:322
2627 "C99 specifies that the value of B<FLT_ROUNDS> should reflect changes to the "
2628 "current rounding mode, as set by B<fesetround>(). Currently, this does not "
2629 "occur: B<FLT_ROUNDS> always has the value 1."
2633 #: build/C/man3/fenv.3:324
2634 msgid "B<math_error>(7)"
2638 #: build/C/man3/finite.3:23
2644 #: build/C/man3/finite.3:23 build/C/man3/gamma.3:6
2650 #: build/C/man3/finite.3:27
2652 "finite, finitef, finitel, isinf, isinff, isinfl, isnan, isnanf, isnanl - BSD "
2653 "floating-point classification functions"
2657 #: build/C/man3/finite.3:32
2659 msgid "B<int finite(double >I<x>B<);>\n"
2663 #: build/C/man3/finite.3:34
2665 msgid "B<int finitef(float >I<x>B<);>\n"
2669 #: build/C/man3/finite.3:36
2671 msgid "B<int finitel(long double >I<x>B<);>\n"
2675 #: build/C/man3/finite.3:38
2677 msgid "B<int isinf(double >I<x>B<);>\n"
2681 #: build/C/man3/finite.3:40
2683 msgid "B<int isinff(float >I<x>B<);>\n"
2687 #: build/C/man3/finite.3:42
2689 msgid "B<int isinfl(long double >I<x>B<);>\n"
2693 #: build/C/man3/finite.3:44
2695 msgid "B<int isnan(double >I<x>B<);>\n"
2699 #: build/C/man3/finite.3:46
2701 msgid "B<int isnanf(float >I<x>B<);>\n"
2705 #: build/C/man3/finite.3:48
2707 msgid "B<int isnanl(long double >I<x>B<);>\n"
2711 #: build/C/man3/finite.3:59
2712 msgid "B<finite>(), B<finitef>(), B<finitel>():"
2716 #: build/C/man3/finite.3:61 build/C/man3/finite.3:74 build/C/man3/lgamma.3:61
2717 msgid "_BSD_SOURCE || _SVID_SOURCE"
2721 #: build/C/man3/finite.3:63 build/C/man3/fpclassify.3:54
2726 #: build/C/man3/finite.3:65
2728 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
2733 #: build/C/man3/finite.3:72
2734 msgid "B<isinff>(), B<isinfl>():"
2738 #: build/C/man3/finite.3:76 build/C/man3/fpclassify.3:46
2743 #: build/C/man3/finite.3:78
2744 msgid "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE || _ISOC99_SOURCE;"
2748 #: build/C/man3/finite.3:84
2749 msgid "B<isnanf>(), B<isnanl>():"
2753 #: build/C/man3/finite.3:86 build/C/man3/gamma.3:35 build/C/man3/scalb.3:56
2754 msgid "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600"
2758 #: build/C/man3/finite.3:93
2760 "The B<finite>() functions return a nonzero value if I<x> is neither "
2761 "infinite nor a \"not-a-number\" (NaN) value, and 0 otherwise."
2765 #: build/C/man3/finite.3:98
2767 "The B<isnan>() functions return a nonzero value if I<x> is a NaN value, and "
2772 #: build/C/man3/finite.3:103
2774 "The B<isinf>() functions return 1 if I<x> is positive infinity, -1 if I<x> "
2775 "is negative infinity, and 0 otherwise."
2779 #. finite* not on HP-UX; they exist on Tru64.
2783 #. function occurs in 4.3BSD.
2784 #. see IEEE.3 in the 4.3BSD manual
2786 #: build/C/man3/finite.3:123
2788 "Note that these functions are obsolete. C99 defines macros B<isfinite>(), "
2789 "B<isinf>(), and B<isnan>() (for all types) replacing them. Further note "
2790 "that the C99 B<isinf>() has weaker guarantees on the return value. See "
2795 #: build/C/man3/finite.3:125
2796 msgid "B<fpclassify>(3)"
2800 #: build/C/man3/floor.3:25
2806 #: build/C/man3/floor.3:28
2807 msgid "floor, floorf, floorl - largest integral value not greater than argument"
2811 #: build/C/man3/floor.3:33
2813 msgid "B<double floor(double >I<x>B<);>\n"
2817 #: build/C/man3/floor.3:35
2819 msgid "B<float floorf(float >I<x>B<);>\n"
2823 #: build/C/man3/floor.3:37
2825 msgid "B<long double floorl(long double >I<x>B<);>\n"
2829 #: build/C/man3/floor.3:49
2830 msgid "B<floorf>(), B<floorl>():"
2834 #: build/C/man3/floor.3:60
2836 "These functions return the largest integral value that is not greater than "
2841 #: build/C/man3/floor.3:66
2842 msgid "For example, I<floor(0.5)> is 0.0, and I<floor(-0.5)> is -1.0."
2846 #: build/C/man3/floor.3:69
2847 msgid "These functions return the floor of I<x>."
2851 #: build/C/man3/floor.3:72
2852 msgid "If I<x> is integral, +0, -0, NaN, or an infinity, I<x> itself is returned."
2856 #: build/C/man3/floor.3:104
2858 "B<ceil>(3), B<lrint>(3), B<nearbyint>(3), B<rint>(3), B<round>(3), "
2863 #: build/C/man3/fma.3:8
2869 #: build/C/man3/fma.3:11
2870 msgid "fma, fmaf, fmal - floating-point multiply and add"
2874 #: build/C/man3/fma.3:16
2876 msgid "B<double fma(double >I<x>B<, double >I<y>B<, double >I<z>B<);>\n"
2880 #: build/C/man3/fma.3:18
2882 msgid "B<float fmaf(float >I<x>B<, float >I<y>B<, float >I<z>B<);>\n"
2886 #: build/C/man3/fma.3:20
2889 "B<long double fmal(long double >I<x>B<, long double >I<y>B<, long double "
2894 #: build/C/man3/fma.3:33
2895 msgid "B<fma>(), B<fmaf>(), B<fmal>():"
2899 #: build/C/man3/fma.3:49
2901 "The B<fma>() function computes I<x> * I<y> + I<z>. The result is rounded "
2902 "as one ternary operation according to the current rounding mode (see "
2907 #: build/C/man3/fma.3:53
2909 "These functions return the value of I<x> * I<y> + I<z>, rounded as one "
2910 "ternary operation."
2914 #: build/C/man3/fma.3:69
2916 "If I<x> times I<y> is an exact infinity, and I<z> is an infinity with the "
2917 "opposite sign, a domain error occurs, and a NaN is returned."
2920 #. POSIX.1-2008 allows some possible differences for the following two
2921 #. domain error cases, but on Linux they are treated the same (AFAICS).
2922 #. Nevertheless, we'll mirror POSIX.1 and describe the two cases
2924 #. POSIX.1 says that a NaN or an implementation-defined value shall
2925 #. be returned for this case.
2927 #: build/C/man3/fma.3:85
2929 "If one of I<x> or I<y> is an infinity, the other is 0, and I<z> is not a "
2930 "NaN, a domain error occurs, and a NaN is returned."
2933 #. POSIX.1 makes the domain error optional for this case.
2935 #: build/C/man3/fma.3:96
2937 "If one of I<x> or I<y> is an infinity, and the other is 0, and I<z> is a "
2938 "NaN, a domain error occurs, and a NaN is returned."
2942 #: build/C/man3/fma.3:105
2944 "If I<x> times I<y> is not an infinity times zero (or vice versa), and I<z> "
2945 "is a NaN, a NaN is returned."
2949 #: build/C/man3/fma.3:109
2951 "If the result overflows, a range error occurs, and an infinity with the "
2952 "correct sign is returned."
2956 #: build/C/man3/fma.3:113
2957 msgid "If the result underflows, a range error occurs, and a signed 0 is returned."
2961 #: build/C/man3/fma.3:120
2964 "Domain error: I<x> * I<y> + I<z>, or I<x> * I<y> is invalid and I<z> is not "
2972 #: build/C/man3/fma.3:129 build/C/man3/ilogb.3:123 build/C/man3/log1p.3:124 build/C/man3/lrint.3:100 build/C/man3/lround.3:103 build/C/man3/remainder.3:163 build/C/man3/remquo.3:112 build/C/man3/scalb.3:148 build/C/man3/sincos.3:64
2973 msgid "An invalid floating-point exception (B<FE_INVALID>) is raised."
2977 #: build/C/man3/fma.3:137 build/C/man3/hypot.3:141 build/C/man3/tgamma.3:134 build/C/man3/y0.3:186
2979 msgid "Range error: result underflow"
2983 #: build/C/man3/fma.3:157
2984 msgid "B<remainder>(3), B<remquo>(3)"
2988 #: build/C/man3/fmax.3:6
2994 #: build/C/man3/fmax.3:9
2995 msgid "fmax, fmaxf, fmaxl - determine maximum of two floating-point numbers"
2999 #: build/C/man3/fmax.3:13
3000 msgid "B<double fmax(double >I<x>B<, double >I<y>B<);>"
3004 #: build/C/man3/fmax.3:15
3005 msgid "B<float fmaxf(float >I<x>B<, float >I<y>B<);>"
3009 #: build/C/man3/fmax.3:17
3010 msgid "B<long double fmaxl(long double >I<x>B<, long double >I<y>B<);>"
3014 #: build/C/man3/fmax.3:29
3015 msgid "B<fmax>(), B<fmaxf>(), B<fmaxl>():"
3019 #: build/C/man3/fmax.3:42
3020 msgid "These functions return the larger value of I<x> and I<y>."
3024 #: build/C/man3/fmax.3:47
3025 msgid "These functions return the maximum of I<x> and I<y>."
3029 #: build/C/man3/fmax.3:49 build/C/man3/fmin.3:49
3030 msgid "If one argument is a NaN, the other argument is returned."
3034 #: build/C/man3/fmax.3:51 build/C/man3/fmin.3:51
3035 msgid "If both arguments are NaN, a NaN is returned."
3039 #: build/C/man3/fmax.3:59
3044 #: build/C/man3/fmin.3:6
3050 #: build/C/man3/fmin.3:9
3051 msgid "fmin, fminf, fminl - determine minimum of two floating-point numbers"
3055 #: build/C/man3/fmin.3:13
3056 msgid "B<double fmin(double >I<x>B<, double >I<y>B<);>"
3060 #: build/C/man3/fmin.3:15
3061 msgid "B<float fminf(float >I<x>B<, float >I<y>B<);>"
3065 #: build/C/man3/fmin.3:17
3066 msgid "B<long double fminl(long double >I<x>B<, long double >I<y>B<);>"
3070 #: build/C/man3/fmin.3:29
3071 msgid "B<fmin>(), B<fminf>(), B<fminl>():"
3075 #: build/C/man3/fmin.3:42
3076 msgid "These functions the lesser value of I<x> and I<y>."
3080 #: build/C/man3/fmin.3:47
3081 msgid "These functions return the minimum of I<x> and I<y>."
3085 #: build/C/man3/fmod.3:33
3091 #: build/C/man3/fmod.3:36
3092 msgid "fmod, fmodf, fmodl - floating-point remainder function"
3096 #: build/C/man3/fmod.3:41
3098 msgid "B<double fmod(double >I<x>B<, double >I<y>B<);>\n"
3102 #: build/C/man3/fmod.3:43
3104 msgid "B<float fmodf(float >I<x>B<, float >I<y>B<);>\n"
3108 #: build/C/man3/fmod.3:45
3110 msgid "B<long double fmodl(long double >I<x>B<, long double >I<y>B<);>\n"
3114 #: build/C/man3/fmod.3:57
3115 msgid "B<fmodf>(), B<fmodl>():"
3119 #: build/C/man3/fmod.3:72
3121 "The B<fmod>() function computes the floating-point remainder of dividing "
3122 "I<x> by I<y>. The return value is I<x> - I<n> * I<y>, where I<n> is the "
3123 "quotient of I<x> / I<y>, rounded toward zero to an integer."
3127 #: build/C/man3/fmod.3:80
3129 "On success, these functions return the value I<x>\\ -\\ I<n>*I<y>, for some "
3130 "integer I<n>, such that the returned value has the same sign as I<x> and a "
3131 "magnitude less than the magnitude of I<y>."
3135 #: build/C/man3/fmod.3:92
3136 msgid "If I<x> is an infinity, a domain error occurs, and a NaN is returned."
3140 #: build/C/man3/fmod.3:98
3141 msgid "If I<y> is zero, a domain error occurs, and a NaN is returned."
3145 #: build/C/man3/fmod.3:104
3146 msgid "If I<x> is +0 (-0), and I<y> is not zero, +0 (-0) is returned."
3149 #. [XXX see bug above] and \fIx\fP is not a NaN
3151 #: build/C/man3/fmod.3:120 build/C/man3/remainder.3:170
3153 msgid "Domain error: I<y> is zero"
3156 #. http://sources.redhat.com/bugzilla/show_bug.cgi?id=6784
3158 #: build/C/man3/fmod.3:138
3160 "Before version 2.10, the glibc implementation did not set I<errno> to "
3161 "B<EDOM> when a domain error occurred for an infinite I<x>."
3165 #: build/C/man3/fmod.3:146
3166 msgid "B<remainder>(3)"
3170 #: build/C/man3/fpclassify.3:6
3176 #: build/C/man3/fpclassify.3:10
3178 "fpclassify, isfinite, isnormal, isnan, isinf - floating-point classification "
3183 #: build/C/man3/fpclassify.3:15
3185 msgid "B<int fpclassify(>I<x>B<);>\n"
3189 #: build/C/man3/fpclassify.3:17
3191 msgid "B<int isfinite(>I<x>B<);>\n"
3195 #: build/C/man3/fpclassify.3:19
3197 msgid "B<int isnormal(>I<x>B<);>\n"
3201 #: build/C/man3/fpclassify.3:21
3203 msgid "B<int isnan(>I<x>B<);>\n"
3207 #: build/C/man3/fpclassify.3:23
3209 msgid "B<int isinf(>I<x>B<);>\n"
3213 #: build/C/man3/fpclassify.3:38
3214 msgid "B<fpclassify>(), B<isfinite>(), B<isnormal>():"
3218 #: build/C/man3/fpclassify.3:72
3220 "Floating point numbers can have special values, such as infinite or NaN. "
3221 "With the macro B<fpclassify(>I<x>B<)> you can find out what type I<x> is. "
3222 "The macro takes any floating-point expression as argument. The result is "
3223 "one of the following values:"
3227 #: build/C/man3/fpclassify.3:72
3233 #: build/C/man3/fpclassify.3:76
3234 msgid "I<x> is \"Not a Number\"."
3238 #: build/C/man3/fpclassify.3:76
3240 msgid "B<FP_INFINITE>"
3244 #: build/C/man3/fpclassify.3:80
3245 msgid "I<x> is either positive infinity or negative infinity."
3249 #: build/C/man3/fpclassify.3:80
3255 #: build/C/man3/fpclassify.3:84
3256 msgid "I<x> is zero."
3260 #: build/C/man3/fpclassify.3:84
3262 msgid "B<FP_SUBNORMAL>"
3266 #: build/C/man3/fpclassify.3:88
3267 msgid "I<x> is too small to be represented in normalized format."
3271 #: build/C/man3/fpclassify.3:88
3273 msgid "B<FP_NORMAL>"
3277 #: build/C/man3/fpclassify.3:92
3279 "if nothing of the above is correct then it must be a normal floating-point "
3284 #: build/C/man3/fpclassify.3:94
3285 msgid "The other macros provide a short answer to some standard questions."
3289 #: build/C/man3/fpclassify.3:94
3291 msgid "B<isfinite(>I<x>B<)>"
3295 #: build/C/man3/fpclassify.3:97
3296 msgid "returns a nonzero value if"
3300 #: build/C/man3/fpclassify.3:99
3301 msgid "(fpclassify(x) != FP_NAN && fpclassify(x) != FP_INFINITE)"
3305 #: build/C/man3/fpclassify.3:99
3307 msgid "B<isnormal(>I<x>B<)>"
3311 #: build/C/man3/fpclassify.3:103
3312 msgid "returns a nonzero value if (fpclassify(x) == FP_NORMAL)"
3316 #: build/C/man3/fpclassify.3:103
3318 msgid "B<isnan(>I<x>B<)>"
3322 #: build/C/man3/fpclassify.3:107
3323 msgid "returns a nonzero value if (fpclassify(x) == FP_NAN)"
3327 #: build/C/man3/fpclassify.3:107
3329 msgid "B<isinf(>I<x>B<)>"
3333 #: build/C/man3/fpclassify.3:114
3334 msgid "returns 1 if I<x> is positive infinity, and -1 if I<x> is negative infinity."
3338 #: build/C/man3/fpclassify.3:116
3339 msgid "C99, POSIX.1."
3343 #: build/C/man3/fpclassify.3:121
3345 "For B<isinf>(), the standards merely say that the return value is nonzero if "
3346 "and only if the argument has an infinite value."
3350 #: build/C/man3/fpclassify.3:128
3352 "In glibc 2.01 and earlier, B<isinf>() returns a nonzero value (actually: 1) "
3353 "if I<x> is positive infinity or negative infinity. (This is all that C99 "
3358 #: build/C/man3/fpclassify.3:133
3359 msgid "B<finite>(3), B<INFINITY>(3), B<isgreater>(3), B<signbit>(3)"
3363 #: build/C/man3/frexp.3:31
3369 #: build/C/man3/frexp.3:35
3371 "frexp, frexpf, frexpl - convert floating-point number to fractional and "
3372 "integral components"
3376 #: build/C/man3/frexp.3:40
3378 msgid "B<double frexp(double >I<x>B<, int *>I<exp>B<);>\n"
3382 #: build/C/man3/frexp.3:42
3384 msgid "B<float frexpf(float >I<x>B<, int *>I<exp>B<);>\n"
3388 #: build/C/man3/frexp.3:44
3390 msgid "B<long double frexpl(long double >I<x>B<, int *>I<exp>B<);>\n"
3394 #: build/C/man3/frexp.3:56
3395 msgid "B<frexpf>(), B<frexpl>():"
3399 #: build/C/man3/frexp.3:69
3401 "The B<frexp>() function is used to split the number I<x> into a normalized "
3402 "fraction and an exponent which is stored in I<exp>."
3406 #: build/C/man3/frexp.3:77
3408 "The B<frexp>() function returns the normalized fraction. If the argument "
3409 "I<x> is not zero, the normalized fraction is I<x> times a power of two, and "
3410 "its absolute value is always in the range 1/2 (inclusive) to 1 (exclusive), "
3415 #: build/C/man3/frexp.3:80
3417 "If I<x> is zero, then the normalized fraction is zero and zero is stored in "
3422 #: build/C/man3/frexp.3:87
3424 "If I<x> is a NaN, a NaN is returned, and the value of I<*exp> is "
3429 #: build/C/man3/frexp.3:94
3431 "If I<x> is positive infinity (negative infinity), positive infinity "
3432 "(negative infinity) is returned, and the value of I<*exp> is unspecified."
3436 #: build/C/man3/frexp.3:104
3437 msgid "The program below produces results such as the following:"
3441 #: build/C/man3/frexp.3:111
3444 "$B< ./a.out 2560>\n"
3445 "frexp(2560, &e) = 0.625: 0.625 * 2^12 = 2560\n"
3447 "frexp(-4, &e) = -0.5: -0.5 * 2^3 = -4\n"
3451 #: build/C/man3/frexp.3:113 build/C/man3/matherr.3:358
3453 msgid "Program source"
3457 #: build/C/man3/frexp.3:120
3460 "#include E<lt>math.hE<gt>\n"
3461 "#include E<lt>float.hE<gt>\n"
3462 "#include E<lt>stdio.hE<gt>\n"
3463 "#include E<lt>stdlib.hE<gt>\n"
3467 #: build/C/man3/frexp.3:126
3471 "main(int argc, char *argv[])\n"
3478 #: build/C/man3/frexp.3:129
3481 " x = strtod(argv[1], NULL);\n"
3482 " r = frexp(x, &exp);\n"
3486 #: build/C/man3/frexp.3:134
3489 " printf(\"frexp(%g, &e) = %g: %g * %d^%d = %g\\en\",\n"
3490 " x, r, r, FLT_RADIX, exp, x);\n"
3491 " exit(EXIT_SUCCESS);\n"
3496 #: build/C/man3/frexp.3:138
3497 msgid "B<ldexp>(3), B<modf>(3)"
3501 #: build/C/man3/gamma.3:6
3507 #: build/C/man3/gamma.3:9
3508 msgid "gamma, gammaf, gammal - (logarithm of the) gamma function"
3512 #: build/C/man3/gamma.3:13
3513 msgid "B<double gamma(double >I<x>B<);>"
3517 #: build/C/man3/gamma.3:15
3518 msgid "B<float gammaf(float >I<x>B<);>"
3522 #: build/C/man3/gamma.3:17
3523 msgid "B<long double gammal(long double >I<x>B<);>"
3527 #: build/C/man3/gamma.3:27
3532 #: build/C/man3/gamma.3:29 build/C/man3/lgamma.3:65
3533 msgid "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE"
3537 #: build/C/man3/gamma.3:32
3538 msgid "B<gammaf>(), B<gammal>():"
3542 #: build/C/man3/gamma.3:43
3544 "These functions are deprecated: instead, use either the B<tgamma>(3) or the "
3545 "B<lgamma>(3) functions, as appropriate."
3549 #: build/C/man3/gamma.3:46 build/C/man3/lgamma.3:70
3550 msgid "For the definition of the Gamma function, see B<tgamma>(3)."
3554 #: build/C/man3/gamma.3:46
3556 msgid "*BSD version"
3560 #: build/C/man3/gamma.3:50
3562 "The libm in 4.4BSD and some versions of FreeBSD had a B<gamma>() function "
3563 "that computes the Gamma function, as one would expect."
3567 #: build/C/man3/gamma.3:50
3569 msgid "glibc version"
3573 #: build/C/man3/gamma.3:56
3575 "Glibc has a B<gamma>() function that is equivalent to B<lgamma>(3) and "
3576 "computes the natural logarithm of the Gamma function."
3580 #: build/C/man3/gamma.3:59 build/C/man3/gamma.3:62
3581 msgid "See B<lgamma>(3)."
3585 #: build/C/man3/gamma.3:65
3587 "Because of historical variations in behavior across systems, this function "
3588 "is not specified in any standard."
3592 #: build/C/man3/gamma.3:66
3598 #: build/C/man3/gamma.3:78
3600 "4.2BSD had a B<gamma>() that computed ln(|Gamma(|I<x>|)|), leaving the sign "
3601 "of Gamma(|I<x>|) in the external integer I<signgam>. In 4.3BSD the name "
3602 "was changed to B<lgamma>(3), and the man page promises"
3606 #: build/C/man3/gamma.3:82
3608 "At some time in the future the name gamma will be rehabilitated and used for "
3609 "the Gamma function"
3612 #. The FreeBSD man page says about gamma() that it is like lgamma()
3613 #. except that is does not set signgam.
3614 #. Also, that 4.4BSD has a gamma() that computes the true gamma function.
3616 #: build/C/man3/gamma.3:94
3618 "This did indeed happen in 4.4BSD, where B<gamma>() computes the Gamma "
3619 "function (with no effect on I<signgam>). However, this came too late, and "
3620 "we now have B<tgamma>(3), the \"true gamma\" function."
3624 #: build/C/man3/gamma.3:98
3625 msgid "B<lgamma>(3), B<signgam>(3), B<tgamma>(3)"
3629 #: build/C/man3/hypot.3:31
3635 #: build/C/man3/hypot.3:34
3636 msgid "hypot, hypotf, hypotl - Euclidean distance function"
3640 #: build/C/man3/hypot.3:39
3642 msgid "B<double hypot(double >I<x>B<, double >I<y>B<);>\n"
3646 #: build/C/man3/hypot.3:41
3648 msgid "B<float hypotf(float >I<x>B<, float >I<y>B<);>\n"
3652 #: build/C/man3/hypot.3:43
3654 msgid "B<long double hypotl(long double >I<x>B<, long double >I<y>B<);>\n"
3658 #: build/C/man3/hypot.3:54
3663 #: build/C/man3/hypot.3:64
3664 msgid "B<hypotf>(), B<hypotl>():"
3668 #: build/C/man3/hypot.3:85
3670 "The B<hypot>() function returns sqrt(I<x>*I<x>+I<y>*I<y>). This is the "
3671 "length of the hypotenuse of a right-angled triangle with sides of length "
3672 "I<x> and I<y>, or the distance of the point (I<x>,I<y>) from the origin."
3675 #. e.g., hypot(DBL_MIN, DBL_MIN) does the right thing, as does, say
3676 #. hypot(DBL_MAX/2.0, DBL_MAX/2.0).
3678 #: build/C/man3/hypot.3:90
3680 "The calculation is performed without undue overflow or underflow during the "
3681 "intermediate steps of the calculation."
3685 #: build/C/man3/hypot.3:96
3687 "On success, these functions return the length of a right-angled triangle "
3688 "with sides of length I<x> and I<y>."
3692 #: build/C/man3/hypot.3:103
3693 msgid "If I<x> or I<y> is an infinity, positive infinity is returned."
3697 #: build/C/man3/hypot.3:111
3699 "If I<x> or I<y> is a NaN, and the other argument is not an infinity, a NaN "
3703 #. Actually, could the result not be subnormal if both arguments
3704 #. are subnormal? I think not -- mtk, Jul 2008
3706 #: build/C/man3/hypot.3:126
3708 "If both arguments are subnormal, and the result is subnormal, a range error "
3709 "occurs, and the correct result is returned."
3712 #. FIXME . Is it intentional that these functions do not set errno?
3713 #. They do set errno for the y == 0 case, below.
3714 #. Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6783
3716 #: build/C/man3/hypot.3:156 build/C/man3/ilogb.3:128 build/C/man3/remainder.3:170
3717 msgid "These functions do not set I<errno> for this case."
3721 #: build/C/man3/hypot.3:165
3722 msgid "B<cabs>(3), B<sqrt>(3)"
3726 #: build/C/man3/ilogb.3:27
3732 #: build/C/man3/ilogb.3:30
3733 msgid "ilogb, ilogbf, ilogbl - get integer exponent of a floating-point value"
3737 #: build/C/man3/ilogb.3:34
3738 msgid "B<int ilogb(double >I<x>B<);>"
3742 #: build/C/man3/ilogb.3:36
3743 msgid "B<int ilogbf(float >I<x>B<);>"
3747 #: build/C/man3/ilogb.3:38
3748 msgid "B<int ilogbl(long double >I<x>B<);>"
3752 #: build/C/man3/ilogb.3:48
3757 #: build/C/man3/ilogb.3:60
3758 msgid "B<ilogbf>(), B<ilogbl>():"
3762 #: build/C/man3/ilogb.3:76
3764 "These functions return the exponent part of their argument as a signed "
3765 "integer. When no error occurs, these functions are equivalent to the "
3766 "corresponding B<logb>(3) functions, cast to I<int>."
3770 #: build/C/man3/ilogb.3:80
3772 "On success, these functions return the exponent of I<x>, as a signed "
3776 #. the POSIX.1 spec for logb() says logb() gives pole error for this
3777 #. case, but for ilogb() it says domain error.
3778 #. glibc: The numeric value is either `INT_MIN' or `-INT_MAX'.
3780 #: build/C/man3/ilogb.3:88
3782 "If I<x> is zero, then a domain error occurs, and the functions return "
3786 #. glibc: The numeric value is either `INT_MIN' or `INT_MAX'.
3787 #. On i386, FP_ILOGB0 and FP_ILOGBNAN have the same value.
3789 #: build/C/man3/ilogb.3:95
3791 "If I<x> is a NaN, then a domain error occurs, and the functions return "
3796 #. POSIX.1-2001 also says:
3797 #. If the correct value is greater than {INT_MAX}, {INT_MAX}
3798 #. shall be returned and a domain error shall occur.
3800 #. If the correct value is less than {INT_MIN}, {INT_MIN}
3801 #. shall be returned and a domain error shall occur.
3803 #: build/C/man3/ilogb.3:108
3805 "If I<x> is negative infinity or positive infinity, then a domain error "
3806 "occurs, and the functions return B<INT_MAX>."
3810 #: build/C/man3/ilogb.3:115
3812 msgid "Domain error: I<x> is 0 or a NaN"
3815 #. FIXME . Is it intentional that these functions do not set errno,
3816 #. or raise an exception?
3817 #. log(), log2(), log10() do set errno
3818 #. Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6794
3820 #: build/C/man3/ilogb.3:144
3821 msgid "These functions do not set I<errno> or raise an exception for this case."
3825 #: build/C/man3/ilogb.3:150
3826 msgid "B<log>(3), B<logb>(3), B<significand>(3)"
3830 #: build/C/man3/infnan.3:31
3836 #: build/C/man3/infnan.3:31
3842 #: build/C/man3/infnan.3:34
3843 msgid "infnan - deal with infinite or not-a-number (NaN) result"
3847 #: build/C/man3/infnan.3:39
3849 msgid "B<double infnan(int >I<error>B<);>\n"
3853 #: build/C/man3/infnan.3:52
3855 "The B<infnan>() function returns a suitable value for infinity and "
3856 "\"not-a-number\" (NaN) results. The value of I<error> can be B<ERANGE> to "
3857 "represent infinity or anything else to represent NaN. I<errno> is also set."
3861 #: build/C/man3/infnan.3:58
3862 msgid "If I<error> is B<ERANGE> (Infinity), B<HUGE_VAL> is returned."
3866 #: build/C/man3/infnan.3:60
3867 msgid "If I<error> is -B<ERANGE> (-Infinity), -B<HUGE_VAL> is returned."
3871 #: build/C/man3/infnan.3:62
3872 msgid "If I<error> is anything else, NAN is returned."
3876 #: build/C/man3/infnan.3:63
3882 #: build/C/man3/infnan.3:66
3883 msgid "The value of I<error> is \"not-a-number\" (NaN)."
3887 #: build/C/man3/infnan.3:66
3893 #: build/C/man3/infnan.3:69
3894 msgid "The value of I<error> is positive infinity or negative infinity."
3898 #: build/C/man3/infnan.3:71
3903 #: build/C/man3/infnan.3:74
3905 "This obsolete function was provided in libc4 and libc5, but is not available "
3910 #: build/C/man3/isgreater.3:6
3916 #: build/C/man3/isgreater.3:10
3918 "isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered - "
3919 "floating-point relational tests without exception for NaN"
3923 #: build/C/man3/isgreater.3:15
3925 msgid "B<int isgreater(>I<x>B<, >I<y>B<);>\n"
3929 #: build/C/man3/isgreater.3:17
3931 msgid "B<int isgreaterequal(>I<x>B<, >I<y>B<);>\n"
3935 #: build/C/man3/isgreater.3:19
3937 msgid "B<int isless(>I<x>B<, >I<y>B<);>\n"
3941 #: build/C/man3/isgreater.3:21
3943 msgid "B<int islessequal(>I<x>B<, >I<y>B<);>\n"
3947 #: build/C/man3/isgreater.3:23
3949 msgid "B<int islessgreater(>I<x>B<, >I<y>B<);>\n"
3953 #: build/C/man3/isgreater.3:25
3955 msgid "B<int isunordered(>I<x>B<, >I<y>B<);>\n"
3959 #: build/C/man3/isgreater.3:36
3960 msgid "All functions described here:"
3964 #: build/C/man3/isgreater.3:51
3966 "The normal relation operations (like B<E<lt>>, \"less than\") will fail if "
3967 "one of the operands is NaN. This will cause an exception. To avoid this, "
3968 "C99 defines these macros. The macros are guaranteed to evaluate their "
3969 "operands only once. The operands can be of any real floating-point type."
3973 #: build/C/man3/isgreater.3:51
3975 msgid "B<isgreater>()"
3979 #: build/C/man3/isgreater.3:55
3980 msgid "determines I<(x)\\ E<gt>\\ (y)> without an exception if I<x> or I<y> is NaN."
3984 #: build/C/man3/isgreater.3:55
3986 msgid "B<isgreaterequal>()"
3990 #: build/C/man3/isgreater.3:59
3992 "determines I<(x)\\ E<gt>=\\ (y)> without an exception if I<x> or I<y> is "
3997 #: build/C/man3/isgreater.3:59
4003 #: build/C/man3/isgreater.3:63
4004 msgid "determines I<(x)\\ E<lt>\\ (y)> without an exception if I<x> or I<y> is NaN."
4008 #: build/C/man3/isgreater.3:63
4010 msgid "B<islessequal>()"
4014 #: build/C/man3/isgreater.3:67
4016 "determines I<(x)\\ E<lt>=\\ (y)> without an exception if I<x> or I<y> is "
4021 #: build/C/man3/isgreater.3:67
4023 msgid "B<islessgreater>()"
4027 #: build/C/man3/isgreater.3:73
4029 "determines I<(x)\\ E<lt> (y) || (x) E<gt>\\ (y)> without an exception if "
4030 "I<x> or I<y> is NaN. This macro is not equivalent to I<x\\ !=\\ y> because "
4031 "that expression is true if I<x> or I<y> is NaN."
4035 #: build/C/man3/isgreater.3:73
4037 msgid "B<isunordered>()"
4041 #: build/C/man3/isgreater.3:77
4043 "determines whether its arguments are unordered, that is, whether at least "
4044 "one of the arguments is a NaN."
4048 #: build/C/man3/isgreater.3:82
4050 "The macros other than B<isunordered>() return the result of the relational "
4051 "comparison; these macros return 0 if either argument is a NaN."
4055 #: build/C/man3/isgreater.3:85
4056 msgid "B<isunordered>() returns 1 if I<x> or I<y> is NaN and 0 otherwise."
4060 #: build/C/man3/isgreater.3:94
4062 "Not all hardware supports these functions, and where hardware support isn't "
4063 "provided, they will be emulated by macros. This will result in a "
4064 "performance penalty. Don't use these functions if NaN is of no concern for "
4069 #: build/C/man3/isgreater.3:97
4070 msgid "B<fpclassify>(3), B<isnan>(3)"
4074 #: build/C/man3/j0.3:34
4080 #: build/C/man3/j0.3:38
4082 "j0, j0f, j0l, j1, j1f, j1l, jn, jnf, jnl - Bessel functions of the first "
4087 #: build/C/man3/j0.3:44
4088 msgid "B<double j0(double >I<x>B<);>"
4092 #: build/C/man3/j0.3:46
4093 msgid "B<double j1(double >I<x>B<);>"
4097 #: build/C/man3/j0.3:48
4098 msgid "B<double jn(int >I<n>B<, double >I<x>B<);>"
4102 #: build/C/man3/j0.3:50
4103 msgid "B<float j0f(float >I<x>B<);>"
4107 #: build/C/man3/j0.3:52
4108 msgid "B<float j1f(float >I<x>B<);>"
4112 #: build/C/man3/j0.3:54
4113 msgid "B<float jnf(int >I<n>B<, float >I<x>B<);>"
4117 #: build/C/man3/j0.3:56
4118 msgid "B<long double j0l(long double >I<x>B<);>"
4122 #: build/C/man3/j0.3:58
4123 msgid "B<long double j1l(long double >I<x>B<);>"
4127 #: build/C/man3/j0.3:60
4128 msgid "B<long double jnl(int >I<n>B<, long double >I<x>B<);>"
4132 #: build/C/man3/j0.3:72
4133 msgid "B<j0>(), B<j1>(), B<jn>():"
4137 #: build/C/man3/j0.3:74 build/C/man3/y0.3:74
4138 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
4142 #: build/C/man3/j0.3:82
4143 msgid "B<j0f>(), B<j0l>(), B<j1f>(), B<j1l>(), B<jnf>(), B<jnl>():"
4146 #. Also seems to work: -std=c99 -D_XOPEN_SOURCE
4148 #: build/C/man3/j0.3:85 build/C/man3/y0.3:85
4149 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600"
4153 #: build/C/man3/j0.3:98
4155 "The B<j0>() and B<j1>() functions return Bessel functions of I<x> of the "
4156 "first kind of orders 0 and 1, respectively. The B<jn>() function returns "
4157 "the Bessel function of I<x> of the first kind of order I<n>."
4161 #: build/C/man3/j0.3:108
4163 "The B<j0f>() etc. and B<j0l>() etc. functions are versions that take and "
4164 "return I<float> and I<long double> values, respectively."
4168 #: build/C/man3/j0.3:112
4170 "On success, these functions return the appropriate Bessel value of the first "
4175 #: build/C/man3/j0.3:123
4177 "If I<x> is too large in magnitude, or the result underflows, a range error "
4178 "occurs, and the return value is 0."
4182 #: build/C/man3/j0.3:130
4184 msgid "Range error: result underflow, or I<x> is too large in magnitude"
4187 #. An underflow floating-point exception
4188 #. .RB ( FE_UNDERFLOW )
4191 #: build/C/man3/j0.3:138
4192 msgid "I<errno> is set to B<ERANGE>."
4195 #. FIXME . Is it intentional that these functions do not raise exceptions?
4197 #. Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6805
4199 #: build/C/man3/j0.3:144
4200 msgid "These functions do not raise exceptions for B<fetestexcept>(3)."
4204 #: build/C/man3/j0.3:150 build/C/man3/y0.3:221
4206 "The functions returning I<double> conform to SVr4, 4.3BSD, POSIX.1-2001. "
4207 "The others are nonstandard functions that also exist on the BSDs."
4211 #: build/C/man3/j0.3:157
4213 "There are errors of up to 2e-16 in the values returned by B<j0>(), B<j1>() "
4214 "and B<jn>() for values of I<x> between -8 and 8."
4218 #: build/C/man3/j0.3:159
4223 #: build/C/man3/ldexp.3:32
4229 #: build/C/man3/ldexp.3:35
4231 "ldexp, ldexpf, ldexpl - multiply floating-point number by integral power of "
4236 #: build/C/man3/ldexp.3:40
4238 msgid "B<double ldexp(double >I<x>B<, int >I<exp>B<);>\n"
4242 #: build/C/man3/ldexp.3:42
4244 msgid "B<float ldexpf(float >I<x>B<, int >I<exp>B<);>\n"
4248 #: build/C/man3/ldexp.3:44
4250 msgid "B<long double ldexpl(long double >I<x>B<, int >I<exp>B<);>\n"
4254 #: build/C/man3/ldexp.3:56
4255 msgid "B<ldexpf>(), B<ldexpl>():"
4259 #: build/C/man3/ldexp.3:71
4261 "The B<ldexp>() function returns the result of multiplying the "
4262 "floating-point number I<x> by 2 raised to the power I<exp>."
4266 #: build/C/man3/ldexp.3:74
4267 msgid "On success, these functions return I<x * (2^exp)>."
4271 #: build/C/man3/ldexp.3:80
4272 msgid "If I<exp> is zero, then I<x> is returned."
4276 #: build/C/man3/ldexp.3:104 build/C/man3/scalb.3:126 build/C/man3/scalbln.3:118
4278 "If the result overflows, a range error occurs, and the functions return "
4279 "B<HUGE_VAL>, B<HUGE_VALF>, or B<HUGE_VALL>, respectively, with a sign the "
4284 #: build/C/man3/ldexp.3:137
4285 msgid "B<frexp>(3), B<modf>(3), B<scalbln>(3)"
4289 #: build/C/man3/lgamma.3:7
4295 #: build/C/man3/lgamma.3:11
4297 "lgamma, lgammaf, lgammal, lgamma_r, lgammaf_r, lgammal_r, signgam - log "
4302 #: build/C/man3/lgamma.3:16
4304 msgid "B<double lgamma(double >I<x>B<);>\n"
4308 #: build/C/man3/lgamma.3:18
4310 msgid "B<float lgammaf(float >I<x>B<);>\n"
4314 #: build/C/man3/lgamma.3:20
4316 msgid "B<long double lgammal(long double >I<x>B<);>\n"
4320 #: build/C/man3/lgamma.3:22
4322 msgid "B<double lgamma_r(double >I<x>B<, int *>I<signp>B<);>\n"
4326 #: build/C/man3/lgamma.3:24
4328 msgid "B<float lgammaf_r(float >I<x>B<, int *>I<signp>B<);>\n"
4332 #: build/C/man3/lgamma.3:26
4334 msgid "B<long double lgammal_r(long double >I<x>B<, int *>I<signp>B<);>\n"
4338 #: build/C/man3/lgamma.3:28
4340 msgid "B<extern int >I<signgam>B<;>\n"
4344 #: build/C/man3/lgamma.3:39
4345 msgid "B<lgamma>():"
4349 #: build/C/man3/lgamma.3:49
4350 msgid "B<lgammaf>(), B<lgammal>():"
4354 #: build/C/man3/lgamma.3:59
4355 msgid "B<lgamma_r>(), B<lgammaf_r>(), B<lgammal_r>():"
4359 #: build/C/man3/lgamma.3:63
4364 #: build/C/man3/lgamma.3:80
4366 "The B<lgamma>() function returns the natural logarithm of the absolute "
4367 "value of the Gamma function. The sign of the Gamma function is returned in "
4368 "the external integer I<signgam> declared in I<E<lt>math.hE<gt>>. It is 1 "
4369 "when the Gamma function is positive or zero, -1 when it is negative."
4373 #: build/C/man3/lgamma.3:88
4375 "Since using a constant location I<signgam> is not thread-safe, the functions "
4376 "B<lgamma_r>() etc. have been introduced; they return the sign via the "
4377 "argument I<signp>."
4381 #: build/C/man3/lgamma.3:90
4382 msgid "On success, these functions return the natural logarithm of Gamma(x)."
4386 #: build/C/man3/lgamma.3:98
4387 msgid "If I<x> is 1 or 2, +0 is returned."
4391 #: build/C/man3/lgamma.3:114
4393 "If I<x> is a nonpositive integer, a pole error occurs, and the functions "
4394 "return +B<HUGE_VAL>, +B<HUGE_VALF>, or +B<HUGE_VALL>, respectively."
4398 #: build/C/man3/lgamma.3:124 build/C/man3/tgamma.3:83
4400 "If the result overflows, a range error occurs, and the functions return "
4401 "B<HUGE_VAL>, B<HUGE_VALF>, or B<HUGE_VALL>, respectively, with the correct "
4402 "mathematical sign."
4406 #: build/C/man3/lgamma.3:131
4408 msgid "Pole error: I<x> is a nonpositive integer"
4412 #: build/C/man3/lgamma.3:159
4414 "The B<lgamma>() functions are specified in C99 and POSIX.1-2001. "
4415 "I<signgam> is specified in POSIX.1-2001, but not in C99. The B<lgamma_r>() "
4416 "functions are nonstandard, but present on several other systems."
4419 #. http://sources.redhat.com/bugzilla/show_bug.cgi?id=6777
4421 #: build/C/man3/lgamma.3:169
4423 "In glibc 2.9 and earlier, when a pole error occurs, I<errno> is set to "
4424 "B<EDOM>; instead of the POSIX-mandated B<ERANGE>. Since version 2.10, glibc "
4425 "does the right thing."
4429 #: build/C/man3/lgamma.3:171
4430 msgid "B<tgamma>(3)"
4434 #: build/C/man3/log.3:34
4440 #: build/C/man3/log.3:37
4441 msgid "log, logf, logl - natural logarithmic function"
4445 #: build/C/man3/log.3:42
4447 msgid "B<double log(double >I<x>B<);>\n"
4451 #: build/C/man3/log.3:44
4453 msgid "B<float logf(float >I<x>B<);>\n"
4457 #: build/C/man3/log.3:46
4459 msgid "B<long double logl(long double >I<x>B<);>\n"
4463 #: build/C/man3/log.3:58
4464 msgid "B<logf>(), B<logl>():"
4468 #: build/C/man3/log.3:70
4469 msgid "The B<log>() function returns the natural logarithm of I<x>."
4473 #: build/C/man3/log.3:73
4474 msgid "On success, these functions return the natural logarithm of I<x>."
4478 #: build/C/man3/log.3:82
4479 msgid "If I<x> is 1, the result is +0."
4483 #: build/C/man3/log.3:97 build/C/man3/logb.3:109
4485 "If I<x> is zero, then a pole error occurs, and the functions return "
4486 "-B<HUGE_VAL>, -B<HUGE_VALF>, or -B<HUGE_VALL>, respectively."
4490 #: build/C/man3/log.3:102
4492 "If I<x> is negative (including negative infinity), then a domain error "
4493 "occurs, and a NaN (not a number) is returned."
4497 #: build/C/man3/log.3:109 build/C/man3/y0.3:163
4499 msgid "Domain error: I<x> is negative"
4503 #: build/C/man3/log.3:117
4505 msgid "Pole error: I<x> is zero"
4509 #: build/C/man3/log.3:125 build/C/man3/tgamma.3:123
4511 "I<errno> is set to B<ERANGE>. A divide-by-zero floating-point exception "
4512 "(B<FE_DIVBYZERO>) is raised."
4516 #: build/C/man3/log.3:138
4518 "In glibc 2.5 and earlier, taking the B<log>() of a NaN produces a bogus "
4519 "invalid floating-point (B<FE_INVALID>) exception."
4523 #: build/C/man3/log.3:145
4524 msgid "B<cbrt>(3), B<clog>(3), B<log10>(3), B<log1p>(3), B<log2>(3), B<sqrt>(3)"
4528 #: build/C/man3/log10.3:34
4534 #: build/C/man3/log10.3:37
4535 msgid "log10, log10f, log10l - base-10 logarithmic function"
4539 #: build/C/man3/log10.3:42
4541 msgid "B<double log10(double >I<x>B<);>\n"
4545 #: build/C/man3/log10.3:44
4547 msgid "B<float log10f(float >I<x>B<);>\n"
4551 #: build/C/man3/log10.3:46
4553 msgid "B<long double log10l(long double >I<x>B<);>\n"
4557 #: build/C/man3/log10.3:58
4558 msgid "B<log10f>(), B<log10l>():"
4562 #: build/C/man3/log10.3:70
4563 msgid "The B<log10>() function returns the base 10 logarithm of I<x>."
4567 #: build/C/man3/log10.3:73
4568 msgid "On success, these functions return the base 10 logarithm of I<x>."
4572 #: build/C/man3/log10.3:78 build/C/man3/log2.3:78
4574 "For special cases, including where I<x> is 0, 1, negative, infinity, or NaN, "
4579 #: build/C/man3/log10.3:86 build/C/man3/log2.3:86
4581 "For a discussion of the errors that can occur for these functions, see "
4586 #: build/C/man3/log10.3:99
4587 msgid "B<cbrt>(3), B<clog10>(3), B<exp10>(3), B<log>(3), B<log2>(3), B<sqrt>(3)"
4591 #: build/C/man3/log1p.3:27
4597 #: build/C/man3/log1p.3:30
4598 msgid "log1p, log1pf, log1pl - logarithm of 1 plus argument"
4602 #: build/C/man3/log1p.3:35
4604 msgid "B<double log1p(double >I<x>B<);>\n"
4608 #: build/C/man3/log1p.3:37
4610 msgid "B<float log1pf(float >I<x>B<);>\n"
4614 #: build/C/man3/log1p.3:39
4616 msgid "B<long double log1pl(long double >I<x>B<);>\n"
4620 #: build/C/man3/log1p.3:50
4625 #: build/C/man3/log1p.3:61
4626 msgid "B<log1pf>(), B<log1pl>():"
4630 #: build/C/man3/log1p.3:72
4631 msgid "I<log1p(x)> returns a value equivalent to"
4635 #: build/C/man3/log1p.3:75
4637 msgid " log (1 + I<x>)\n"
4641 #: build/C/man3/log1p.3:79
4643 "It is computed in a way that is accurate even if the value of I<x> is near "
4648 #: build/C/man3/log1p.3:82
4649 msgid "On success, these functions return the natural logarithm of I<(1\\ +\\ x)>."
4653 #: build/C/man3/log1p.3:101
4655 "If I<x> is -1, a pole error occurs, and the functions return -B<HUGE_VAL>, "
4656 "-B<HUGE_VALF>, or -B<HUGE_VALL>, respectively."
4659 #. POSIX.1 specifies a possible range error if x is subnormal
4660 #. glibc 2.8 doesn't do this
4662 #: build/C/man3/log1p.3:109
4664 "If I<x> is less than -1 (including negative infinity), a domain error "
4665 "occurs, and a NaN (not a number) is returned."
4669 #: build/C/man3/log1p.3:116
4671 msgid "Domain error: I<x> is less than -1"
4675 #: build/C/man3/log1p.3:124
4677 msgid "Pole error: I<x> is -1"
4684 #: build/C/man3/log1p.3:132 build/C/man3/logb.3:129
4685 msgid "A divide-by-zero floating-point exception (B<FE_DIVBYZERO>) is raised."
4689 #: build/C/man3/log1p.3:145
4690 msgid "B<exp>(3), B<expm1>(3), B<log>(3)"
4694 #: build/C/man3/log2.3:34
4700 #: build/C/man3/log2.3:37
4701 msgid "log2, log2f, log2l - base-2 logarithmic function"
4705 #: build/C/man3/log2.3:42
4707 msgid "B<double log2(double >I<x>B<);>\n"
4711 #: build/C/man3/log2.3:44
4713 msgid "B<float log2f(float >I<x>B<);>\n"
4717 #: build/C/man3/log2.3:46
4719 msgid "B<long double log2l(long double >I<x>B<);>\n"
4723 #: build/C/man3/log2.3:59
4724 msgid "B<log2>(), B<log2f>(), B<log2l>():"
4728 #: build/C/man3/log2.3:70
4729 msgid "The B<log2>() function returns the base 2 logarithm of I<x>."
4733 #: build/C/man3/log2.3:73
4734 msgid "On success, these functions return the base 2 logarithm of I<x>."
4738 #: build/C/man3/log2.3:100
4739 msgid "B<cbrt>(3), B<clog2>(3), B<log>(3), B<log10>(3), B<sqrt>(3)"
4743 #: build/C/man3/logb.3:27
4749 #: build/C/man3/logb.3:30
4750 msgid "logb, logbf, logbl - get exponent of a floating-point value"
4754 #: build/C/man3/logb.3:34
4755 msgid "B<double logb(double >I<x>B<);>"
4759 #: build/C/man3/logb.3:36
4760 msgid "B<float logbf(float >I<x>B<);>"
4764 #: build/C/man3/logb.3:38
4765 msgid "B<long double logbl(long double >I<x>B<);>"
4769 #: build/C/man3/logb.3:48
4774 #: build/C/man3/logb.3:59
4775 msgid "B<logbf>(), B<logbl>():"
4779 #: build/C/man3/logb.3:84
4781 "These functions extract the exponent from the internal floating-point "
4782 "representation of I<x> and return it as a floating-point value. The integer "
4783 "constant B<FLT_RADIX>, defined in I<E<lt>float.hE<gt>>, indicates the radix "
4784 "used for the system's floating-point representation. If B<FLT_RADIX> is 2, "
4785 "B<logb(>I<x>B<)> is equal to B<floor(log2(>I<x>B<))>, except that it is "
4790 #: build/C/man3/logb.3:92
4792 "If I<x> is subnormal, B<logb>() returns the exponent I<x> would have if it "
4797 #: build/C/man3/logb.3:95
4798 msgid "On success, these functions return the exponent of I<x>."
4802 #: build/C/man3/logb.3:114
4804 "If I<x> is negative infinity or positive infinity, then positive infinity is "
4809 #: build/C/man3/logb.3:121
4811 msgid "Pole error: I<x> is 0"
4815 #: build/C/man3/logb.3:146
4816 msgid "B<ilogb>(3), B<log>(3)"
4820 #: build/C/man3/lrint.3:25
4826 #: build/C/man3/lrint.3:28
4827 msgid "lrint, lrintf, lrintl, llrint, llrintf, llrintl - round to nearest integer"
4831 #: build/C/man3/lrint.3:33
4833 msgid "B<long int lrint(double >I<x>B<);>\n"
4837 #: build/C/man3/lrint.3:35
4839 msgid "B<long int lrintf(float >I<x>B<);>\n"
4843 #: build/C/man3/lrint.3:37
4845 msgid "B<long int lrintl(long double >I<x>B<);>\n"
4849 #: build/C/man3/lrint.3:39
4851 msgid "B<long long int llrint(double >I<x>B<);>\n"
4855 #: build/C/man3/lrint.3:41
4857 msgid "B<long long int llrintf(float >I<x>B<);>\n"
4861 #: build/C/man3/lrint.3:43
4863 msgid "B<long long int llrintl(long double >I<x>B<);>\n"
4867 #: build/C/man3/lrint.3:54 build/C/man3/lround.3:55
4868 msgid "All functions shown above:"
4872 #: build/C/man3/lrint.3:66
4874 "These functions round their argument to the nearest integer value, using the "
4875 "current rounding direction (see B<fesetround>(3))."
4879 #: build/C/man3/lrint.3:71
4881 "Note that unlike B<rint>(3), etc., the return type of these functions "
4882 "differs from that of their arguments."
4886 #: build/C/man3/lrint.3:73 build/C/man3/lround.3:76 build/C/man3/rint.3:105 build/C/man3/round.3:73 build/C/man3/trunc.3:61
4887 msgid "These functions return the rounded integer value."
4890 #. The return value is -(LONG_MAX - 1) or -(LLONG_MAX -1)
4892 #: build/C/man3/lrint.3:85 build/C/man3/lround.3:88
4894 "If I<x> is a NaN or an infinity, or the rounded value is too large to be "
4895 "stored in a I<long> (I<long long> in the case of the B<ll*> functions) then "
4896 "a domain error occurs, and the return value is unspecified."
4900 #: build/C/man3/lrint.3:92 build/C/man3/lround.3:95
4902 msgid "Domain error: I<x> is a NaN or infinite, or the rounded value is too large"
4906 #: build/C/man3/lrint.3:116
4908 "B<ceil>(3), B<floor>(3), B<lround>(3), B<nearbyint>(3), B<rint>(3), "
4913 #: build/C/man3/lround.3:25
4919 #: build/C/man3/lround.3:29
4921 "lround, lroundf, lroundl, llround, llroundf, llroundl - round to nearest "
4922 "integer, away from zero"
4926 #: build/C/man3/lround.3:34
4928 msgid "B<long int lround(double >I<x>B<);>\n"
4932 #: build/C/man3/lround.3:36
4934 msgid "B<long int lroundf(float >I<x>B<);>\n"
4938 #: build/C/man3/lround.3:38
4940 msgid "B<long int lroundl(long double >I<x>B<);>\n"
4944 #: build/C/man3/lround.3:40
4946 msgid "B<long long int llround(double >I<x>B<);>\n"
4950 #: build/C/man3/lround.3:42
4952 msgid "B<long long int llroundf(float >I<x>B<);>\n"
4956 #: build/C/man3/lround.3:44
4958 msgid "B<long long int llroundl(long double >I<x>B<);>\n"
4962 #: build/C/man3/lround.3:68
4964 "These functions round their argument to the nearest integer value, rounding "
4965 "away from zero, regardless of the current rounding direction (see "
4970 #: build/C/man3/lround.3:74
4972 "Note that unlike B<round>(3), B<ceil>(3), etc., the return type of these "
4973 "functions differs from that of their arguments."
4977 #: build/C/man3/lround.3:119 build/C/man3/trunc.3:85
4979 "B<ceil>(3), B<floor>(3), B<lrint>(3), B<nearbyint>(3), B<rint>(3), "
4984 #: build/C/man7/math_error.7:24
4990 #: build/C/man7/math_error.7:27
4991 msgid "math_error - detecting errors from mathematical functions"
4995 #: build/C/man7/math_error.7:32
4998 "B<#include E<lt>math.hE<gt>>\n"
4999 "B<#include E<lt>errno.hE<gt>>\n"
5000 "B<#include E<lt>fenv.hE<gt>>\n"
5004 #: build/C/man7/math_error.7:51
5006 "When an error occurs, most library functions indicate this fact by returning "
5007 "a special value (e.g., -1 or NULL). Because they typically return a "
5008 "floating-point number, the mathematical functions declared in "
5009 "I<E<lt>math.hE<gt>> indicate an error using other mechanisms. There are two "
5010 "error-reporting mechanisms: the older one sets I<errno>; the newer one uses "
5011 "the floating-point exception mechanism (the use of B<feclearexcept>(3) and "
5012 "B<fetestexcept>(3), as outlined below) described in B<fenv>(3)."
5016 #: build/C/man7/math_error.7:56
5018 "A portable program that needs to check for an error from a mathematical "
5019 "function should set I<errno> to zero, and make the following call"
5023 #: build/C/man7/math_error.7:60
5025 msgid "feclearexcept(FE_ALL_EXCEPT);\n"
5029 #: build/C/man7/math_error.7:64
5030 msgid "before calling a mathematical function."
5034 #: build/C/man7/math_error.7:70
5036 "Upon return from the mathematical function, if I<errno> is nonzero, or the "
5037 "following call (see B<fenv>(3)) returns nonzero"
5041 #: build/C/man7/math_error.7:75
5044 "fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW |\n"
5050 #. FE_INVALID = 0x01,
5051 #. __FE_DENORM = 0x02,
5052 #. FE_DIVBYZERO = 0x04,
5053 #. FE_OVERFLOW = 0x08,
5054 #. FE_UNDERFLOW = 0x10,
5055 #. FE_INEXACT = 0x20
5058 #: build/C/man7/math_error.7:88
5059 msgid "then an error occurred in the mathematical function."
5063 #: build/C/man7/math_error.7:91
5065 "The error conditions that can occur for mathematical functions are described "
5070 #: build/C/man7/math_error.7:91
5072 msgid "Domain Error"
5076 #: build/C/man7/math_error.7:107
5078 "A I<domain error> occurs when a mathematical function is supplied with an "
5079 "argument whose value falls outside the domain for which the function is "
5080 "defined (e.g., giving a negative argument to B<log>(3)). When a domain "
5081 "error occurs, math functions commonly return a NaN (though some functions "
5082 "return a different value in this case); I<errno> is set to B<EDOM>, and an "
5083 "\"invalid\" (B<FE_INVALID>) floating-point exception is raised."
5087 #: build/C/man7/math_error.7:107
5093 #: build/C/man7/math_error.7:131
5095 "A I<pole error> occurs when the mathematical result of a function is an "
5096 "exact infinity (e.g., the logarithm of 0 is negative infinity). When a pole "
5097 "error occurs, the function returns the (signed) value B<HUGE_VAL>, "
5098 "B<HUGE_VALF>, or B<HUGE_VALL>, depending on whether the function result type "
5099 "is I<double>, I<float>, or I<long double>. The sign of the result is that "
5100 "which is mathematically correct for the function. I<errno> is set to "
5101 "B<ERANGE>, and a \"divide-by-zero\" (B<FE_DIVBYZERO>) floating-point "
5102 "exception is raised."
5106 #: build/C/man7/math_error.7:131
5112 #: build/C/man7/math_error.7:138
5114 "A I<range error> occurs when the magnitude of the function result means that "
5115 "it cannot be represented in the result type of the function. The return "
5116 "value of the function depends on whether the range error was an overflow or "
5121 #: build/C/man7/math_error.7:160
5123 "A floating result I<overflows> if the result is finite, but is too large to "
5124 "represented in the result type. When an overflow occurs, the function "
5125 "returns the value B<HUGE_VAL>, B<HUGE_VALF>, or B<HUGE_VALL>, depending on "
5126 "whether the function result type is I<double>, I<float>, or I<long double>. "
5127 "I<errno> is set to B<ERANGE>, and an \"overflow\" (B<FE_OVERFLOW>) "
5128 "floating-point exception is raised."
5132 #: build/C/man7/math_error.7:175
5134 "A floating result I<underflows> if the result is too small to be represented "
5135 "in the result type. If an underflow occurs, a mathematical function "
5136 "typically returns 0.0 (C99 says a function shall return \"an "
5137 "implementation-defined value whose magnitude is no greater than the smallest "
5138 "normalized positive number in the specified type\"). I<errno> may be set to "
5139 "B<ERANGE>, and an \"overflow\" (B<FE_UNDERFLOW>) floating-point exception "
5144 #: build/C/man7/math_error.7:185
5146 "Some functions deliver a range error if the supplied argument value, or the "
5147 "correct function result, would be I<subnormal>. A subnormal value is one "
5148 "that is nonzero, but with a magnitude that is so small that it can't be "
5149 "presented in normalized form (i.e., with a 1 in the most significant bit of "
5150 "the significand). The representation of a subnormal number will contain one "
5151 "or more leading zeros in the significand."
5154 #. See CONFORMANCE in the glibc 2.8 (and earlier) source.
5156 #: build/C/man7/math_error.7:207
5158 "The I<math_errhandling> identifier specified by C99 and POSIX.1-2001 is not "
5159 "supported by glibc. This identifier is supposed to indicate which of the "
5160 "two error-notification mechanisms (I<errno>, exceptions retrievable via "
5161 "B<fettestexcept>(3)) is in use. The standards require that at least one be "
5162 "in use, but permit both to be available. The current (version 2.8) "
5163 "situation under glibc is messy. Most (but not all) functions raise "
5164 "exceptions on errors. Some also set I<errno>. A few functions set "
5165 "I<errno>, but don't raise an exception. A very few functions do neither. "
5166 "See the individual manual pages for details."
5169 #. http://www.securecoding.cert.org/confluence/display/seccode/FLP32-C.+Prevent+or+detect+domain+and+range+errors+in+math+functions
5171 #: build/C/man7/math_error.7:220
5173 "To avoid the complexities of using I<errno> and B<fetestexcept>(3) for "
5174 "error checking, it is often advised that one should instead check for bad "
5175 "argument values before each call. For example, the following code ensures "
5176 "that B<log>(3)'s argument is not a NaN and is not zero (a pole error) or "
5177 "less than zero (a domain error):"
5181 #: build/C/man7/math_error.7:224
5183 msgid "double x, r;\n"
5187 #: build/C/man7/math_error.7:228
5190 "if (isnan(x) || islessequal(x, 0)) {\n"
5191 " /* Deal with NaN / pole error / domain error */\n"
5196 #: build/C/man7/math_error.7:230
5198 msgid "r = log(x);\n"
5202 #: build/C/man7/math_error.7:238
5204 "The discussion on this page does not apply to the complex mathematical "
5205 "functions (i.e., those declared by I<E<lt>complex.hE<gt>>), which in general "
5206 "are not required to return errors by C99 and POSIX.1-2001."
5210 #: build/C/man7/math_error.7:254
5212 "The B<gcc>(1) I<-fno-math-errno> option causes the executable to employ "
5213 "implementations of some mathematical functions that are faster than the "
5214 "standard implementations, but do not set I<errno> on error. (The B<gcc>(1) "
5215 "I<-ffast-math> option also enables I<-fno-math-errno>.) An error can still "
5216 "be tested for using B<fetestexcept>(3)."
5220 #: build/C/man7/math_error.7:263
5222 "B<gcc>(1), B<errno>(3), B<fenv>(3), B<fpclassify>(3), B<INFINITY>(3), "
5223 "B<isgreater>(3), B<matherr>(3), B<nan>(3)"
5227 #: build/C/man7/math_error.7:265
5228 msgid "I<info libc>"
5232 #: build/C/man3/matherr.3:25
5238 #: build/C/man3/matherr.3:25
5244 #: build/C/man3/matherr.3:28
5245 msgid "matherr - SVID math library exception handling"
5249 #: build/C/man3/matherr.3:32
5252 "B<#define _SVID_SOURCE> /* See feature_test_macros(7) */\n"
5253 "B<#include E<lt>math.hE<gt>>\n"
5257 #: build/C/man3/matherr.3:34
5259 msgid "B<int matherr(struct exception *>I<exc>B<);>\n"
5263 #: build/C/man3/matherr.3:36
5265 msgid "B<extern _LIB_VERSION_TYPE _LIB_VERSION;>\n"
5269 #: build/C/man3/matherr.3:49
5271 "The System V Interface Definition (SVID) specifies that various math "
5272 "functions should invoke a function called B<matherr>() if a math exception "
5273 "is detected. This function is called before the math function returns; "
5274 "after B<matherr>() returns, the system then returns to the math function, "
5275 "which in turn returns to the caller."
5279 #: build/C/man3/matherr.3:60
5281 "The B<matherr>() mechanism is supported by glibc, but is now obsolete: new "
5282 "applications should use the techniques described in B<math_error>(7) and "
5283 "B<fenv>(3). This page documents the glibc B<matherr>() mechanism as an aid "
5284 "for maintaining and porting older applications."
5288 #: build/C/man3/matherr.3:73
5290 "To employ B<matherr>(), the programmer must define the B<_SVID_SOURCE> "
5291 "feature test macro (before including I<any> header files), and assign the "
5292 "value B<_SVID_> to the external variable B<_LIB_VERSION>."
5296 #: build/C/man3/matherr.3:85
5298 "The system provides a default version of B<matherr>(). This version does "
5299 "nothing, and returns zero (see below for the significance of this). The "
5300 "default B<matherr>() can be overridden by a programmer-defined version, "
5301 "which will be invoked when an exception occurs. The function is invoked "
5302 "with one argument, a pointer to an I<exception> structure, defined as "
5307 #: build/C/man3/matherr.3:95
5310 "struct exception {\n"
5311 " int type; /* Exception type */\n"
5312 " char *name; /* Name of function causing exception */\n"
5313 " double arg1; /* 1st argument to function */\n"
5314 " double arg2; /* 2nd argument to function */\n"
5315 " double retval; /* Function return value */\n"
5320 #: build/C/man3/matherr.3:101
5321 msgid "The I<type> field has one of the following values:"
5325 #: build/C/man3/matherr.3:101
5331 #: build/C/man3/matherr.3:109
5333 "A domain error occurred (the function argument was outside the range for "
5334 "which the function is defined). The return value depends on the function; "
5335 "I<errno> is set to B<EDOM>."
5339 #: build/C/man3/matherr.3:109
5345 #: build/C/man3/matherr.3:120
5347 "A pole error occurred (the function result is an infinity). The return "
5348 "value in most cases is B<HUGE> (the largest single precision floating-point "
5349 "number), appropriately signed. In most cases, I<errno> is set to B<EDOM>."
5353 #: build/C/man3/matherr.3:120
5359 #: build/C/man3/matherr.3:129
5361 "An overflow occurred. In most cases, the value B<HUGE> is returned, and "
5362 "I<errno> is set to B<ERANGE>."
5366 #: build/C/man3/matherr.3:129
5368 msgid "B<UNDERFLOW>"
5372 #: build/C/man3/matherr.3:136
5373 msgid "An underflow occurred. 0.0 is returned, and I<errno> is set to B<ERANGE>."
5377 #: build/C/man3/matherr.3:136
5383 #: build/C/man3/matherr.3:143
5385 "Total loss of significance. 0.0 is returned, and I<errno> is set to "
5390 #: build/C/man3/matherr.3:143
5396 #: build/C/man3/matherr.3:148
5398 "Partial loss of significance. This value is unused on glibc (and many other "
5403 #: build/C/man3/matherr.3:156
5405 "The I<arg1> and I<arg2> fields are the arguments supplied to the function "
5406 "(I<arg2> is undefined for functions that take only one argument)."
5410 #: build/C/man3/matherr.3:164
5412 "The I<retval> field specifies the return value that the math function will "
5413 "return to its caller. The programmer-defined B<matherr>() can modify this "
5414 "field to change the return value of the math function."
5418 #: build/C/man3/matherr.3:171
5420 "If the B<matherr>() function returns zero, then the system sets I<errno> as "
5421 "described above, and may print an error message on standard error (see "
5426 #: build/C/man3/matherr.3:177
5428 "If the B<matherr>() function returns a nonzero value, then the system does "
5429 "not set I<errno>, and doesn't print an error message."
5433 #: build/C/man3/matherr.3:177
5435 msgid "Math functions that employ matherr()"
5439 #: build/C/man3/matherr.3:187
5441 "The table below lists the functions and circumstances in which B<matherr>() "
5442 "is called. The \"Type\" column indicates the value assigned to "
5443 "I<exc-E<gt>type> when calling B<matherr>(). The \"Result\" column is the "
5444 "default return value assigned to I<exc-E<gt>retval>."
5448 #: build/C/man3/matherr.3:193
5450 "The \"Msg?\" and \"errno\" columns describe the default behavior if "
5451 "B<matherr>() returns zero. If the \"Msg?\" columns contains \"y\", then "
5452 "the system prints an error message on standard error."
5456 #: build/C/man3/matherr.3:195
5457 msgid "The table uses the following notations and abbreviations:"
5461 #: build/C/man3/matherr.3:207
5464 "x first argument to function\n"
5465 "y second argument to function\n"
5466 "fin finite value for argument\n"
5467 "neg negative value for argument\n"
5468 "int integral value for argument\n"
5469 "o/f result overflowed\n"
5470 "u/f result underflowed\n"
5471 "|x| absolute value of x\n"
5472 "X_TLOSS is a constant defined in I<E<lt>math.hE<gt>>\n"
5476 #: build/C/man3/matherr.3:214
5478 msgid "Function\tType\tResult\tMsg?\terrno\n"
5482 #: build/C/man3/matherr.3:215
5484 msgid "acos(|x|E<gt>1)\tDOMAIN\tHUGE\ty\tEDOM\n"
5488 #: build/C/man3/matherr.3:216
5490 msgid "asin(|x|E<gt>1)\tDOMAIN\tHUGE\ty\tEDOM\n"
5494 #: build/C/man3/matherr.3:217
5496 msgid "atan2(0,0)\tDOMAIN\tHUGE\ty\tEDOM\n"
5499 #. retval is 0.0/0.0
5501 #: build/C/man3/matherr.3:218
5503 msgid "acosh(xE<lt>1)\tDOMAIN\tNAN\ty\tEDOM \n"
5506 #. retval is 0.0/0.0
5508 #: build/C/man3/matherr.3:219
5510 msgid "atanh(|x|E<gt>1)\tDOMAIN\tNAN\ty\tEDOM \n"
5515 #: build/C/man3/matherr.3:220
5517 msgid "atanh(|x|==1)\tSING\t(xE<gt>0.0)?\ty\tEDOM \n"
5521 #: build/C/man3/matherr.3:221 build/C/man3/matherr.3:266
5523 msgid "\\ \t\\ \tHUGE_VAL :\n"
5527 #: build/C/man3/matherr.3:222 build/C/man3/matherr.3:267
5529 msgid "\\ \t\\ \t-HUGE_VAL\n"
5533 #: build/C/man3/matherr.3:223
5535 msgid "cosh(fin) o/f\tOVERFLOW\tHUGE\tn\tERANGE\n"
5539 #: build/C/man3/matherr.3:224
5541 msgid "sinh(fin) o/f\tOVERFLOW\t(xE<gt>0.0) ?\tn\tERANGE\n"
5545 #: build/C/man3/matherr.3:225
5547 msgid "\\ \t\\ \tHUGE : -HUGE\n"
5551 #: build/C/man3/matherr.3:226
5553 msgid "sqrt(xE<lt>0)\tDOMAIN\t0.0\ty\tEDOM\n"
5557 #: build/C/man3/matherr.3:227
5559 msgid "hypot(fin,fin) o/f\tOVERFLOW\tHUGE\tn\tERANGE\n"
5563 #: build/C/man3/matherr.3:228
5565 msgid "exp(fin) o/f\tOVERFLOW\tHUGE\tn\tERANGE\n"
5569 #: build/C/man3/matherr.3:229
5571 msgid "exp(fin) u/f\tUNDERFLOW\t0.0\tn\tERANGE\n"
5575 #: build/C/man3/matherr.3:230
5577 msgid "exp2(fin) o/f\tOVERFLOW\tHUGE\tn\tERANGE\n"
5581 #: build/C/man3/matherr.3:231
5583 msgid "exp2(fin) u/f\tUNDERFLOW\t0.0\tn\tERANGE\n"
5587 #: build/C/man3/matherr.3:232
5589 msgid "exp10(fin) o/f\tOVERFLOW\tHUGE\tn\tERANGE\n"
5593 #: build/C/man3/matherr.3:233
5595 msgid "exp10(fin) u/f\tUNDERFLOW\t0.0\tn\tERANGE\n"
5599 #: build/C/man3/matherr.3:234
5601 msgid "j0(|x|E<gt>X_TLOSS)\tTLOSS\t0.0\ty\tERANGE\n"
5605 #: build/C/man3/matherr.3:235
5607 msgid "j1(|x|E<gt>X_TLOSS)\tTLOSS\t0.0\ty\tERANGE\n"
5611 #: build/C/man3/matherr.3:236
5613 msgid "jn(|x|E<gt>X_TLOSS)\tTLOSS\t0.0\ty\tERANGE\n"
5617 #: build/C/man3/matherr.3:237
5619 msgid "y0(xE<gt>X_TLOSS)\tTLOSS\t0.0\ty\tERANGE\n"
5623 #: build/C/man3/matherr.3:238
5625 msgid "y1(xE<gt>X_TLOSS)\tTLOSS\t0.0\ty\tERANGE\n"
5629 #: build/C/man3/matherr.3:239
5631 msgid "yn(xE<gt>X_TLOSS)\tTLOSS\t0.0\ty\tERANGE\n"
5635 #: build/C/man3/matherr.3:240
5637 msgid "y0(0)\tDOMAIN\t-HUGE\ty\tEDOM\n"
5641 #: build/C/man3/matherr.3:241
5643 msgid "y0(xE<lt>0)\tDOMAIN\t-HUGE\ty\tEDOM\n"
5647 #: build/C/man3/matherr.3:242
5649 msgid "y1(0)\tDOMAIN\t-HUGE\ty\tEDOM\n"
5653 #: build/C/man3/matherr.3:243
5655 msgid "y1(xE<lt>0)\tDOMAIN\t-HUGE\ty\tEDOM\n"
5659 #: build/C/man3/matherr.3:244
5661 msgid "yn(n,0)\tDOMAIN\t-HUGE\ty\tEDOM\n"
5665 #: build/C/man3/matherr.3:245
5667 msgid "yn(xE<lt>0)\tDOMAIN\t-HUGE\ty\tEDOM\n"
5671 #: build/C/man3/matherr.3:246
5673 msgid "lgamma(fin) o/f\tOVERFLOW\tHUGE\tn\tERANGE\n"
5677 #: build/C/man3/matherr.3:247
5679 msgid "lgamma(-int) or\tSING\tHUGE\ty\tEDOM\n"
5683 #: build/C/man3/matherr.3:248
5685 msgid "\\ \\ lgamma(0)\n"
5689 #: build/C/man3/matherr.3:249
5691 msgid "tgamma(fin) o/f\tOVERFLOW\tHUGE_VAL\tn\tERANGE\n"
5695 #: build/C/man3/matherr.3:250
5697 msgid "tgamma(-int)\tSING\tNAN\ty\tEDOM\n"
5701 #: build/C/man3/matherr.3:251
5703 msgid "tgamma(0)\tSING\tcopysign(\ty\tERANGE\n"
5707 #: build/C/man3/matherr.3:252
5709 msgid "\\ \t\\ \tHUGE_VAL,x)\n"
5713 #: build/C/man3/matherr.3:253
5715 msgid "log(0)\tSING\t-HUGE\ty\tEDOM\n"
5719 #: build/C/man3/matherr.3:254
5721 msgid "log(xE<lt>0)\tDOMAIN\t-HUGE\ty\tEDOM\n"
5724 #. different from log()
5726 #: build/C/man3/matherr.3:255
5728 msgid "log2(0)\tSING\t-HUGE\tn\tEDOM\t\n"
5731 #. different from log()
5733 #: build/C/man3/matherr.3:256
5735 msgid "log2(xE<lt>0)\tDOMAIN\t-HUGE\tn\tEDOM\t\n"
5739 #: build/C/man3/matherr.3:257
5741 msgid "log10(0)\tSING\t-HUGE\ty\tEDOM\n"
5745 #: build/C/man3/matherr.3:258
5747 msgid "log10(xE<lt>0)\tDOMAIN\t-HUGE\ty\tEDOM\n"
5751 #: build/C/man3/matherr.3:259
5753 msgid "pow(0.0,0.0)\tDOMAIN\t0.0\ty\tEDOM\n"
5757 #: build/C/man3/matherr.3:260
5759 msgid "pow(x,y) o/f\tOVERFLOW\tHUGE\tn\tERANGE\n"
5763 #: build/C/man3/matherr.3:261
5765 msgid "pow(x,y) u/f\tUNDERFLOW\t0.0\tn\tERANGE\n"
5769 #: build/C/man3/matherr.3:262
5771 msgid "pow(NaN,0.0)\tDOMAIN\tx\tn\tEDOM\n"
5776 #: build/C/man3/matherr.3:263
5778 msgid "0**neg\tDOMAIN\t0.0\ty\tEDOM\t\n"
5782 #: build/C/man3/matherr.3:264
5784 msgid "neg**non-int\tDOMAIN\t0.0\ty\tEDOM\n"
5788 #: build/C/man3/matherr.3:265
5790 msgid "scalb() o/f\tOVERFLOW\t(xE<gt>0.0) ?\tn\tERANGE\n"
5794 #: build/C/man3/matherr.3:268
5796 msgid "scalb() u/f\tUNDERFLOW\tcopysign(\tn\tERANGE\n"
5800 #: build/C/man3/matherr.3:269
5802 msgid "\\ \t\\ \t\\ \\ 0.0,x)\n"
5806 #: build/C/man3/matherr.3:270
5808 msgid "fmod(x,0)\tDOMAIN\tx\ty\tEDOM\n"
5811 #. retval is 0.0/0.0
5813 #: build/C/man3/matherr.3:271
5815 msgid "remainder(x,0)\tDOMAIN\tNAN\ty\tEDOM \n"
5819 #: build/C/man3/matherr.3:294
5821 "The example program demonstrates the use of B<matherr>() when calling "
5822 "B<log>(3). The program takes up to three command-line arguments. The first "
5823 "argument is the floating-point number to be given to B<log>(3). If the "
5824 "optional second argument is provided, then B<_LIB_VERSION> is set to "
5825 "B<_SVID_> so that B<matherr>() is called, and the integer supplied in the "
5826 "command-line argument is used as the return value from B<matherr>(). If the "
5827 "optional third command-line argument is supplied, then it specifies an "
5828 "alternative return value that B<matherr>() should assign as the return "
5829 "value of the math function."
5833 #: build/C/man3/matherr.3:299
5835 "The following example run, where B<log>(3) is given an argument of 0.0, "
5836 "does not use B<matherr>():"
5840 #: build/C/man3/matherr.3:305
5843 "$B< ./a.out 0.0>\n"
5844 "errno: Numerical result out of range\n"
5849 #: build/C/man3/matherr.3:311
5850 msgid "In the following run, B<matherr>() is called, and returns 0:"
5854 #: build/C/man3/matherr.3:321
5857 "$B< ./a.out 0.0 0>\n"
5858 "matherr SING exception in log() function\n"
5859 " args: 0.000000, 0.000000\n"
5860 " retval: -340282346638528859811704183484516925440.000000\n"
5862 "errno: Numerical argument out of domain\n"
5863 "x=-340282346638528859811704183484516925440.000000\n"
5867 #: build/C/man3/matherr.3:325
5868 msgid "The message \"log: SING error\" was printed by the C library."
5872 #: build/C/man3/matherr.3:329
5873 msgid "In the following run, B<matherr>() is called, and returns a nonzero value:"
5877 #: build/C/man3/matherr.3:337
5880 "$B< ./a.out 0.0 1>\n"
5881 "matherr SING exception in log() function\n"
5882 " args: 0.000000, 0.000000\n"
5883 " retval: -340282346638528859811704183484516925440.000000\n"
5884 "x=-340282346638528859811704183484516925440.000000\n"
5888 #: build/C/man3/matherr.3:343
5890 "In this case, the C library did not print a message, and I<errno> was not "
5895 #: build/C/man3/matherr.3:348
5897 "In the following run, B<matherr>() is called, changes the return value of "
5898 "the math function, and returns a nonzero value:"
5902 #: build/C/man3/matherr.3:356
5905 "$B< ./a.out 0.0 1 12345.0>\n"
5906 "matherr SING exception in log() function\n"
5907 " args: 0.000000, 0.000000\n"
5908 " retval: -340282346638528859811704183484516925440.000000\n"
5913 #: build/C/man3/matherr.3:366
5916 "#define _SVID_SOURCE\n"
5917 "#include E<lt>errno.hE<gt>\n"
5918 "#include E<lt>math.hE<gt>\n"
5919 "#include E<lt>stdio.hE<gt>\n"
5920 "#include E<lt>stdlib.hE<gt>\n"
5924 #: build/C/man3/matherr.3:372
5927 "static int matherr_ret = 0; /* Value that matherr()\n"
5928 " should return */\n"
5929 "static int change_retval = 0; /* Should matherr() change\n"
5930 " function\\(aqs return value? */\n"
5931 "static double new_retval; /* New function return value */\n"
5935 #: build/C/man3/matherr.3:387
5939 "matherr(struct exception *exc)\n"
5941 " fprintf(stderr, \"matherr %s exception in %s() function\\en\",\n"
5942 " (exc-E<gt>type == DOMAIN) ? \"DOMAIN\" :\n"
5943 " (exc-E<gt>type == OVERFLOW) ? \"OVERFLOW\" :\n"
5944 " (exc-E<gt>type == UNDERFLOW) ? \"UNDERFLOW\" :\n"
5945 " (exc-E<gt>type == SING) ? \"SING\" :\n"
5946 " (exc-E<gt>type == TLOSS) ? \"TLOSS\" :\n"
5947 " (exc-E<gt>type == PLOSS) ? \"PLOSS\" : \"???\",\n"
5948 " exc-E<gt>name);\n"
5949 " fprintf(stderr, \" args: %f, %f\\en\",\n"
5950 " exc-E<gt>arg1, exc-E<gt>arg2);\n"
5951 " fprintf(stderr, \" retval: %f\\en\", exc-E<gt>retval);\n"
5955 #: build/C/man3/matherr.3:390
5958 " if (change_retval)\n"
5959 " exc-E<gt>retval = new_retval;\n"
5963 #: build/C/man3/matherr.3:393
5966 " return matherr_ret;\n"
5971 #: build/C/man3/matherr.3:398
5975 "main(int argc, char *argv[])\n"
5981 #: build/C/man3/matherr.3:404
5984 " if (argc E<lt> 2) {\n"
5985 " fprintf(stderr, \"Usage: %s E<lt>argvalE<gt>\"\n"
5986 " \" [E<lt>matherr-retE<gt> "
5987 "[E<lt>new-func-retvalE<gt>]]\\en\", argv[0]);\n"
5988 " exit(EXIT_FAILURE);\n"
5993 #: build/C/man3/matherr.3:409
5996 " if (argc E<gt> 2) {\n"
5997 " _LIB_VERSION = _SVID_;\n"
5998 " matherr_ret = atoi(argv[2]);\n"
6003 #: build/C/man3/matherr.3:414
6006 " if (argc E<gt> 3) {\n"
6007 " change_retval = 1;\n"
6008 " new_retval = atof(argv[3]);\n"
6013 #: build/C/man3/matherr.3:418
6016 " x = log(atof(argv[1]));\n"
6017 " if (errno != 0)\n"
6018 " perror(\"errno\");\n"
6022 #: build/C/man3/matherr.3:422
6025 " printf(\"x=%f\\en\", x);\n"
6026 " exit(EXIT_SUCCESS);\n"
6031 #: build/C/man3/matherr.3:427
6032 msgid "B<fenv>(3), B<math_error>(7), B<standards>(7)"
6036 #: build/C/man3/modf.3:31
6042 #: build/C/man3/modf.3:35
6044 "modf, modff, modfl - extract signed integral and fractional values from "
6045 "floating-point number"
6049 #: build/C/man3/modf.3:40
6051 msgid "B<double modf(double >I<x>B<, double *>I<iptr>B<);>\n"
6055 #: build/C/man3/modf.3:42
6057 msgid "B<float modff(float >I<x>B<, float *>I<iptr>B<);>\n"
6061 #: build/C/man3/modf.3:44
6063 msgid "B<long double modfl(long double >I<x>B<, long double *>I<iptr>B<);>\n"
6067 #: build/C/man3/modf.3:56
6068 msgid "B<modf>(), B<modfl>():"
6072 #: build/C/man3/modf.3:70
6074 "The B<modf>() function breaks the argument I<x> into an integral part and a "
6075 "fractional part, each of which has the same sign as I<x>. The integral part "
6076 "is stored in the location pointed to by I<iptr>."
6080 #: build/C/man3/modf.3:74
6081 msgid "The B<modf>() function returns the fractional part of I<x>."
6085 #: build/C/man3/modf.3:80
6086 msgid "If I<x> is a NaN, a NaN is returned, and I<*iptr> is set to a NaN."
6090 #: build/C/man3/modf.3:86
6092 "If I<x> is positive infinity (negative infinity), +0 (-0) is returned, and "
6093 "I<*iptr> is set to positive infinity (negative infinity)."
6097 #: build/C/man3/modf.3:97
6098 msgid "B<frexp>(3), B<ldexp>(3)"
6102 #: build/C/man3/nan.3:6
6108 #: build/C/man3/nan.3:9
6109 msgid "nan, nanf, nanl - return 'Not a Number'"
6113 #: build/C/man3/nan.3:13
6114 msgid "B<double nan(const char *>I<tagp>B<);>"
6118 #: build/C/man3/nan.3:15
6119 msgid "B<float nanf(const char *>I<tagp>B<);>"
6123 #: build/C/man3/nan.3:17
6124 msgid "B<long double nanl(const char *>I<tagp>B<);>"
6128 #: build/C/man3/nan.3:29
6129 msgid "B<nan>(), B<nanf>(), B<nanl>():"
6133 #: build/C/man3/nan.3:43
6135 "These functions return a representation (determined by I<tagp>) of a quiet "
6136 "NaN. If the implementation does not support quiet NaNs, these functions "
6141 #: build/C/man3/nan.3:47
6142 msgid "The call I<nan(\"char-sequence\")> is equivalent to:"
6146 #: build/C/man3/nan.3:50
6148 msgid " strtod(\"NAN(char-sequence)\", NULL);\n"
6152 #: build/C/man3/nan.3:60
6154 "Similarly, calls to B<nanf>() and B<nanl>() are equivalent to analogous "
6155 "calls to B<strtof>(3) and B<strtold>(3)."
6159 #: build/C/man3/nan.3:68
6161 "The argument I<tagp> is used in an unspecified manner. On IEEE 754 systems, "
6162 "there are many representations of NaN, and I<tagp> selects one. On other "
6163 "systems it may do nothing."
6167 #: build/C/man3/nan.3:74
6169 "C99, POSIX.1-2001. See also IEC 559 and the appendix with recommended "
6170 "functions in IEEE 754/IEEE 854."
6174 #: build/C/man3/nan.3:78
6175 msgid "B<isnan>(3), B<strtod>(3), B<math_error>(7)"
6179 #: build/C/man3/nextafter.3:6
6185 #: build/C/man3/nextafter.3:10
6187 "nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl - "
6188 "floating-point number manipulation"
6192 #: build/C/man3/nextafter.3:14
6193 msgid "B<double nextafter(double >I<x>B<, double >I<y>B<);>"
6197 #: build/C/man3/nextafter.3:16
6198 msgid "B<float nextafterf(float >I<x>B<, float >I<y>B<);>"
6202 #: build/C/man3/nextafter.3:18
6203 msgid "B<long double nextafterl(long double >I<x>B<, long double >I<y>B<);>"
6207 #: build/C/man3/nextafter.3:20
6208 msgid "B<double nexttoward(double >I<x>B<, long double >I<y>B<);>"
6212 #: build/C/man3/nextafter.3:22
6213 msgid "B<float nexttowardf(float >I<x>B<, long double >I<y>B<);>"
6217 #: build/C/man3/nextafter.3:24
6218 msgid "B<long double nexttowardl(long double >I<x>B<, long double >I<y>B<);>"
6222 #: build/C/man3/nextafter.3:34
6223 msgid "B<nextafter>():"
6227 #: build/C/man3/nextafter.3:46
6228 msgid "B<nextafterf>(), B<nextafterl>():"
6232 #: build/C/man3/nextafter.3:57
6233 msgid "B<nexttoward>(), B<nexttowardf>(), B<nexttowardl>():"
6237 #: build/C/man3/nextafter.3:78
6239 "The B<nextafter>() functions return the next representable floating-point "
6240 "value following I<x> in the direction of I<y>. If I<y> is less than I<x>, "
6241 "these functions will return the largest representable number less than I<x>."
6245 #: build/C/man3/nextafter.3:80
6246 msgid "If I<x> equals I<y>, the functions return I<y>."
6250 #: build/C/man3/nextafter.3:88
6252 "The B<nexttoward>() functions do the same as the B<nextafter>() functions, "
6253 "except that they have a I<long double> second argument."
6257 #: build/C/man3/nextafter.3:94
6259 "On success, these functions return the next representable floating-point "
6260 "value after I<x> in the direction of I<y>."
6264 #: build/C/man3/nextafter.3:104
6265 msgid "If I<x> equals I<y>, then I<y> (cast to the same type as I<x>) is returned."
6270 #: build/C/man3/nextafter.3:124
6272 "If I<x> is finite, and the result would overflow, a range error occurs, and "
6273 "the functions return B<HUGE_VAL>, B<HUGE_VALF>, or B<HUGE_VALL>, "
6274 "respectively, with the correct mathematical sign."
6278 #: build/C/man3/nextafter.3:133
6280 "If I<x> is not equal to I<y>, and the correct function result would be "
6281 "subnormal, zero, or underflow, a range error occurs, and either the correct "
6282 "value (if it can be represented), or 0.0, is returned."
6286 #: build/C/man3/nextafter.3:149
6288 msgid "Range error: result is subnormal or underflows"
6292 #: build/C/man3/nextafter.3:172
6294 "In glibc version 2.5 and earlier, these functions do not raise an underflow "
6295 "floating-point (B<FE_UNDERFLOW>) exception when an underflow occurs."
6299 #: build/C/man3/nextafter.3:174
6300 msgid "B<nearbyint>(3)"
6304 #: build/C/man3/pow.3:33
6310 #: build/C/man3/pow.3:36
6311 msgid "pow, powf, powl - power functions"
6315 #: build/C/man3/pow.3:41
6317 msgid "B<double pow(double >I<x>B<, double >I<y>B<);>\n"
6321 #: build/C/man3/pow.3:43
6323 msgid "B<float powf(float >I<x>B<, float >I<y>B<);>\n"
6327 #: build/C/man3/pow.3:45
6329 msgid "B<long double powl(long double >I<x>B<, long double >I<y>B<);>\n"
6333 #: build/C/man3/pow.3:57
6334 msgid "B<powf>(), B<powl>():"
6338 #: build/C/man3/pow.3:70
6340 "The B<pow>() function returns the value of I<x> raised to the power of "
6345 #: build/C/man3/pow.3:75
6346 msgid "On success, these functions return the value of I<x> to the power of I<y>."
6349 #. The domain error is generated at least as far back as glibc 2.4
6351 #: build/C/man3/pow.3:83
6353 "If I<x> is a finite value less than 0, and I<y> is a finite noninteger, a "
6354 "domain error occurs, and a NaN is returned."
6357 #. The range error is generated at least as far back as glibc 2.4
6359 #: build/C/man3/pow.3:93
6361 "If the result overflows, a range error occurs, and the functions return "
6362 "B<HUGE_VAL>, B<HUGE_VALF>, or B<HUGE_VALL>, respectively, with the "
6363 "mathematically correct sign."
6366 #. POSIX.1 does not specify the sign of the zero,
6367 #. but http://sources.redhat.com/bugzilla/show_bug.cgi?id=2678
6368 #. points out that the zero has the wrong sign in some cases.
6370 #: build/C/man3/pow.3:100
6372 "If result underflows, and is not representable, a range error occurs, and "
6377 #: build/C/man3/pow.3:106
6378 msgid "Except as specified below, if I<x> or I<y> is a NaN, the result is a NaN."
6382 #: build/C/man3/pow.3:112
6383 msgid "If I<x> is +1, the result is 1.0 (even if I<y> is a NaN)."
6387 #: build/C/man3/pow.3:118
6388 msgid "If I<y> is 0, the result is 1.0 (even if I<x> is a NaN)."
6392 #: build/C/man3/pow.3:126
6394 "If I<x> is +0 (-0), and I<y> is an odd integer greater than 0, the result is "
6399 #: build/C/man3/pow.3:134
6401 "If I<x> is 0, and I<y> greater than 0 and not an odd integer, the result is "
6406 #: build/C/man3/pow.3:142
6408 "If I<x> is -1, and I<y> is positive infinity or negative infinity, the "
6413 #: build/C/man3/pow.3:150
6415 "If the absolute value of I<x> is less than 1, and I<y> is negative infinity, "
6416 "the result is positive infinity."
6420 #: build/C/man3/pow.3:158
6422 "If the absolute value of I<x> is greater than 1, and I<y> is negative "
6423 "infinity, the result is +0."
6427 #: build/C/man3/pow.3:166
6429 "If the absolute value of I<x> is less than 1, and I<y> is positive infinity, "
6434 #: build/C/man3/pow.3:174
6436 "If the absolute value of I<x> is greater than 1, and I<y> is positive "
6437 "infinity, the result is positive infinity."
6441 #: build/C/man3/pow.3:182
6443 "If I<x> is negative infinity, and I<y> is an odd integer less than 0, the "
6448 #: build/C/man3/pow.3:190
6450 "If I<x> is negative infinity, and I<y> less than 0 and not an odd integer, "
6455 #: build/C/man3/pow.3:198
6457 "If I<x> is negative infinity, and I<y> is an odd integer greater than 0, the "
6458 "result is negative infinity."
6462 #: build/C/man3/pow.3:206
6464 "If I<x> is negative infinity, and I<y> greater than 0 and not an odd "
6465 "integer, the result is positive infinity."
6469 #: build/C/man3/pow.3:214
6470 msgid "If I<x> is positive infinity, and I<y> less than 0, the result is +0."
6474 #: build/C/man3/pow.3:222
6476 "If I<x> is positive infinity, and I<y> greater than 0, the result is "
6477 "positive infinity."
6481 #: build/C/man3/pow.3:237
6483 "If I<x> is +0 or -0, and I<y> is an odd integer less than 0, a pole error "
6484 "occurs and B<HUGE_VAL>, B<HUGE_VALF>, or B<HUGE_VALL>, is returned, with the "
6485 "same sign as I<x>."
6488 #. The pole error is generated at least as far back as glibc 2.4
6490 #: build/C/man3/pow.3:251
6492 "If I<x> is +0 or -0, and I<y> is less than 0 and not an odd integer, a pole "
6493 "error occurs and +B<HUGE_VAL>, +B<HUGE_VALF>, or +B<HUGE_VALL>, is returned."
6497 #: build/C/man3/pow.3:278
6499 msgid "Domain error: I<x> is negative, and I<y> is a finite noninteger"
6503 #: build/C/man3/pow.3:286
6505 msgid "Pole error: I<x> is zero, and I<y> is negative"
6509 #: build/C/man3/pow.3:295
6511 msgid "Range error: the result overflows"
6515 #: build/C/man3/pow.3:303
6517 msgid "Range error: the result underflows"
6521 #. http://sources.redhat.com/bugzilla/show_bug.cgi?id=6776
6522 #. or possibly 2.9, I haven't found the source code change
6523 #. and I don't have a 2.9 system to test
6525 #: build/C/man3/pow.3:331
6527 "In glibc 2.9 and earlier, when a pole error occurs, I<errno> is set to "
6528 "B<EDOM> instead of the POSIX-mandated B<ERANGE>. Since version 2.10, glibc "
6529 "does the right thing."
6532 #. see bug http://sources.redhat.com/bugzilla/show_bug.cgi?id=3866
6533 #. and http://sources.redhat.com/bugzilla/show_bug.cgi?id=369
6535 #: build/C/man3/pow.3:351
6537 "If I<x> is negative, then large negative or positive I<y> values yield a NaN "
6538 "as the function result, with I<errno> set to B<EDOM>, and an invalid "
6539 "(B<FE_INVALID>) floating-point exception. For example, with B<pow>(), one "
6540 "sees this behavior when the absolute value of I<y> is greater than about "
6544 #. FIXME . Actually, 2.3.2 is the earliest test result I have; so yet
6545 #. to confirm if this error occurs only in 2.3.2.
6547 #: build/C/man3/pow.3:360
6549 "In version 2.3.2 and earlier, when an overflow or underflow error occurs, "
6550 "glibc's B<pow>() generates a bogus invalid floating-point exception "
6551 "(B<FE_INVALID>) in addition to the overflow or underflow exception."
6555 #: build/C/man3/pow.3:364
6556 msgid "B<cbrt>(3), B<cpow>(3), B<sqrt>(3)"
6560 #: build/C/man3/pow10.3:23
6566 #: build/C/man3/pow10.3:26
6567 msgid "pow10, pow10f, pow10l - base-10 power functions"
6571 #: build/C/man3/pow10.3:30 build/C/man3/sincos.3:13
6574 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
6575 "B<#include E<lt>math.hE<gt>>\n"
6579 #: build/C/man3/pow10.3:32
6581 msgid "B<double pow10(double >I<x>B<);>\n"
6585 #: build/C/man3/pow10.3:34
6587 msgid "B<float pow10f(float >I<x>B<);>\n"
6591 #: build/C/man3/pow10.3:36
6593 msgid "B<long double pow10l(long double >I<x>B<);>\n"
6597 #: build/C/man3/pow10.3:44
6598 msgid "The B<pow10>() function returns the value of 10 raised to the power I<x>."
6602 #: build/C/man3/pow10.3:48
6603 msgid "This is a GNU extension."
6607 #: build/C/man3/pow10.3:51
6608 msgid "These functions are identical to the functions listed under B<exp10>(3)."
6612 #: build/C/man3/pow10.3:54
6613 msgid "B<exp10>(3), B<pow>(3)"
6617 #: build/C/man3/remainder.3:35
6623 #: build/C/man3/remainder.3:39
6625 "drem, dremf, dreml, remainder, remainderf, remainderl - floating-point "
6626 "remainder function"
6630 #: build/C/man3/remainder.3:47
6633 "/* The C99 versions */\n"
6634 "B<double remainder(double >I<x>B<, double >I<y>B<);>\n"
6635 "B<float remainderf(float >I<x>B<, float >I<y>B<);>\n"
6636 "B<long double remainderl(long double >I<x>B<, long double >I<y>B<);>\n"
6640 #: build/C/man3/remainder.3:52
6643 "/* Obsolete synonyms */\n"
6644 "B<double drem(double >I<x>B<, double >I<y>B<);>\n"
6645 "B<float dremf(float >I<x>B<, float >I<y>B<);>\n"
6646 "B<long double dreml(long double >I<x>B<, long double >I<y>B<);>\n"
6650 #: build/C/man3/remainder.3:63
6651 msgid "B<remainder>():"
6655 #: build/C/man3/remainder.3:68
6657 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
6658 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED || _ISOC99_SOURCE || "
6659 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
6663 #: build/C/man3/remainder.3:75
6664 msgid "B<remainderf>(), B<remainderl>():"
6668 #: build/C/man3/remainder.3:86
6669 msgid "B<drem>(), B<dremf>(), B<dreml>():"
6673 #: build/C/man3/remainder.3:88 build/C/man3/significand.3:30
6674 msgid "_SVID_SOURCE || _BSD_SOURCE"
6678 #: build/C/man3/remainder.3:109
6680 "The B<remainder>() function computes the remainder of dividing I<x> by "
6681 "I<y>. The return value is I<x>-I<n>*I<y>, where I<n> is the value I<x\\ /\\ "
6682 "y>, rounded to the nearest integer. If the absolute value of I<x>-I<n>*I<y> "
6683 "is 0.5, I<n> is chosen to be even."
6687 #: build/C/man3/remainder.3:112
6689 "These functions are unaffected by the current rounding mode (see "
6694 #: build/C/man3/remainder.3:116
6695 msgid "The B<drem>() function does precisely the same thing."
6699 #: build/C/man3/remainder.3:122
6701 "On success, these functions return the floating-point remainder, "
6702 "I<x>-I<n>*I<y>. If the return value is 0, it has the sign of I<x>."
6706 #: build/C/man3/remainder.3:137 build/C/man3/remquo.3:87
6708 "If I<x> is an infinity, and I<y> is not a NaN, a domain error occurs, and a "
6713 #: build/C/man3/remainder.3:148 build/C/man3/remquo.3:96
6715 "If I<y> is zero, and I<x> is not a NaN, a domain error occurs, and a NaN is "
6720 #: build/C/man3/remainder.3:155
6722 msgid "Domain error: I<x> is an infinity and I<y> is not a NaN"
6727 #: build/C/man3/remainder.3:186
6729 "The functions B<remainder>(), B<remainderf>(), and B<remainderl>() are "
6730 "specified in C99 and POSIX.1-2001."
6734 #: build/C/man3/remainder.3:202
6736 "The function B<drem>() is from 4.3BSD. The I<float> and I<long double> "
6737 "variants B<dremf>() and B<dreml>() exist on some systems, such as Tru64 "
6738 "and glibc2. Avoid the use of these functions in favor of B<remainder>() "
6743 #: build/C/man3/remainder.3:204
6748 #: build/C/man3/remainder.3:206
6750 msgid " remainder(nan(\"\"), 0);\n"
6753 #. FIXME . this bug occurs as at glibc 2.8.
6754 #. Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6779
6756 #: build/C/man3/remainder.3:211
6758 "returns a NaN, as expected, but wrongly causes a domain error; it should "
6759 "yield a silent NaN."
6763 #: build/C/man3/remainder.3:213
6764 msgid "The call \"remainder(29.0, 3.0)\" returns -1."
6768 #: build/C/man3/remainder.3:217
6769 msgid "B<div>(3), B<fmod>(3), B<remquo>(3)"
6773 #: build/C/man3/remquo.3:7
6779 #: build/C/man3/remquo.3:10
6780 msgid "remquo, remquof, remquol - remainder and part of quotient"
6784 #: build/C/man3/remquo.3:15
6786 msgid "B<double remquo(double >I<x>B<, double >I<y>B<, int *>I<quo>B<);>\n"
6790 #: build/C/man3/remquo.3:17
6792 msgid "B<float remquof(float >I<x>B<, float >I<y>B<, int *>I<quo>B<);>\n"
6796 #: build/C/man3/remquo.3:19
6799 "B<long double remquol(long double >I<x>B<, long double >I<y>B<, int "
6804 #: build/C/man3/remquo.3:32
6805 msgid "B<remquo>(), B<remquof>(), B<remquol>():"
6809 #: build/C/man3/remquo.3:50
6811 "These functions compute the remainder and part of the quotient upon division "
6812 "of I<x> by I<y>. A few bits of the quotient are stored via the I<quo> "
6813 "pointer. The remainder is returned as the function result."
6817 #: build/C/man3/remquo.3:54
6819 "The value of the remainder is the same as that computed by the "
6820 "B<remainder>(3) function."
6824 #: build/C/man3/remquo.3:60
6826 "The value stored via the I<quo> pointer has the sign of I<x\\ /\\ y> and "
6827 "agrees with the quotient in at least the low order 3 bits."
6830 #. A possible application of this function might be the computation
6831 #. of sin(x). Compute remquo(x, pi/2, &quo) or so.
6833 #. glibc, UnixWare: return 3 bits
6834 #. MacOS 10: return 7 bits
6836 #: build/C/man3/remquo.3:68
6838 "For example, I<remquo(29.0,\\ 3.0)> returns -1.0 and might store 2. Note "
6839 "that the actual quotient might not fit in an integer."
6843 #: build/C/man3/remquo.3:72
6845 "On success, these functions return the same value as the analogous functions "
6846 "described in B<remainder>(3)."
6850 #: build/C/man3/remquo.3:103
6853 "Domain error: I<x> is an infinity or I<y> is 0, and the other argument is "
6858 #: build/C/man3/remquo.3:125
6859 msgid "B<fmod>(3), B<logb>(3), B<remainder>(3)"
6863 #: build/C/man3/rint.3:25
6869 #: build/C/man3/rint.3:29
6871 "nearbyint, nearbyintf, nearbyintl, rint, rintf, rintl - round to nearest "
6876 #: build/C/man3/rint.3:34
6878 msgid "B<double nearbyint(double >I<x>B<);>\n"
6882 #: build/C/man3/rint.3:36
6884 msgid "B<float nearbyintf(float >I<x>B<);>\n"
6888 #: build/C/man3/rint.3:38
6890 msgid "B<long double nearbyintl(long double >I<x>B<);>\n"
6894 #: build/C/man3/rint.3:40
6896 msgid "B<double rint(double >I<x>B<);>\n"
6900 #: build/C/man3/rint.3:42
6902 msgid "B<float rintf(float >I<x>B<);>\n"
6906 #: build/C/man3/rint.3:44
6908 msgid "B<long double rintl(long double >I<x>B<);>\n"
6912 #: build/C/man3/rint.3:57
6913 msgid "B<nearbyint>(), B<nearbyintf>(), B<nearbyintl>():"
6917 #: build/C/man3/rint.3:59
6919 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || "
6924 #: build/C/man3/rint.3:65
6929 #: build/C/man3/rint.3:76
6930 msgid "B<rintf>(), B<rintl>():"
6934 #: build/C/man3/rint.3:93
6936 "The B<nearbyint>() functions round their argument to an integer value in "
6937 "floating-point format, using the current rounding direction (see "
6938 "B<fesetround>(3)) and without raising the I<inexact> exception."
6942 #: build/C/man3/rint.3:103
6944 "The B<rint>() functions do the same, but will raise the I<inexact> "
6945 "exception (B<FE_INEXACT>, checkable via B<fetestexcept>(3)) when the result "
6946 "differs in value from the argument."
6950 #: build/C/man3/rint.3:133
6952 "If you want to store the rounded value in an integer type, you probably want "
6953 "to use one of the functions described in B<lrint>(3) instead."
6957 #: build/C/man3/rint.3:139
6958 msgid "B<ceil>(3), B<floor>(3), B<lrint>(3), B<round>(3), B<trunc>(3)"
6962 #: build/C/man3/round.3:25
6968 #: build/C/man3/round.3:28
6969 msgid "round, roundf, roundl - round to nearest integer, away from zero"
6973 #: build/C/man3/round.3:33
6975 msgid "B<double round(double >I<x>B<);>\n"
6979 #: build/C/man3/round.3:35
6981 msgid "B<float roundf(float >I<x>B<);>\n"
6985 #: build/C/man3/round.3:37
6987 msgid "B<long double roundl(long double >I<x>B<);>\n"
6991 #: build/C/man3/round.3:50
6992 msgid "B<round>(), B<roundf>(), B<roundl>():"
6996 #: build/C/man3/round.3:65
6998 "These functions round I<x> to the nearest integer, but round halfway cases "
6999 "away from zero (regardless of the current rounding direction, see "
7000 "B<fenv>(3)), instead of to the nearest even integer like B<rint>(3)."
7004 #: build/C/man3/round.3:71
7005 msgid "For example, I<round(0.5)> is 1.0, and I<round(-0.5)> is -1.0."
7008 #. The POSIX.1-2001 APPLICATION USAGE SECTION discusses this point.
7010 #: build/C/man3/round.3:99
7012 "POSIX.1-2001 contains text about overflow (which might set I<errno> to "
7013 "B<ERANGE>, or raise an B<FE_OVERFLOW> exception). In practice, the result "
7014 "cannot overflow on any current machine, so this error-handling stuff is just "
7015 "nonsense. (More precisely, overflow can happen only when the maximum value "
7016 "of the exponent is smaller than the number of mantissa bits. For the "
7017 "IEEE-754 standard 32-bit and 64-bit floating-point numbers the maximum value "
7018 "of the exponent is 128 (respectively, 1024), and the number of mantissa bits "
7019 "is 24 (respectively, 53).)"
7023 #: build/C/man3/round.3:104
7025 "If you want to store the rounded value in an integer type, you probably want "
7026 "to use one of the functions described in B<lround>(3) instead."
7030 #: build/C/man3/round.3:111
7032 "B<ceil>(3), B<floor>(3), B<lround>(3), B<nearbyint>(3), B<rint>(3), "
7037 #: build/C/man3/scalb.3:25
7043 #: build/C/man3/scalb.3:29
7045 "scalb, scalbf, scalbl - multiply floating-point number by integral power of "
7050 #: build/C/man3/scalb.3:33
7051 msgid "B<double scalb(double >I<x>B<, double >I<exp>B<);>"
7055 #: build/C/man3/scalb.3:35
7056 msgid "B<float scalbf(float >I<x>B<, double >I<exp>B<);>"
7060 #: build/C/man3/scalb.3:37
7061 msgid "B<long double scalbl(long double >I<x>B<, double >I<exp>B<);>"
7065 #: build/C/man3/scalb.3:47
7070 #: build/C/man3/scalb.3:50
7072 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
7073 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
7077 #: build/C/man3/scalb.3:54
7078 msgid "B<scalbf>(), B<scalbl>():"
7082 #: build/C/man3/scalb.3:67 build/C/man3/scalbln.3:83
7084 "These functions multiply their first argument I<x> by B<FLT_RADIX> (probably "
7085 "2) to the power of I<exp>, that is:"
7089 #: build/C/man3/scalb.3:70 build/C/man3/scalbln.3:86
7091 msgid " x * FLT_RADIX ** exp\n"
7094 #. not in /usr/include but in a gcc lib
7096 #: build/C/man3/scalb.3:77 build/C/man3/scalbln.3:93
7098 "The definition of B<FLT_RADIX> can be obtained by including "
7099 "I<E<lt>float.hE<gt>>."
7103 #: build/C/man3/scalb.3:79 build/C/man3/scalbln.3:95
7104 msgid "On success, these functions return I<x> * B<FLT_RADIX> ** I<exp>."
7108 #: build/C/man3/scalb.3:85
7109 msgid "If I<x> or I<exp> is a NaN, a NaN is returned."
7113 #: build/C/man3/scalb.3:93
7115 "If I<x> is positive infinity (negative infinity), and I<exp> is not negative "
7116 "infinity, positive infinity (negative infinity) is returned."
7120 #: build/C/man3/scalb.3:99
7122 "If I<x> is +0 (-0), and I<exp> is not positive infinity, +0 (-0) is "
7127 #: build/C/man3/scalb.3:107
7129 "If I<x> is zero, and I<exp> is positive infinity, a domain error occurs, and "
7130 "a NaN is returned."
7134 #: build/C/man3/scalb.3:116
7136 "If I<x> is an infinity, and I<exp> is negative infinity, a domain error "
7137 "occurs, and a NaN is returned."
7141 #: build/C/man3/scalb.3:131 build/C/man3/scalbln.3:123
7143 "If the result underflows, a range error occurs, and the functions return "
7144 "zero, with a sign the same as I<x>."
7148 #: build/C/man3/scalb.3:138
7151 "Domain error: I<x> is 0, and I<exp> is positive infinity, or I<x> is "
7152 "positive infinity and I<exp> is negative infinity and the other argument is "
7157 #: build/C/man3/scalb.3:184
7159 "B<scalb>() is specified in POSIX.1-2001, but marked obsolescent. "
7160 "POSIX.1-2008 removes the specification of B<scalb>(), recommending the use "
7161 "of B<scalbln>(3), B<scalblnf>(3), or B<scalblnl>(3) instead. The "
7162 "B<scalb>() function is from 4.3BSD."
7165 #. Looking at header files: scalbf() is present on the
7166 #. BSDs, Tru64, HP-UX 11, Irix 6.5; scalbl() is on HP-UX 11 and Tru64.
7168 #: build/C/man3/scalb.3:193
7170 "B<scalbf>() and B<scalbl>() are unstandardized; B<scalbf>() is "
7171 "nevertheless present on several other systems"
7175 #: build/C/man3/scalb.3:196
7176 msgid "B<ldexp>(3), B<scalbln>(3)"
7180 #: build/C/man3/scalbln.3:25
7186 #: build/C/man3/scalbln.3:29
7188 "scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl - multiply "
7189 "floating-point number by integral power of radix"
7193 #: build/C/man3/scalbln.3:33
7194 msgid "B<double scalbln(double >I<x>B<, long int >I<exp>B<);>"
7198 #: build/C/man3/scalbln.3:35
7199 msgid "B<float scalblnf(float >I<x>B<, long int >I<exp>B<);>"
7203 #: build/C/man3/scalbln.3:37
7204 msgid "B<long double scalblnl(long double >I<x>B<, long int >I<exp>B<);>"
7208 #: build/C/man3/scalbln.3:39
7209 msgid "B<double scalbn(double >I<x>B<, int >I<exp>B<);>"
7213 #: build/C/man3/scalbln.3:41
7214 msgid "B<float scalbnf(float >I<x>B<, int >I<exp>B<);>"
7218 #: build/C/man3/scalbln.3:43
7219 msgid "B<long double scalbnl(long double >I<x>B<, int >I<exp>B<);>"
7223 #: build/C/man3/scalbln.3:55
7224 msgid "B<scalbln>(), B<scalblnf>(), B<scalblnl>():"
7228 #: build/C/man3/scalbln.3:66
7229 msgid "B<scalbn>(), B<scalbnf>(), B<scalbnl>():"
7233 #: build/C/man3/scalbln.3:164
7235 "These functions differ from the obsolete functions described in B<scalb>(3) "
7236 "in the type of their second argument. The functions described on this page "
7237 "have a second argument of an integral type, while those in B<scalb>(3) have "
7238 "a second argument of type I<double>."
7242 #: build/C/man3/scalbln.3:171
7244 "If B<FLT_RADIX> equals 2 (which is usual), then B<scalbn>() is equivalent "
7249 #: build/C/man3/scalbln.3:174
7250 msgid "B<ldexp>(3), B<scalb>(3)"
7254 #: build/C/man3/signbit.3:6
7260 #: build/C/man3/signbit.3:9
7261 msgid "signbit - test sign of a real floating-point number"
7265 #: build/C/man3/signbit.3:13
7266 msgid "B<int signbit(>I<x>B<);>"
7270 #: build/C/man3/signbit.3:23
7271 msgid "B<signbit>():"
7275 #: build/C/man3/signbit.3:37
7277 "B<signbit>() is a generic macro which can work on all real floating-point "
7278 "types. It returns a nonzero value if the value of I<x> has its sign bit "
7283 #: build/C/man3/signbit.3:46
7285 "This is not the same as I<x E<lt> 0.0>, because IEEE 754 floating point "
7286 "allows zero to be signed. The comparison I<-0.0 E<lt> 0.0> is false, but "
7287 "I<signbit(-0.0)> will return a nonzero value."
7291 #: build/C/man3/signbit.3:48
7292 msgid "NaNs and infinities have a sign bit."
7296 #: build/C/man3/signbit.3:54
7298 "The B<signbit>() macro returns nonzero if the sign of I<x> is negative; "
7299 "otherwise it returns zero."
7303 #: build/C/man3/signbit.3:62
7304 msgid "B<copysign>(3)"
7308 #: build/C/man3/significand.3:4
7314 #: build/C/man3/significand.3:4
7320 #: build/C/man3/significand.3:8
7322 "significand, significandf, significandl - get mantissa of floating-point "
7327 #: build/C/man3/significand.3:12
7328 msgid "B<double significand(double >I<x>B<);>"
7332 #: build/C/man3/significand.3:14
7333 msgid "B<float significandf(float >I<x>B<);>"
7337 #: build/C/man3/significand.3:16
7338 msgid "B<long double significandl(long double >I<x>B<);>"
7342 #: build/C/man3/significand.3:28
7343 msgid "B<significand>(), B<significandf>(), B<significandl>():"
7347 #: build/C/man3/significand.3:39
7349 "The B<significand>() function returns the mantissa of I<x> scaled to the "
7350 "range [1,2). It is equivalent to"
7354 #: build/C/man3/significand.3:42
7355 msgid "scalb(x, (double) -ilogb(x))"
7359 #: build/C/man3/significand.3:46
7361 "This function exists mainly for use in certain standardized tests for IEEE "
7366 #. This function came from BSD.
7368 #: build/C/man3/significand.3:52
7370 "These functions are nonstandard; the I<double> version is available on a "
7371 "number of other systems."
7375 #: build/C/man3/significand.3:55
7376 msgid "B<ilogb>(3), B<scalb>(3)"
7380 #: build/C/man3/sin.3:33
7386 #: build/C/man3/sin.3:36
7387 msgid "sin, sinf, sinl - sine function"
7391 #: build/C/man3/sin.3:41
7393 msgid "B<double sin(double >I<x>B<);>\n"
7397 #: build/C/man3/sin.3:43
7399 msgid "B<float sinf(float >I<x>B<);>\n"
7403 #: build/C/man3/sin.3:45
7405 msgid "B<long double sinl(long double >I<x>B<);>\n"
7409 #: build/C/man3/sin.3:57
7410 msgid "B<sinf>(), B<sinl>():"
7414 #: build/C/man3/sin.3:70
7416 "The B<sin>() function returns the sine of I<x>, where I<x> is given in "
7421 #: build/C/man3/sin.3:73
7422 msgid "On success, these functions return the sine of I<x>."
7426 #: build/C/man3/sin.3:124
7428 "B<acos>(3), B<asin>(3), B<atan>(3), B<atan2>(3), B<cos>(3), B<csin>(3), "
7429 "B<sincos>(3), B<tan>(3)"
7433 #: build/C/man3/sincos.3:6
7439 #: build/C/man3/sincos.3:9
7440 msgid "sincos, sincosf, sincosl - calculate sin and cos simultaneously"
7444 #: build/C/man3/sincos.3:15
7446 msgid "B<void sincos(double >I<x>B<, double *>I<sin>B<, double *>I<cos>B<);>\n"
7450 #: build/C/man3/sincos.3:17
7452 msgid "B<void sincosf(float >I<x>B<, float *>I<sin>B<, float *>I<cos>B<);>\n"
7456 #: build/C/man3/sincos.3:19
7459 "B<void sincosl(long double >I<x>B<, long double *>I<sin>B<, long double "
7464 #: build/C/man3/sincos.3:29
7466 "Several applications need sine and cosine of the same angle I<x>. This "
7467 "function computes both at the same time, and stores the results in I<*sin> "
7472 #: build/C/man3/sincos.3:37
7473 msgid "If I<x> is a NaN, a NaN is returned in I<*sin> and I<*cos>."
7477 #: build/C/man3/sincos.3:46
7479 "If I<x> is positive infinity or negative infinity, a domain error occurs, "
7480 "and a NaN is returned in I<*sin> and I<*cos>."
7484 #: build/C/man3/sincos.3:49
7485 msgid "These functions return I<void>."
7489 #: build/C/man3/sincos.3:74
7490 msgid "This function is a GNU extension."
7494 #: build/C/man3/sincos.3:78
7495 msgid "B<cos>(3), B<sin>(3), B<tan>(3)"
7499 #: build/C/man3/sinh.3:34
7505 #: build/C/man3/sinh.3:37
7506 msgid "sinh, sinhf, sinhl - hyperbolic sine function"
7510 #: build/C/man3/sinh.3:42
7512 msgid "B<double sinh(double >I<x>B<);>\n"
7516 #: build/C/man3/sinh.3:44
7518 msgid "B<float sinhf(float >I<x>B<);>\n"
7522 #: build/C/man3/sinh.3:46
7524 msgid "B<long double sinhl(long double >I<x>B<);>\n"
7528 #: build/C/man3/sinh.3:58
7529 msgid "B<sinhf>(), B<sinhl>():"
7533 #: build/C/man3/sinh.3:71
7535 "The B<sinh>() function returns the hyperbolic sine of I<x>, which is "
7536 "defined mathematically as:"
7540 #: build/C/man3/sinh.3:74
7542 msgid " sinh(x) = (exp(x) - exp(-x)) / 2\n"
7546 #: build/C/man3/sinh.3:78
7547 msgid "On success, these functions return the hyperbolic sine of I<x>."
7551 #. POSIX.1-2001 documents an optional range error (underflow)
7553 #. glibc 2.8 does not do this.
7555 #: build/C/man3/sinh.3:105
7557 "If the result overflows, a range error occurs, and the functions return "
7558 "B<HUGE_VAL>, B<HUGE_VALF>, or B<HUGE_VALL>, respectively, with the same sign "
7563 #: build/C/man3/sinh.3:133
7564 msgid "B<acosh>(3), B<asinh>(3), B<atanh>(3), B<cosh>(3), B<csinh>(3), B<tanh>(3)"
7568 #: build/C/man3/sqrt.3:32
7574 #: build/C/man3/sqrt.3:35
7575 msgid "sqrt, sqrtf, sqrtl - square root function"
7579 #: build/C/man3/sqrt.3:40
7581 msgid "B<double sqrt(double >I<x>B<);>\n"
7585 #: build/C/man3/sqrt.3:42
7587 msgid "B<float sqrtf(float >I<x>B<);>\n"
7591 #: build/C/man3/sqrt.3:44
7593 msgid "B<long double sqrtl(long double >I<x>B<);>\n"
7597 #: build/C/man3/sqrt.3:56
7598 msgid "B<sqrtf>(), B<sqrtl>():"
7602 #: build/C/man3/sqrt.3:68
7603 msgid "The B<sqrt>() function returns the nonnegative square root of I<x>."
7607 #: build/C/man3/sqrt.3:71
7608 msgid "On success, these functions return the square root of I<x>."
7612 #: build/C/man3/sqrt.3:89
7613 msgid "If I<x> is less than -0, a domain error occurs, and a NaN is returned."
7617 #: build/C/man3/sqrt.3:96
7619 msgid "Domain error: I<x> less than -0"
7623 #: build/C/man3/sqrt.3:114
7624 msgid "B<cbrt>(3), B<csqrt>(3), B<hypot>(3)"
7628 #: build/C/man3/tan.3:33
7634 #: build/C/man3/tan.3:36
7635 msgid "tan, tanf, tanl - tangent function"
7639 #: build/C/man3/tan.3:41
7641 msgid "B<double tan(double >I<x>B<);>\n"
7645 #: build/C/man3/tan.3:43
7647 msgid "B<float tanf(float >I<x>B<);>\n"
7651 #: build/C/man3/tan.3:45
7653 msgid "B<long double tanl(long double >I<x>B<);>\n"
7657 #: build/C/man3/tan.3:57
7658 msgid "B<tanf>(), B<tanl>():"
7662 #: build/C/man3/tan.3:70
7664 "The B<tan>() function returns the tangent of I<x>, where I<x> is given in "
7669 #: build/C/man3/tan.3:73
7670 msgid "On success, these functions return the tangent of I<x>."
7673 #. I think overflow can't occur, because the closest floating-point
7674 #. representation of pi/2 is still not close enough to pi/2 to
7675 #. produce a large enough value to overflow.
7676 #. Testing certainly seems to bear this out. -- mtk, Jul 08
7678 #. POSIX.1 allows an optional underflow error;
7679 #. glibc 2.8 doesn't do this
7680 #. POSIX.1 an optional range error for subnormal x;
7681 #. glibc 2.8 doesn't do this
7683 #: build/C/man3/tan.3:101
7685 "If the correct result would overflow, a range error occurs, and the "
7686 "functions return B<HUGE_VAL>, B<HUGE_VALF>, or B<HUGE_VALL>, respectively, "
7687 "with the mathematically correct sign."
7691 #: build/C/man3/tan.3:148
7693 "B<acos>(3), B<asin>(3), B<atan>(3), B<atan2>(3), B<cos>(3), B<ctan>(3), "
7698 #: build/C/man3/tanh.3:33
7704 #: build/C/man3/tanh.3:36
7705 msgid "tanh, tanhf, tanhl - hyperbolic tangent function"
7709 #: build/C/man3/tanh.3:41
7711 msgid "B<double tanh(double >I<x>B<);>\n"
7715 #: build/C/man3/tanh.3:43
7717 msgid "B<float tanhf(float >I<x>B<);>\n"
7721 #: build/C/man3/tanh.3:45
7723 msgid "B<long double tanhl(long double >I<x>B<);>\n"
7727 #: build/C/man3/tanh.3:57
7728 msgid "B<tanhf>(), B<tanhl>():"
7732 #: build/C/man3/tanh.3:70
7734 "The B<tanh>() function returns the hyperbolic tangent of I<x>, which is "
7735 "defined mathematically as:"
7739 #: build/C/man3/tanh.3:73
7741 msgid " tanh(x) = sinh(x) / cosh(x)\n"
7745 #: build/C/man3/tanh.3:77
7746 msgid "On success, these functions return the hyperbolic tangent of I<x>."
7750 #: build/C/man3/tanh.3:109
7751 msgid "B<acosh>(3), B<asinh>(3), B<atanh>(3), B<cosh>(3), B<ctanh>(3), B<sinh>(3)"
7755 #: build/C/man3/tgamma.3:8
7761 #: build/C/man3/tgamma.3:11
7762 msgid "tgamma, tgammaf, tgammal - true gamma function"
7766 #: build/C/man3/tgamma.3:15
7767 msgid "B<double tgamma(double >I<x>B<);>"
7771 #: build/C/man3/tgamma.3:17
7772 msgid "B<float tgammaf(float >I<x>B<);>"
7776 #: build/C/man3/tgamma.3:19
7777 msgid "B<long double tgammal(long double >I<x>B<);>"
7781 #: build/C/man3/tgamma.3:31
7782 msgid "B<tgamma>(), B<tgammaf>(), B<tgammal>():"
7786 #: build/C/man3/tgamma.3:41
7787 msgid "The Gamma function is defined by"
7791 #: build/C/man3/tgamma.3:43
7793 msgid " Gamma(x) = integral from 0 to infinity of t^(x-1) e^-t dt\n"
7797 #: build/C/man3/tgamma.3:46
7799 "It is defined for every real number except for nonpositive integers. For "
7800 "nonnegative integral I<m> one has"
7804 #: build/C/man3/tgamma.3:48
7806 msgid " Gamma(m+1) = m!\n"
7810 #: build/C/man3/tgamma.3:50
7811 msgid "and, more generally, for all I<x>:"
7815 #: build/C/man3/tgamma.3:52
7817 msgid " Gamma(x+1) = x * Gamma(x)\n"
7821 #: build/C/man3/tgamma.3:55
7823 "Furthermore, the following is valid for all values of I<x> outside the "
7828 #: build/C/man3/tgamma.3:57
7830 msgid " Gamma(x) * Gamma(1 - x) = PI / sin(PI * x)\n"
7834 #: build/C/man3/tgamma.3:60
7835 msgid "On success, these functions return Gamma(x)."
7839 #: build/C/man3/tgamma.3:74
7841 "If I<x> is a negative integer, or is negative infinity, a domain error "
7842 "occurs, and a NaN is returned."
7846 #: build/C/man3/tgamma.3:87
7848 "If the result underflows, a range error occurs, and the functions return 0, "
7849 "with the correct mathematical sign."
7853 #: build/C/man3/tgamma.3:98
7855 "If I<x> is -0 or +0, a pole error occurs, and the functions return "
7856 "B<HUGE_VAL>, B<HUGE_VALF>, or B<HUGE_VALL>, respectively, with the same sign "
7861 #: build/C/man3/tgamma.3:105
7863 msgid "Domain error: I<x> is a negative integer, or negative infinity"
7866 #. FIXME . errno is not set to EDOM for x == -inf
7867 #. Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6809
7869 #: build/C/man3/tgamma.3:115
7871 "I<errno> is set to B<EDOM>. An invalid floating-point exception "
7872 "(B<FE_INVALID>) is raised (but see BUGS)."
7876 #: build/C/man3/tgamma.3:115
7878 msgid "Pole error: I<x> is +0 or -0"
7882 #: build/C/man3/tgamma.3:134
7884 "glibc also gives the following error which is not specified in C99 or "
7888 #. FIXME . Is it intentional that errno is not set:
7889 #. Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6810
7891 #. glibc (as at 2.8) also supports and an inexact
7892 #. exception for various cases.
7894 #: build/C/man3/tgamma.3:151
7895 msgid "I<errno> is not set for this case."
7899 #: build/C/man3/tgamma.3:162
7901 "This function had to be called \"true gamma function\" since there is "
7902 "already a function B<gamma>(3) that returns something else (see B<gamma>(3) "
7906 #. Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6809
7908 #: build/C/man3/tgamma.3:170
7910 "If I<x> is negative infinity, I<errno> is not set (it should be set to "
7915 #: build/C/man3/tgamma.3:179
7917 "In glibc versions 2.3.3 and earlier, an argument of +0 or -0 incorrectly "
7918 "produced a domain error (I<errno> set to B<EDOM> and an B<FE_INVALID> "
7919 "exception raised), rather than a pole error."
7923 #: build/C/man3/tgamma.3:182
7924 msgid "B<gamma>(3), B<lgamma>(3)"
7928 #: build/C/man3/trunc.3:23
7934 #: build/C/man3/trunc.3:26
7935 msgid "trunc, truncf, truncl - round to integer, toward zero"
7939 #: build/C/man3/trunc.3:31
7941 msgid "B<double trunc(double >I<x>B<);>\n"
7945 #: build/C/man3/trunc.3:33
7947 msgid "B<float truncf(float >I<x>B<);>\n"
7951 #: build/C/man3/trunc.3:35
7953 msgid "B<long double truncl(long double >I<x>B<);>\n"
7957 #: build/C/man3/trunc.3:48
7958 msgid "B<trunc>(), B<truncf>(), B<truncl>():"
7962 #: build/C/man3/trunc.3:59
7964 "These functions round I<x> to the nearest integer not larger in absolute "
7969 #: build/C/man3/trunc.3:63
7970 msgid "If I<x> is integral, infinite, or NaN, I<x> itself is returned."
7974 #: build/C/man3/y0.3:34
7980 #: build/C/man3/y0.3:34
7986 #: build/C/man3/y0.3:38
7988 "y0, y0f, y0l, y1, y1f, y1l, yn, ynf, ynl - Bessel functions of the second "
7993 #: build/C/man3/y0.3:43
7995 msgid "B<double y0(double >I<x>B<);>\n"
7999 #: build/C/man3/y0.3:45
8001 msgid "B<double y1(double >I<x>B<);>\n"
8005 #: build/C/man3/y0.3:47
8007 msgid "B<double yn(int >I<n>B<, double >I<x>B<);>\n"
8011 #: build/C/man3/y0.3:49
8013 msgid "B<float y0f(float >I<x>B<);>\n"
8017 #: build/C/man3/y0.3:51
8019 msgid "B<float y1f(float >I<x>B<);>\n"
8023 #: build/C/man3/y0.3:53
8025 msgid "B<float ynf(int >I<n>B<, float >I<x>B<);>\n"
8029 #: build/C/man3/y0.3:55
8031 msgid "B<long double y0l(long double >I<x>B<);>\n"
8035 #: build/C/man3/y0.3:57
8037 msgid "B<long double y1l(long double >I<x>B<);>\n"
8041 #: build/C/man3/y0.3:59
8043 msgid "B<long double ynl(int >I<n>B<, long double >I<x>B<);>\n"
8047 #: build/C/man3/y0.3:72
8048 msgid "B<y0>(), B<y1>(), B<yn>():"
8052 #: build/C/man3/y0.3:82
8053 msgid "B<y0f>(), B<y0l>(), B<y1f>(), B<y1l>(), B<ynf>(), B<ynl>():"
8057 #: build/C/man3/y0.3:99
8059 "The B<y0>() and B<y1>() functions return Bessel functions of I<x> of the "
8060 "second kind of orders 0 and 1, respectively. The B<yn>() function returns "
8061 "the Bessel function of I<x> of the second kind of order I<n>."
8065 #: build/C/man3/y0.3:101
8066 msgid "The value of I<x> must be positive."
8070 #: build/C/man3/y0.3:111
8072 "The B<y0f>() etc. and B<y0l>() etc. functions are versions that take and "
8073 "return I<float> and I<long double> values, respectively."
8077 #: build/C/man3/y0.3:115
8079 "On success, these functions return the appropriate Bessel value of the "
8080 "second kind for I<x>."
8084 #: build/C/man3/y0.3:131
8086 "If I<x> is negative, a domain error occurs, and the functions return "
8087 "-B<HUGE_VAL>, -B<HUGE_VALF>, or -B<HUGE_VALL>, respectively. (POSIX.1-2001 "
8088 "also allows a NaN return for this case.)"
8092 #: build/C/man3/y0.3:142
8094 "If I<x> is 0.0, a pole error occurs, and the functions return -B<HUGE_VAL>, "
8095 "-B<HUGE_VALF>, or -B<HUGE_VALL>, respectively."
8099 #: build/C/man3/y0.3:146
8100 msgid "If the result underflows, a range error occurs, and the functions return 0.0"
8104 #: build/C/man3/y0.3:156
8106 "If the result overflows, a range error occurs, and the functions return "
8107 "-B<HUGE_VAL>, -B<HUGE_VALF>, or -B<HUGE_VALL>, respectively. (POSIX.1-2001 "
8108 "also allows a 0.0 return for this case.)"
8112 #: build/C/man3/y0.3:171
8114 msgid "Pole error: I<x> is 0.0"
8117 #. Before POSIX.1-2001 TC2, this was (inconsistently) specified
8118 #. as a range error.
8119 #. FIXME . y0(0.0) gives EDOM
8120 #. Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6808
8122 #: build/C/man3/y0.3:186
8124 "I<errno> is set to B<ERANGE> (but see BUGS). No B<FE_DIVBYZERO> exception "
8125 "is returned by B<fetestexcept>(3) for this case."
8128 #. e.g., y0(1e33) on glibc 2.8/x86-32
8129 #. An underflow floating-point exception
8130 #. .RB ( FE_UNDERFLOW )
8132 #. FIXME . Is it intentional that these functions do not use FE_*?
8133 #. Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6806
8135 #: build/C/man3/y0.3:202
8137 "I<errno> is set to B<ERANGE>. No B<FE_UNDERFLOW> exception is returned by "
8138 "B<fetestexcept>(3) for this case."
8141 #. e.g., yn(10, 1e-40) on glibc 2.8/x86-32
8145 #. FIXME . Is it intentional that errno is not set?
8146 #. Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6808
8148 #: build/C/man3/y0.3:215
8150 "I<errno> is not set for this case. An overflow floating-point exception "
8151 "(B<FE_OVERFLOW>) is raised."
8155 #. Bug raised: http://sourceware.org/bugzilla/show_bug.cgi?id=6807
8157 #: build/C/man3/y0.3:231
8159 "On a pole error, these functions set I<errno> to B<EDOM>, instead of "
8160 "B<ERANGE> as POSIX.1-2004 requires."
8163 #. FIXME . Actually, 2.3.2 is the earliest test result I have; so yet
8164 #. to confirm if this error occurs only in 2.3.2.
8166 #: build/C/man3/y0.3:238
8168 "In glibc version 2.3.2 and earlier, these functions do not raise an invalid "
8169 "floating-point exception (B<FE_INVALID>) when a domain error occurs."
8173 #: build/C/man3/y0.3:240