genericopenlibs/openenvcore/include/math.dosc
changeset 0 e4d67989cc36
equal deleted inserted replaced
-1:000000000000 0:e4d67989cc36
       
     1 /** @file ../include/math.h
       
     2 @internalComponent
       
     3 */
       
     4 
       
     5 /** @fn nanval(void )
       
     6 
       
     7 Not a number value.
       
     8 @publishedAll
       
     9 @released
       
    10 */
       
    11 
       
    12 /** @fn  finite(double x)
       
    13 @param x
       
    14 
       
    15   The finite finitef and finitel functions  return  a  non-zero value if value is neither
       
    16 infinite nor a "not-a-number" (NaN) value, and 0 otherwise.
       
    17 
       
    18  - Examples
       
    19  @code
       
    20 #include <math.h>
       
    21 int main( void )
       
    22 {
       
    23    double x;
       
    24    int y; 
       
    25    x = 1.34565;
       
    26    y = finite( x );
       
    27    printf( "finite( %f ) =  %d
       
    28 ", x, y );
       
    29    y = finitef( x );
       
    30    printf( "finitef( %f ) = %d
       
    31 ",x, y );
       
    32    y = finitel( x );
       
    33    printf( "finitel( %f ) = %d
       
    34 ",x, y );
       
    35 }
       
    36 
       
    37 @endcode
       
    38  Output
       
    39 @code
       
    40 finite ( 1.34565 ) = 1
       
    41 finitef( 1.34565 ) = 1
       
    42 finitel( 1.34565 ) =
       
    43 @endcode
       
    44  
       
    45 
       
    46 @publishedAll
       
    47 @released
       
    48 */
       
    49 
       
    50 /** @fn  finitef(float x)
       
    51 @param x
       
    52 
       
    53 
       
    54  
       
    55 
       
    56 @publishedAll
       
    57 @released
       
    58 */
       
    59 
       
    60 /** @fn  acos(double x)
       
    61 @param x
       
    62 @return   The acos, acosf, and acosl functions return the arc cosine in the range [0, pi]
       
    63 radians.
       
    64 If: | x | \> 1 , acos (x); returns an NaN.
       
    65 
       
    66 - Detailed description
       
    67  
       
    68 
       
    69  The acos, acosf, and acosl functions compute the principal value of the arc cosine of x .
       
    70 
       
    71 - Examples
       
    72 @code
       
    73 #include <math.h>
       
    74 int main( )
       
    75 {
       
    76    double x = -1;
       
    77    double y = acos( x );
       
    78    printf( "acos(%f) = %f
       
    79 ", x, y );
       
    80    y = acosf( x );
       
    81    printf( "acosf(%f) = %f
       
    82 ", x, y );
       
    83    y = acosl( x );
       
    84    printf( "acosl(%f) = %f
       
    85 ", x, y ); 
       
    86 }
       
    87 
       
    88 @endcode
       
    89  Output
       
    90 @code
       
    91 acos( -1.000000 ) = 3.14159
       
    92 acosf(-1.000000 ) = 3.14159
       
    93 acosl(-1.000000 ) = 3.14159
       
    94 
       
    95 @endcode
       
    96 @see asin()
       
    97 @see atan()
       
    98 @see atan2()
       
    99 @see cos()
       
   100 @see cosh()
       
   101 @see math()
       
   102 @see sin()
       
   103 @see sinh()
       
   104 @see tan()
       
   105 @see tanh()
       
   106 
       
   107 
       
   108  
       
   109 
       
   110 @publishedAll
       
   111 @externallyDefinedApi
       
   112 */
       
   113 
       
   114 /** @fn  asin(double x)
       
   115 @param x
       
   116 @return   The asin, asinf, and asinl functions return the arc sine in the range
       
   117 -words [-pi/2, +pi/2]
       
   118 radians.
       
   119 If: | x | \> 1 asin (x); returns an NaN.
       
   120 
       
   121 - Detailed description
       
   122   The asin and asinf functions compute the principal value of the arc sine of x .
       
   123 The function asinl is an alias to the function asin. A domain error occurs for arguments not in the range [-1, +1].
       
   124 
       
   125 - Examples
       
   126 @code
       
   127 #include <math.h>
       
   128 int main( )
       
   129 {
       
   130    double x = 0.5; 
       
   131    double y = asin( x );
       
   132    printf( "asin(%f) = %f
       
   133 ", x, y );
       
   134    y = asinf( x );
       
   135    printf( "asinf(%f) = %f
       
   136 ", x, y );
       
   137    y = asinl( x );
       
   138    printf( "asinl(%f) = %f
       
   139 ", x, y ); 
       
   140 }
       
   141 
       
   142 @endcode
       
   143  Output
       
   144 @code
       
   145 asin( 0.500000 ) = 0.523599
       
   146 asinf(0.500000 ) = 0.523599
       
   147 asinl(0.500000 ) = 0.523599
       
   148 
       
   149 @endcode
       
   150 @see acos()
       
   151 @see atan()
       
   152 @see atan2()
       
   153 @see cos()
       
   154 @see cosh()
       
   155 @see math()
       
   156 @see sin()
       
   157 @see sinh()
       
   158 @see tan()
       
   159 @see tanh()
       
   160 
       
   161 
       
   162    
       
   163 
       
   164 @publishedAll
       
   165 @externallyDefinedApi
       
   166 */
       
   167 
       
   168 /** @fn  atan(double x)
       
   169 @param x
       
   170 @see acos()
       
   171 @see asin()
       
   172 @see atan2()
       
   173 @see cos()
       
   174 @see cosh()
       
   175 @see math()
       
   176 @see sin()
       
   177 @see sinh()
       
   178 @see tan()
       
   179 @see tanh()
       
   180 
       
   181 
       
   182    
       
   183 
       
   184 @publishedAll
       
   185 @externallyDefinedApi
       
   186 */
       
   187 
       
   188 /** @fn  atan2(double y, double x)
       
   189 @param y
       
   190 @param x
       
   191 @see acos()
       
   192 @see asin()
       
   193 @see atan()
       
   194 @see cos()
       
   195 @see cosh()
       
   196 @see math()
       
   197 @see sin()
       
   198 @see sinh()
       
   199 @see tan()
       
   200 @see tanh()
       
   201 
       
   202 
       
   203    
       
   204 
       
   205 @publishedAll
       
   206 @externallyDefinedApi
       
   207 */
       
   208 
       
   209 /** @fn  cos(double x)
       
   210 @param x
       
   211 @see acos()
       
   212 @see asin()
       
   213 @see atan()
       
   214 @see atan2()
       
   215 @see cosh()
       
   216 @see math()
       
   217 @see sin()
       
   218 @see sinh()
       
   219 @see tan()
       
   220 @see tanh()
       
   221 
       
   222 
       
   223    
       
   224 
       
   225 @publishedAll
       
   226 @externallyDefinedApi
       
   227 */
       
   228 
       
   229 /** @fn  sin(double x)
       
   230 @param x
       
   231 @return   The sin and the sinf functions return the sine value.
       
   232 
       
   233 - Detailed description
       
   234   The sin and the sinf functions compute the sine of x (measured in radians).
       
   235 A large magnitude argument may yield a result with little
       
   236 or no significance. sinl is just an alias to the function sin
       
   237 
       
   238 - Examples
       
   239 @code
       
   240 #include <math.h>
       
   241 int main( )
       
   242 {
       
   243    double pi_by_6 = 0.52359877559829887307710723054658383 ;
       
   244    double y;
       
   245    y = sin( pi_by_6 );
       
   246    printf( "sin( %f)  = %f
       
   247 ", x1,  y );
       
   248    y = sinf( pi_by_6);
       
   249    printf( "sinf( %f) = %f
       
   250 ", pi_by_6, y );
       
   251    y = sinl( pi_by_6);
       
   252    printf( "sinl( %f) = %f
       
   253 ", pi_by_6, y );
       
   254  }
       
   255 
       
   256 @endcode
       
   257  Output
       
   258 @code
       
   259 sin ( 0.52359877559829887307710723054658383 ) = 0.500000
       
   260 sinf( 0.52359877559829887307710723054658383 ) = 0.500000
       
   261 sinl( 0.52359877559829887307710723054658383 ) = 0.500000
       
   262 
       
   263 @endcode
       
   264 @see acos()
       
   265 @see asin()
       
   266 @see atan()
       
   267 @see atan2()
       
   268 @see cos()
       
   269 @see cosh()
       
   270 @see math()
       
   271 @see sinh()
       
   272 @see tan()
       
   273 @see tanh()
       
   274 
       
   275 
       
   276    
       
   277 
       
   278 @publishedAll
       
   279 @externallyDefinedApi
       
   280 */
       
   281 
       
   282 /** @fn  tan(double x)
       
   283 @param x
       
   284 @return   The tan function returns the tangent value.
       
   285 
       
   286 - Detailed description
       
   287   The tan and tanf functions compute the tangent of x (measured in radians).
       
   288 A large magnitude argument may yield a result
       
   289 with little or no significance.
       
   290 The function tanl is an alias to the function tan
       
   291 
       
   292 - Examples
       
   293 @code
       
   294 #include <math.h>
       
   295 int main( )
       
   296 {
       
   297    double pi_by_4 = 0.7853981633974483096156608458198757;
       
   298    double y;
       
   299    y = tan( pi_by_4 );
       
   300    printf( "tan( %f)  = %f
       
   301 ", pi_by_4,  y );
       
   302    y = tanf( pi_by_4);
       
   303    printf( "tanf( %f) = %f
       
   304 ", pi_by_4, y );
       
   305    y = tanl( pi_by_4);
       
   306    printf( "tanl( %f) = %f
       
   307 
       
   308 ", pi_by_4, y );
       
   309 }
       
   310 
       
   311 @endcode
       
   312  Output
       
   313 @code
       
   314 tan ( 0.7853981633974483096156608458198757 ) = 1.000000
       
   315 tanf( 0.7853981633974483096156608458198757 ) = 1.000000
       
   316 tanl( 0.7853981633974483096156608458198757; ) =1.000000
       
   317 
       
   318 @endcode
       
   319 @see acos()
       
   320 @see asin()
       
   321 @see atan()
       
   322 @see atan2()
       
   323 @see cos()
       
   324 @see cosh()
       
   325 @see math()
       
   326 @see sin()
       
   327 @see sinh()
       
   328 @see tanh()
       
   329 
       
   330 
       
   331    
       
   332 
       
   333 @publishedAll
       
   334 @externallyDefinedApi
       
   335 */
       
   336 
       
   337 /** @fn  cosh(double x)
       
   338 @param x
       
   339 @see acos()
       
   340 @see asin()
       
   341 @see atan()
       
   342 @see atan2()
       
   343 @see cos()
       
   344 @see math()
       
   345 @see sin()
       
   346 @see sinh()
       
   347 @see tan()
       
   348 @see tanh()
       
   349 
       
   350 
       
   351    
       
   352 
       
   353 @publishedAll
       
   354 @externallyDefinedApi
       
   355 */
       
   356 
       
   357 /** @fn  sinh(double x)
       
   358 @param x
       
   359 - Detailed description
       
   360   The sinh and the sinhf functions compute the hyperbolic sine of x .
       
   361 The function sinhl is an alias to the function sinh
       
   362 
       
   363 - Examples
       
   364 @code
       
   365 #include <math.h>
       
   366 int main( )
       
   367 {
       
   368    double inp = 0.75;
       
   369    double y;
       
   370    y = sinh( inp );
       
   371    printf( "sinh( %f)  = %f
       
   372 ", inp,  y );
       
   373    y = sinhf( inp);
       
   374    printf( "sinhf( %f) = %f
       
   375 ", inp, y );
       
   376    y = sinhl( inp);
       
   377    printf( "sinhl( %f) = %f
       
   378 ", inp, y );
       
   379 }
       
   380 
       
   381 @endcode
       
   382  Output
       
   383 @code
       
   384 sinh ( 0.75 ) = 0.8223167
       
   385 sinhf( 0.75 ) = 0.8223167
       
   386 sinhl( 0.75 ) = 0.8223167
       
   387 
       
   388 @endcode
       
   389 @see acos()
       
   390 @see asin()
       
   391 @see atan()
       
   392 @see atan2()
       
   393 @see cos()
       
   394 @see cosh()
       
   395 @see math()
       
   396 @see sin()
       
   397 @see tan()
       
   398 @see tanh()
       
   399 
       
   400 
       
   401    
       
   402 
       
   403 @publishedAll
       
   404 @externallyDefinedApi
       
   405 */
       
   406 
       
   407 /** @fn  tanh(double x)
       
   408 @param x
       
   409 @return   The tanh, tanhf and tanhl functions return the hyperbolic tangent value.
       
   410 
       
   411 - Detailed description
       
   412   The tanh and tanhf functions compute the hyperbolic tangent of x . tanhl is an alias to the function tanh.
       
   413 
       
   414 - Examples
       
   415 @code
       
   416 #include <math.h>
       
   417 int main( )
       
   418 {
       
   419    double inp = 1.0;
       
   420    double y; 
       
   421    y = tanh( inp );
       
   422    printf( "tanh( %f)  = %f
       
   423 ", inp,  y );
       
   424    y = tanhf( inp);
       
   425    printf( "tanhf( %f) = %f
       
   426 ", inp, y );
       
   427    y = tanhl( inp);
       
   428    printf( "tanhl( %f) = %f
       
   429 
       
   430 ", inp, y );
       
   431    inp = 2209.0;
       
   432    y = sqrt( inp);
       
   433    printf( "sqrt( %f)  = %d
       
   434 ", inp,  y );
       
   435    y = sqrtf( inp);
       
   436    printf( "sqrtf( %f) = %d
       
   437 ", inp, y );
       
   438    y = sqrtl( inp);
       
   439    printf( "sqrtl( %f) = %d
       
   440 ", inp, y );
       
   441 }
       
   442 
       
   443 @endcode
       
   444  Output
       
   445 @code
       
   446 tanh ( 1.000000 ) = 0.7615941
       
   447 tanhf( 1.000000 ) = 0.7615941
       
   448 tanhl( 1.000000 ) = 0.7615941
       
   449 
       
   450 @endcode
       
   451 @see acos()
       
   452 @see asin()
       
   453 @see atan()
       
   454 @see atan2()
       
   455 @see cos()
       
   456 @see cosh()
       
   457 @see math()
       
   458 @see sin()
       
   459 @see sinh()
       
   460 @see tan()
       
   461 
       
   462 
       
   463    
       
   464 
       
   465 @publishedAll
       
   466 @externallyDefinedApi
       
   467 */
       
   468 
       
   469 /** @fn  exp(double x)
       
   470 @param x
       
   471 @return   These functions will return the appropriate computation unless an error
       
   472 occurs or an argument is out of range.
       
   473 The functions pow (x, y); and powf (x, y); return an NaN if x \< 0 and y is not an integer.
       
   474 An attempt to take the logarithm of ±0 will return infinity.
       
   475 An attempt to take the logarithm of a negative number will
       
   476 return a NaN.
       
   477 
       
   478 - Detailed description
       
   479   The exp and expf functions compute the base e exponential value of the given argument x .
       
   480 
       
   481  The exp2 and exp2f functions compute the base 2 exponential of the given argument x .
       
   482 
       
   483  The expm1 and expm1f functions compute the value exp(x)-1 accurately even for tiny argument x .
       
   484 
       
   485  The log and logf functions compute the value of the natural logarithm of argument x .
       
   486 
       
   487  The log10 and log10f functions compute the value of the logarithm of argument x to base 10.
       
   488 
       
   489  The log1p and log1pf functions compute
       
   490 the value of log(1+x) accurately even for tiny argument x .
       
   491 
       
   492  The pow and powf functions compute the value
       
   493 of x to the exponent y .
       
   494 
       
   495  Here the long double version APIs are aliases to the double version APIs.
       
   496 All apis \<function\>l behaves similiar to that \<function\>.
       
   497 
       
   498 - Examples
       
   499 @code
       
   500 #include <math.h>
       
   501 int main( void )
       
   502 {
       
   503    double x, y;
       
   504    x = 1.0;
       
   505    y = exp( x );
       
   506    printf( "exp( %f ) = %f
       
   507 ", x, y );
       
   508    y = expf( x );
       
   509    printf( "expf( %f ) = %f
       
   510 ",x, y );
       
   511    y = expl( x );
       
   512    printf( "expl( %f ) = %f
       
   513 ",x, y );
       
   514    x = 0.0;
       
   515    y = exp2( x );
       
   516    printf( "exp2( %f ) = %f
       
   517 ", x, y );
       
   518    y = exp2f( x );
       
   519    printf( "exp2f( %f ) = %f
       
   520 ",x, y );
       
   521    y = exp2l( x );
       
   522    printf( "exp2l( %f ) = %f
       
   523 ",x, y );
       
   524    x = 1.0 ;
       
   525    y = expm1( x );
       
   526    printf( "expm1( %f ) = %f
       
   527 ", x, y );
       
   528    y = expm1f( x );
       
   529    printf( "expm1f( %f ) = %f
       
   530 ",x, y );
       
   531    y = expm1l( x );
       
   532    printf( "expm1l( %f ) = %f
       
   533 ",x, y );
       
   534 }
       
   535 
       
   536 @endcode
       
   537  Output
       
   538 @code
       
   539 exp   ( 1.0 ) = 2.718282
       
   540 expf  ( 1.0 ) = 2.718282
       
   541 expl  ( 1.0 ) = 2.718282
       
   542 exp2  ( 0.0 ) = 1.000000
       
   543 exp2f ( 0.0 ) = 1.000000
       
   544 exp2l ( 0.0 ) = 1.000000
       
   545 expm1 ( 1.0 ) = 1.718281        
       
   546 expm1f( 1.0 ) = 1.718281
       
   547 expm1l( 1.0 ) = 1.718281
       
   548 
       
   549 @endcode
       
   550 
       
   551 Notes:
       
   552 
       
   553  The functions exp(x)-1 and log(1+x) are called
       
   554 expm1 and logp1 in BASIC on the Hewlett-Packard HP -71B and APPLE Macintosh, EXP1 and LN1 in Pascal, exp1 and log1 in C
       
   555 on APPLE Macintoshes, where they have been provided to make
       
   556 sure financial calculations of ((1+x)**n-1)/x, namely
       
   557 expm1(n*log1p(x))/x, will be accurate when x is tiny.
       
   558 They also provide accurate inverse hyperbolic functions. The function pow (x, 0); returns x**0 = 1 for all x including x = 0, oo, and NaN .
       
   559 Previous implementations of pow may
       
   560 have defined x**0 to be undefined in some or all of these
       
   561 cases.
       
   562 Here are reasons for returning x**0 = 1 always: Any program that already tests whether x is zero (or
       
   563 infinite or NaN) before computing x**0 cannot care
       
   564 whether 0**0 = 1 or not.
       
   565 Any program that depends
       
   566 upon 0**0 to be invalid is dubious anyway since that
       
   567 expression's meaning and, if invalid, its consequences
       
   568 vary from one computer system to another. Some Algebra texts (e.g. Sigler's) define x**0 = 1 for
       
   569 all x, including x = 0.
       
   570 This is compatible with the convention that accepts a[0]
       
   571 as the value of polynomial
       
   572 @code
       
   573 p(x) = a[0]*x**0 + a[1]*x**1 + a[2]*x**2 +...+ a[n]*x**n
       
   574 
       
   575 @endcode
       
   576  at x = 0 rather than reject a[0]*0**0 as invalid. Analysts will accept 0**0 = 1 despite that x**y can
       
   577 approach anything or nothing as x and y approach 0
       
   578 independently.
       
   579 The reason for setting 0**0 = 1 anyway is this:
       
   580 @code
       
   581 If x(z) and y(z) are
       
   582 
       
   583  any
       
   584 functions analytic (expandable
       
   585 in power series) in z around z = 0, and if there
       
   586 x(0) = y(0) = 0, then x(z)**y(z) -> 1 as z -> 0.
       
   587 
       
   588 @endcode
       
   589  If 0**0 = 1, then
       
   590 oo**0 = 1/0**0 = 1 too; and
       
   591 then NaN**0 = 1 too because x**0 = 1 for all finite
       
   592 and infinite x, i.e., independently of x.
       
   593 @see math()
       
   594 
       
   595 
       
   596    
       
   597 
       
   598 @publishedAll
       
   599 @externallyDefinedApi
       
   600 */
       
   601 
       
   602 /** @fn  frexp(double x, int *eptr)
       
   603 @param x
       
   604 @param eptr
       
   605 @return   These functions return the value y ,
       
   606 such that y is a double with magnitude in the interval [1/2, 1]
       
   607 or zero, and x equals y times 2 raised to the power *eptr .
       
   608 If x is zero, both parts of the result are zero.
       
   609 
       
   610 - Detailed description
       
   611   The frexp , frexpf, and frexpl functions break a floating-point number into a normalized
       
   612 fraction and an integral power of 2.
       
   613 They store the integer in the int object pointed to by eptr .
       
   614 As there is no long double is not supported by Symbian, frexpl (is, aliased, to, the); frexp
       
   615 
       
   616 
       
   617 
       
   618 - Examples
       
   619 @code
       
   620 void main( void )
       
   621 {
       
   622    double x1 = 4.0 , y;
       
   623    int res;
       
   624    y = frexp( x1, &res; );
       
   625    printf( "frexp(%f , &res;):: Int Part: %d and Fractional Part: %f 
       
   626 ", x1, res, y );
       
   627    y = frexpf( x1, &res; );
       
   628    printf( "frexpf(%f , &res;):: Int Part: %d and Fractional Part: %f 
       
   629 ", x1, res, y );
       
   630    y = frexpl( x1, &res; );
       
   631    printf( "frexpl(%f , &res;):: Int Part: %d and Fractional Part: %f 
       
   632 ", x1, res, y );
       
   633 }
       
   634 
       
   635 @endcode
       
   636  Output
       
   637 @code
       
   638 frexp ( 4.0 , &res; ) :: Int Part: 3 and Fractional Part: 0.5
       
   639 frexpf( 4.0,  &res; ) :: Int Part: 3 and Fractional Part: 0.5
       
   640 frexpl( 4.0,  &res; ) :: Int Part: 3 and Fractional Part: 0.5
       
   641 
       
   642 @endcode
       
   643    
       
   644 
       
   645 @publishedAll
       
   646 @externallyDefinedApi
       
   647 */
       
   648 
       
   649 /** @fn  ldexp(double x, int n)
       
   650 @param x
       
   651 @param n
       
   652 @return   These functions return the value of x times 2 raised to the power n .
       
   653 
       
   654 - Detailed description
       
   655   The ldexp, ldexpf, and ldexpl functions multiply a floating-point number by an integral
       
   656 power of 2.
       
   657 
       
   658 - Examples
       
   659 @code
       
   660 #include <math.h>
       
   661 int main( void )
       
   662 {
       
   663    double x1 = 0.8, x2 = 4, y;
       
   664    y = ldexp( x1, x2 );
       
   665    printf( "ldexp(%f , %f) = %f
       
   666 ", x1, x2, y );
       
   667    y = ldexpf( x1, x2 );
       
   668    printf( "ldexpf(%f , %f) = %f
       
   669 ", x1, x2, y );
       
   670    y = ldexpl( x1, x2 );
       
   671    printf( "ldexpl(%f , %f) = %f
       
   672 ", x1, x2, y );
       
   673 }
       
   674 
       
   675 @endcode
       
   676  Output
       
   677 @code
       
   678 ldexp ( 0.8, 4 ) = 12.8
       
   679 ldexpf( 0.8, 4 ) = 12.8
       
   680 ldexpl( 0.8, 4 ) = 12.8
       
   681 
       
   682 @endcode
       
   683 @see frexp()
       
   684 @see math()
       
   685 @see modf()
       
   686 
       
   687 
       
   688    
       
   689 
       
   690 @publishedAll
       
   691 @externallyDefinedApi
       
   692 */
       
   693 
       
   694 /** @fn  log(double x)
       
   695 @param x
       
   696 @see math()
       
   697 
       
   698 
       
   699    
       
   700 
       
   701 @publishedAll
       
   702 @externallyDefinedApi
       
   703 */
       
   704 
       
   705 /** @fn  log10(double x)
       
   706 @param x
       
   707 @see math()
       
   708 
       
   709 
       
   710    
       
   711 
       
   712 @publishedAll
       
   713 @externallyDefinedApi
       
   714 */
       
   715 
       
   716 /** @fn  modf(double x, double *iptr)
       
   717 @param x
       
   718 @param iptr
       
   719 @return   The modf, modff and modfl functions return the signed fractional part of a value .
       
   720 
       
   721 - Detailed description
       
   722   The modf function breaks the argument x into integral and fractional parts, each of which has the
       
   723 same sign as the argument.
       
   724 It stores the integral part as a double
       
   725 in the object pointed to by iptr .
       
   726 The function modff (is, the, float, version, of, modf().); The function modfl is an alias to the function modf.
       
   727 
       
   728 - Examples
       
   729 @code
       
   730 #include <math.h>
       
   731 #include <stdio.h>
       
   732 int main()
       
   733 {
       
   734    double x1 = 123.456703 , y;
       
   735    double  iptr;
       
   736    float fptr;
       
   737    y = modf( x1, &iptr; );
       
   738    printf( "modf(%f , &iptr;):: Int Part: %f and Fractional Part: %f 0, x1, iptr, y );
       
   739    y = modff( x1, &fptr; );
       
   740    printf( "modff(%f , &iptr;):: Int Part: %f and Fractional Part: %f 0, x1, fptr, y );
       
   741    y = modfl( x1, &iptr; );
       
   742    printf( "modfl(%f , &iptr;):: Int Part: %f and Fractional Part: %f 0, x1, iptr, y );
       
   743 }
       
   744 
       
   745 @endcode
       
   746  Output
       
   747 @code
       
   748 modf ( 123.456703 , &iptr; ) :: Int Part: 123 and Fractional Part: 0.456703
       
   749 modff( 123.456703,  &iptr; ) :: Int Part: 123 and Fractional Part: 0.456703
       
   750 modfl( 123.456703,  &iptr; ) :: Int Part: 123 and Fractional Part: 0.456703
       
   751 
       
   752 @endcode
       
   753 @see frexp()
       
   754 @see ldexp()
       
   755 @see math()
       
   756 
       
   757 
       
   758    
       
   759 
       
   760 @publishedAll
       
   761 @externallyDefinedApi
       
   762 */
       
   763 
       
   764 /** @fn  pow(double x, double y)
       
   765 @param x
       
   766 @param y
       
   767 @see math()
       
   768 
       
   769 
       
   770    
       
   771 
       
   772 @publishedAll
       
   773 @externallyDefinedApi
       
   774 */
       
   775 
       
   776 /** @fn  sqrt(double x)
       
   777 @param x
       
   778 @see math()
       
   779 
       
   780 
       
   781    
       
   782 
       
   783 @publishedAll
       
   784 @externallyDefinedApi
       
   785 */
       
   786 
       
   787 /** @fn  ceil(double x)
       
   788 @param x
       
   789 @return   x is integral or infinite, x itself is returned.
       
   790 
       
   791 
       
   792 The ceil , ceilf, and ceill functions return the smallest integral value
       
   793 greater than or equal to x ,
       
   794 expressed as a floating-point number.
       
   795 
       
   796 - Examples
       
   797 @code
       
   798 #include <math.h>
       
   799 int main( void )
       
   800 {
       
   801    double y;
       
   802    y = ceil( 2.8 );
       
   803    printf( "The ceil of 2.8 is %f
       
   804 ", y );
       
   805    y = ceil( -2.8 );
       
   806    printf( "The ceil of -2.8 is %f
       
   807 ", y );
       
   808    y = ceilf( 2.8 );
       
   809    printf( "The ceilf of 2.8 is %f
       
   810 ", y );
       
   811    y = ceilf( -2.8 );
       
   812    printf( "The ceilf of -2.8 is %f
       
   813 ", y );
       
   814    y = ceill( 2.8 );
       
   815    printf( "The ceill of 2.8 is %f
       
   816 ", y );
       
   817    y = ceill( -2.8 );
       
   818    printf( "The ceill of -2.8 is %f
       
   819 ", y );
       
   820 }
       
   821 
       
   822 @endcode
       
   823  Output
       
   824 @code
       
   825 The ceil of 2.8 is 3.000000
       
   826 The ceil of -2.8 is -2.000000
       
   827 The ceilf of 2.8 is 3.000000
       
   828 The ceilf of -2.8 is -2.000000
       
   829 The ceill of 2.8 is 3.000000
       
   830 The ceill of -2.8 is -2.000000
       
   831 
       
   832 @endcode
       
   833 @see abs()
       
   834 @see fabs()
       
   835 @see floor()
       
   836 @see ieee()
       
   837 @see math()
       
   838 @see rint()
       
   839 @see round()
       
   840 @see trunc()
       
   841 
       
   842 
       
   843    
       
   844 
       
   845 @publishedAll
       
   846 @externallyDefinedApi
       
   847 */
       
   848 
       
   849 /** @fn  ceilf(float x)
       
   850 @param x
       
   851 @see abs()
       
   852 @see fabs()
       
   853 @see floor()
       
   854 @see ieee()
       
   855 @see math()
       
   856 @see rint()
       
   857 @see round()
       
   858 @see trunc()
       
   859 
       
   860 
       
   861    
       
   862 
       
   863 @publishedAll
       
   864 @externallyDefinedApi
       
   865 */
       
   866 
       
   867 /** @fn  fabs(double x)
       
   868 @param x
       
   869 @return   The fabs , fabsf and fabsl functions return the absolute value of x .
       
   870 
       
   871 The fabs , fabsf and fabsl functions compute the absolute value of a floating-point number x .
       
   872 
       
   873 Examples
       
   874 @code
       
   875 #include  <stdio.h>
       
   876 #include  <math.h>
       
   877 int main( void )
       
   878 {
       
   879    double dx = -3.141593, dy;
       
   880    dy = fabs( dx );
       
   881    printf( "fabs( %f ) = %f
       
   882 ", dx, dy );
       
   883    dy = fabsf( dx );
       
   884    printf( "fabsf( %f ) = %f
       
   885 ", dx, dy );
       
   886    dy = fabsl( dx );
       
   887    printf( "fabsl( %f ) = %f
       
   888 ", dx, dy );
       
   889 }
       
   890 
       
   891 @endcode
       
   892  Output
       
   893 @code
       
   894 fabs( -3.141593  ) = 3.141593
       
   895 fabsf( -3.141593 ) = 3.141593
       
   896 fabsl( -3.141593 ) = 3.141593
       
   897 
       
   898 @endcode
       
   899 @see abs()
       
   900 @see ceil()
       
   901 @see floor()
       
   902 @see ieee()
       
   903 @see math()
       
   904 @see rint()
       
   905 
       
   906 
       
   907    
       
   908 
       
   909 @publishedAll
       
   910 @externallyDefinedApi
       
   911 */
       
   912 
       
   913 /** @fn  fabsf(float x)
       
   914 @param x
       
   915 @see abs()
       
   916 @see ceil()
       
   917 @see floor()
       
   918 @see ieee()
       
   919 @see math()
       
   920 @see rint()
       
   921 
       
   922 
       
   923    
       
   924 
       
   925 @publishedAll
       
   926 @externallyDefinedApi
       
   927 */
       
   928 
       
   929 /** @fn  fabsl(long double x)
       
   930 @param x
       
   931 @see abs()
       
   932 @see ceil()
       
   933 @see floor()
       
   934 @see ieee()
       
   935 @see math()
       
   936 @see rint()
       
   937 
       
   938 
       
   939    
       
   940 
       
   941 @publishedAll
       
   942 @externallyDefinedApi
       
   943 */
       
   944 
       
   945 /** @fn  floor(double x)
       
   946 @param x
       
   947 @return   x is integral or infinite, x itself is returned.
       
   948 
       
   949 
       
   950 The floor , floorf, and floorl functions return the largest integral value
       
   951 less than or equal to x ,
       
   952 expressed as a floating-point number.
       
   953 
       
   954 - Examples
       
   955 @code
       
   956 #include <math.h>
       
   957 int main( void )
       
   958 {
       
   959    double y;
       
   960    y = floor( 2.8 );
       
   961    printf( "The floor of 2.8 is %f
       
   962 ", y );
       
   963    y = floorf( 2.8 );
       
   964    printf( "The floorf of 2.8 is %f
       
   965 ", y );
       
   966    y = floorl( 2.8 );
       
   967    printf( "The floorl of 2.8 is %f
       
   968 ", y );
       
   969 }
       
   970 
       
   971 @endcode
       
   972  Output
       
   973 @code
       
   974 The floor  of 2.8 is 2.000000
       
   975 The floorf of 2.8 is 2.000000
       
   976 The floorl of 2.8 is 2.000000
       
   977 
       
   978 @endcode
       
   979 @see abs()
       
   980 @see ceil()
       
   981 @see fabs()
       
   982 @see ieee()
       
   983 @see math()
       
   984 @see rint()
       
   985 @see round()
       
   986 @see trunc()
       
   987 
       
   988 
       
   989    
       
   990 
       
   991 @publishedAll
       
   992 @externallyDefinedApi
       
   993 */
       
   994 
       
   995 /** @fn  floorf(float x)
       
   996 @param x
       
   997 @see abs()
       
   998 @see ceil()
       
   999 @see fabs()
       
  1000 @see ieee()
       
  1001 @see math()
       
  1002 @see rint()
       
  1003 @see round()
       
  1004 @see trunc()
       
  1005 
       
  1006 
       
  1007    
       
  1008 
       
  1009 @publishedAll
       
  1010 @externallyDefinedApi
       
  1011 */
       
  1012 
       
  1013 /** @fn  fmod(double x, double y)
       
  1014 @param x
       
  1015 @param y
       
  1016 @return   The fmod, fmodf, and fmodl functions return the value x - i * y , for some integer i such that, if y is non-zero, the result has the same sign as x and magnitude less than the magnitude of y .
       
  1017 If y is zero, whether a domain error occurs or the fmod and fmodf function returns zero is implementation-defined.
       
  1018 
       
  1019 
       
  1020 The fmod, fmodf, and fmodl functions compute the floating-point remainder of x / y . fmodl is an alias to the function fmod.
       
  1021 
       
  1022 Examples
       
  1023 @code
       
  1024 #include <math.h>
       
  1025 int main()
       
  1026 {
       
  1027    double x1 = 6.5, x2 = 2.25, y;
       
  1028    y = fmod( x1, x2 );
       
  1029    printf( "fmod(%f , %f) = %f
       
  1030 ", x1, x2, y );
       
  1031    y = fmodf( x1, x2 );
       
  1032    printf( "fmodf(%f , %f) = %f
       
  1033 ", x1, x2, y );
       
  1034    y = fmodl( x1, x2 );
       
  1035    printf( "fmodl(%f , %f) = %f
       
  1036 ", x1, x2, y );
       
  1037 }
       
  1038 
       
  1039 @endcode
       
  1040  Output
       
  1041 @code
       
  1042 fmod ( 6.4, 2 ) = 2.0
       
  1043 fmodf( 6.4, 2 ) = 2.0
       
  1044 fmodl( 6.4, 2 ) = 2.0
       
  1045 
       
  1046 @endcode
       
  1047 @see math()
       
  1048 
       
  1049 
       
  1050    
       
  1051 
       
  1052 @publishedAll
       
  1053 @externallyDefinedApi
       
  1054 */
       
  1055 
       
  1056 /** @fn  fmodf(float x, float y)
       
  1057 @param x
       
  1058 @param y
       
  1059 @see math()
       
  1060 
       
  1061 
       
  1062    
       
  1063 
       
  1064 @publishedAll
       
  1065 @externallyDefinedApi
       
  1066 */
       
  1067 
       
  1068 /** @fn  acosh(double x)
       
  1069 @param x
       
  1070 @return   The acosh , acoshf ,
       
  1071 and acoshl functions
       
  1072 return the inverse hyperbolic cosine of x .
       
  1073 If the argument is less than 1, acosh returns an NaN.
       
  1074 
       
  1075 
       
  1076 The acosh and acoshf functions compute the inverse hyperbolic cosine
       
  1077 of the real
       
  1078 argument x .
       
  1079 The function acoshl is an alias to the function acosh .
       
  1080 
       
  1081 - Examples
       
  1082 @code
       
  1083 #include <math.h>
       
  1084 int main( )
       
  1085 {
       
  1086    double x = 1;
       
  1087    double y = acosh( x );
       
  1088    printf( "acosh(%f) = %f
       
  1089 ", x, y );
       
  1090    y = acoshf( x );
       
  1091    printf( "acoshf(%f) = %f
       
  1092 ", x, y );
       
  1093    y = acoshl( x );
       
  1094    printf( "acoshl(%f) = %f
       
  1095 ", x, y ); 
       
  1096 }
       
  1097 
       
  1098 @endcode
       
  1099  Output
       
  1100 @code
       
  1101 acosh( 1.000000 ) = 0.0
       
  1102 acoshf(1.000000 ) = 0.0
       
  1103 acoshl(1.000000 ) = 0.0
       
  1104 
       
  1105 @endcode
       
  1106 @see asinh()
       
  1107 @see atanh()
       
  1108 @see exp()
       
  1109 @see math()
       
  1110 
       
  1111 
       
  1112    
       
  1113 
       
  1114 @publishedAll
       
  1115 @externallyDefinedApi
       
  1116 */
       
  1117 
       
  1118 /** @fn  acoshf(float x)
       
  1119 @param x
       
  1120 @see asinh()
       
  1121 @see atanh()
       
  1122 @see exp()
       
  1123 @see math()
       
  1124 
       
  1125 
       
  1126    
       
  1127 
       
  1128 @publishedAll
       
  1129 @externallyDefinedApi
       
  1130 */
       
  1131 
       
  1132 /** @fn  asinh(double x)
       
  1133 @param x
       
  1134 @see acosh()
       
  1135 @see atanh()
       
  1136 @see exp()
       
  1137 @see math()
       
  1138 
       
  1139 
       
  1140    
       
  1141 
       
  1142 @publishedAll
       
  1143 @externallyDefinedApi
       
  1144 */
       
  1145 
       
  1146 /** @fn  asinhf(float x)
       
  1147 @param x
       
  1148 @see acosh()
       
  1149 @see atanh()
       
  1150 @see exp()
       
  1151 @see math()
       
  1152 
       
  1153 
       
  1154    
       
  1155 
       
  1156 @publishedAll
       
  1157 @externallyDefinedApi
       
  1158 */
       
  1159 
       
  1160 /** @fn  atanh(double x)
       
  1161 @param x
       
  1162 @see acosh()
       
  1163 @see asinh()
       
  1164 @see exp()
       
  1165 @see math()
       
  1166 
       
  1167 
       
  1168    
       
  1169 
       
  1170 @publishedAll
       
  1171 @externallyDefinedApi
       
  1172 */
       
  1173 
       
  1174 /** @fn  atanhf(float x)
       
  1175 @param x
       
  1176 @see acosh()
       
  1177 @see asinh()
       
  1178 @see exp()
       
  1179 @see math()
       
  1180 
       
  1181 
       
  1182    
       
  1183 
       
  1184 @publishedAll
       
  1185 @externallyDefinedApi
       
  1186 */
       
  1187 
       
  1188 /** @fn  cbrt(double x)
       
  1189 @param x
       
  1190 @return   The cbrt and cbrtf functions return the requested cube root.
       
  1191 The sqrt and sqrtf functions return the requested square root
       
  1192 unless an error occurs.
       
  1193 An attempt to take the sqrt of negative x causes an NaN to be returned.
       
  1194 
       
  1195 
       
  1196 The cbrt and cbrtf functions compute
       
  1197 the cube root of x .
       
  1198 The function cbrtl is an alias to the function cbrt.
       
  1199 
       
  1200  The sqrt and sqrtf functions compute the
       
  1201 non-negative square root of x.
       
  1202 The function sqrtl is an alias to the function sqrt.
       
  1203 
       
  1204 - Examples
       
  1205 @code
       
  1206 #include <math.h>
       
  1207 int main( )
       
  1208 {
       
  1209    double inp = -0.001;
       
  1210    double y;
       
  1211    y = cbrt( inp );
       
  1212    printf( "cbrt( %f)  = %f
       
  1213 ", x1,  y );
       
  1214    y = cbrtf( inp);
       
  1215    printf( "cbrtf( %f) = %f
       
  1216 ", inp, y );
       
  1217    y = cbrtl( inp);
       
  1218    printf( "cbrtl( %f) = %f
       
  1219 
       
  1220 ", inp, y );
       
  1221    inp = 2209.0;
       
  1222    y = sqrt( inp);
       
  1223    printf( "sqrt( %f)  = %d
       
  1224 ", inp,  y );
       
  1225    y = sqrtf( inp);
       
  1226    printf( "sqrtf( %f) = %d
       
  1227 ", inp, y );
       
  1228    y = sqrtl( inp);
       
  1229    printf( "sqrtl( %f) = %d
       
  1230 ", inp, y );
       
  1231 }
       
  1232 
       
  1233 @endcode
       
  1234  Output
       
  1235 @code
       
  1236 cbrt ( -0.001 ) = -0.100000
       
  1237 cbrtf( -0.001 ) = -0.100000
       
  1238 cbrtl( -0.001 ) = -0.100000
       
  1239 sqrt ( 2209.0 ) = 47.0
       
  1240 sqrtf( 2209.0 ) = 47.0
       
  1241 sqrtl( 2209.0 ) = 47.0
       
  1242 
       
  1243 @endcode
       
  1244 @see math()
       
  1245 
       
  1246 
       
  1247    
       
  1248 
       
  1249 @publishedAll
       
  1250 @externallyDefinedApi
       
  1251 */
       
  1252 
       
  1253 /** @fn  erf(double x)
       
  1254 @param x
       
  1255 @see math()
       
  1256 
       
  1257 
       
  1258    
       
  1259 
       
  1260 @publishedAll
       
  1261 @externallyDefinedApi
       
  1262 */
       
  1263 
       
  1264 /** @fn  erfc(double x)
       
  1265 @param x
       
  1266 @see math()
       
  1267 
       
  1268 
       
  1269    
       
  1270 
       
  1271 @publishedAll
       
  1272 @externallyDefinedApi
       
  1273 */
       
  1274 
       
  1275 /** @fn  erff(float x)
       
  1276 @param x
       
  1277 @see math()
       
  1278 
       
  1279 
       
  1280    
       
  1281 
       
  1282 @publishedAll
       
  1283 @externallyDefinedApi
       
  1284 */
       
  1285 
       
  1286 /** @fn  erfcf(float x)
       
  1287 @param x
       
  1288 @see math()
       
  1289 
       
  1290 
       
  1291    
       
  1292 
       
  1293 @publishedAll
       
  1294 @externallyDefinedApi
       
  1295 */
       
  1296 
       
  1297 /** @fn  exp2(double x)
       
  1298 @param x
       
  1299 @see math()
       
  1300 
       
  1301 
       
  1302    
       
  1303 
       
  1304 @publishedAll
       
  1305 @externallyDefinedApi
       
  1306 */
       
  1307 
       
  1308 /** @fn  exp2f(float x)
       
  1309 @param x
       
  1310 @see math()
       
  1311 
       
  1312 
       
  1313    
       
  1314 
       
  1315 @publishedAll
       
  1316 @externallyDefinedApi
       
  1317 */
       
  1318 
       
  1319 /** @fn expm1(double)
       
  1320 
       
  1321 The expm1 and expm1f functions compute the value exp(x)-1 accurately even for tiny argument x .
       
  1322 
       
  1323 @publishedAll
       
  1324 @externallyDefinedApi
       
  1325 */
       
  1326 
       
  1327 /** @fn  expm1f(float x)
       
  1328 
       
  1329 The expm1 and expm1f functions compute the value exp(x)-1 accurately even for tiny argument x .
       
  1330 
       
  1331 @param x
       
  1332 @see math()
       
  1333 
       
  1334 
       
  1335    
       
  1336 
       
  1337 @publishedAll
       
  1338 @externallyDefinedApi
       
  1339 */
       
  1340 
       
  1341 /** @fn  fma(double x, double y, double z)
       
  1342 @param x
       
  1343 @param y
       
  1344 @param z
       
  1345 
       
  1346 @code
       
  1347 
       
  1348 The fma, fmaf, and fmal functions return (x * y) + z, computed with only one rounding error. Using the ordinary multiplication and addition operators, by contrast, results in two roundings: one for the intermediate product and one for the final result. 
       
  1349 For instance, the expression 1.2e100 * 2.0e208 - 1.4e308 produces oo due to overflow in the intermediate product, whereas fma(1.2e100, 2.0e208, -1.4e308) returns approximately 1.0e308. 
       
  1350 
       
  1351 The fused multiply-add operation is often used to improve the accuracy of calculations such as dot products. It may also be used to improve performance on machines that implement it natively. The macros FP_FAST_FMA, FP_FAST_FMAF and FP_FAST_FMAL may be defined in   #include \<math.h\>to indicate that fma, fmaf, and fmal (respectively) have comparable or faster speed than a multiply operation followed by an add operation.  
       
  1352 @endcode
       
  1353 
       
  1354 
       
  1355 
       
  1356 - Examples
       
  1357 @code
       
  1358 #include <math.h>
       
  1359 int main()
       
  1360 {
       
  1361    double x1 = 1, x2 = 2, x3 =3, y;
       
  1362    y = fma( x1, x2, x3 );
       
  1363    printf( "fma(%f , %f , %f) = %f
       
  1364 ", x1, x2, x3, y );
       
  1365    y = fmaf( x1, x2, x3 );
       
  1366    printf( "fmaf(%f , %f , %f) = %f
       
  1367 ", x1, x2, x3, y );
       
  1368    y = fmal( x1, x2, x3 );
       
  1369    printf( "fmal(%f , %f , %f) = %f
       
  1370 ", x1, x2, x3, y );
       
  1371 }
       
  1372 
       
  1373 @endcode
       
  1374  Output
       
  1375 @code
       
  1376 fma ( 1, 2, 3 ) = 5
       
  1377 fmaf( 1, 2, 3 ) = 5
       
  1378 fmal( 1, 2, 3 ) = 5
       
  1379 
       
  1380 @endcode
       
  1381   Implementation notes In general, these routines will behave as one would expect if x * y + z
       
  1382 were computed with unbounded precision and range,
       
  1383 then rounded to the precision of the return type.
       
  1384 However, on some platforms,
       
  1385 
       
  1386 @see math()
       
  1387 
       
  1388 
       
  1389    
       
  1390 
       
  1391 @publishedAll
       
  1392 @externallyDefinedApi
       
  1393 */
       
  1394 
       
  1395 /** @fn  fmaf(float x, float y, float z)
       
  1396 @param x
       
  1397 @param y
       
  1398 @param z
       
  1399 @see math()
       
  1400 
       
  1401 
       
  1402    
       
  1403 
       
  1404 @publishedAll
       
  1405 @externallyDefinedApi
       
  1406 */
       
  1407 
       
  1408 /** @fn  fmax(double x, double y)
       
  1409 @param x
       
  1410 @param y
       
  1411 
       
  1412 The fmax, fmaxf, and fmaxl functions return the larger of x and y ,
       
  1413 and likewise, the fmin, fminf, and fminl functions return the smaller of x and y .
       
  1414 They treat +0.0
       
  1415 as being larger than -0.0.
       
  1416 If one argument is an NaN(Not a Number), then the other argument is returned.
       
  1417 If both arguments are NaN(Not a Number)s, then the result is an NaN(Not a Number).
       
  1418 
       
  1419 - Examples
       
  1420 @code
       
  1421 #include <math.h>
       
  1422 int main( void )
       
  1423 {
       
  1424    double y;
       
  1425    y = fmax( 0, -9 );
       
  1426    printf( "fmax ( 0, -9) = %f
       
  1427 ", y );
       
  1428    y = fmaxf( 0, -9 );
       
  1429    printf( "fmaxf( 0, -9) = %f
       
  1430 ", y );
       
  1431    y = fmaxl( 0, -9 );
       
  1432    printf( "fmaxl( 0, -9) = %f
       
  1433 ", y );
       
  1434    y = fmin( 0, -9 );
       
  1435    printf( "fmin ( 0, -9) = %f
       
  1436 ", y );
       
  1437    y = fminf( 0, -9 );
       
  1438    printf( "fminf ( 0, -9) = %f
       
  1439 ", y );
       
  1440    y = fminl( 0, -9 );
       
  1441    printf( "fminl ( 0, -9) = %f
       
  1442 ", y );
       
  1443 }
       
  1444 
       
  1445 @endcode
       
  1446  Output
       
  1447 @code
       
  1448 fmax( 0, -9 ) = 0
       
  1449 fmaxf( 0, -9 ) = 0
       
  1450 fmaxl( 0, -9 ) = 0
       
  1451 fmin( 0, -9 ) = -9
       
  1452 fminf( 0, -9 ) = -9
       
  1453 fminl( 0, -9 ) = -9
       
  1454 
       
  1455 @endcode
       
  1456 @see fabs()
       
  1457 @see fdim()
       
  1458 @see math()
       
  1459 
       
  1460 
       
  1461    
       
  1462 
       
  1463 @publishedAll
       
  1464 @externallyDefinedApi
       
  1465 */
       
  1466 
       
  1467 /** @fn  fmaxf(float x, float y)
       
  1468 @param x
       
  1469 @param y
       
  1470 @see fabs()
       
  1471 @see fdim()
       
  1472 @see math()
       
  1473 
       
  1474 
       
  1475    
       
  1476 
       
  1477 @publishedAll
       
  1478 @externallyDefinedApi
       
  1479 */
       
  1480 
       
  1481 /** @fn  fmaxl(long double x, long double y)
       
  1482 @param x
       
  1483 @param y
       
  1484 @see fabs()
       
  1485 @see fdim()
       
  1486 @see math()
       
  1487 
       
  1488 
       
  1489    
       
  1490 
       
  1491 @publishedAll
       
  1492 @externallyDefinedApi
       
  1493 */
       
  1494 
       
  1495 /** @fn  hypot(double x, double y)
       
  1496 @param x
       
  1497 @param y
       
  1498 
       
  1499 @code
       
  1500   The hypot and hypotf functions
       
  1501 compute the
       
  1502 sqrt(x*x+y*y)
       
  1503 in such a way that underflow will not happen, and overflow
       
  1504 occurs only if the final result deserves it.
       
  1505 @endcode
       
  1506 
       
  1507 Examples
       
  1508 @code
       
  1509 void main( void )
       
  1510 {
       
  1511    double x1 = 3.0 , x2 = 4.0, y;
       
  1512    y = hypot( x1, x2 );
       
  1513    printf( "atan2(%f , %f) = %f
       
  1514 ", x1, x2, y );
       
  1515    y = hypotf( x1, x2 );
       
  1516    printf( "atan2f(%f , %f) = %f
       
  1517 ", x1, x2, y );
       
  1518    y = hypotl( x1, x2 );
       
  1519    printf( "hypotl(%f , %f) = %f
       
  1520 ", x1, x2, y );
       
  1521 }
       
  1522 
       
  1523 @endcode
       
  1524  Output
       
  1525 @code
       
  1526 hypot ( 3.0, 4.0  ) = 5.000000
       
  1527 hypotf( 3.0, 4.0 )  = 5.000000
       
  1528 hypotl( 3.0, 4.0 )  = 5.000000
       
  1529 
       
  1530 @endcode
       
  1531 
       
  1532 Notes:
       
  1533 
       
  1534 As might be expected, hypot (v, NaN);
       
  1535 and hypot (NaN, v);
       
  1536 are NaN for all finite v. But programmers might be surprised at first to discover that hypot (±oo, NaN);
       
  1537 = +oo. This is intentional; it happens because hypot (oo, v);
       
  1538 = +oo for all v, finite or infinite. Hence hypot (oo, v);
       
  1539 is independent of v. Unlike the reserved operand fault on a VAX, the IEEE NaN is designed to disappear when it turns out to be irrelevant, as it does in hypot (oo, NaN);
       
  1540 hypot. 
       
  1541 
       
  1542 hypot (oo, v);
       
  1543 = hypot (v, oo);
       
  1544 = +oo for all v, including NaN. 
       
  1545 
       
  1546 @see math()
       
  1547 @see sqrt()
       
  1548 
       
  1549 
       
  1550    
       
  1551 
       
  1552 @publishedAll
       
  1553 @externallyDefinedApi
       
  1554 */
       
  1555 
       
  1556 /** @fn  hypotf(float x, float y)
       
  1557 @param x
       
  1558 @param y
       
  1559 @see math()
       
  1560 @see sqrt()
       
  1561 
       
  1562 
       
  1563    
       
  1564 
       
  1565 @publishedAll
       
  1566 @externallyDefinedApi
       
  1567 */
       
  1568 
       
  1569 /** @fn  ilogb(double x)
       
  1570 @param x
       
  1571 
       
  1572 The functions ilogb, ilogbf, and ilogbl return x ’s exponent, in integer format. ilogb (±oo);
       
  1573 @code
       
  1574 returns INT_MAX, ilogb (±NaN);
       
  1575 returns FP_ILOGBNAN and ilogb (0);
       
  1576 returns FP_ILOGB0. 
       
  1577 @endcode
       
  1578 
       
  1579 Examples
       
  1580 @code
       
  1581 #include <math.h>
       
  1582 int main( )
       
  1583 {
       
  1584    double e = 1024;
       
  1585    /*iLogb(), ilogbf() and ilogbl() */
       
  1586    y = ilogb( e );
       
  1587    printf( "ilogb( %f) = %f
       
  1588 ", e, y );
       
  1589    y = ilogbf( e );
       
  1590    printf( "ilogbf( %f) = %f
       
  1591 ", e, y );
       
  1592    y = ilogbl( e );
       
  1593    printf( "ilogbl( %f) = %f
       
  1594 
       
  1595 ", e, y );
       
  1596 }
       
  1597 
       
  1598 @endcode
       
  1599  Output
       
  1600 @code
       
  1601 ilogb (1024) = 10.000000
       
  1602 ilogbf(1024) = 10.000000
       
  1603 ilogbl(1024) = 10.000000
       
  1604 
       
  1605 @endcode
       
  1606 @see frexp()
       
  1607 @see ieee()
       
  1608 @see math()
       
  1609 @see scalbn()
       
  1610 
       
  1611 
       
  1612    
       
  1613 
       
  1614 @publishedAll
       
  1615 @externallyDefinedApi
       
  1616 */
       
  1617 
       
  1618 /** @fn  ilogbf(float x)
       
  1619 @param x
       
  1620 @see frexp()
       
  1621 @see ieee()
       
  1622 @see math()
       
  1623 @see scalbn()
       
  1624 
       
  1625 
       
  1626    
       
  1627 
       
  1628 @publishedAll
       
  1629 @externallyDefinedApi
       
  1630 */
       
  1631 
       
  1632 /** @fn  ilogbl(long double x)
       
  1633 @param x
       
  1634 @see frexp()
       
  1635 @see ieee()
       
  1636 @see math()
       
  1637 @see scalbn()
       
  1638 
       
  1639 
       
  1640    
       
  1641 
       
  1642 @publishedAll
       
  1643 @externallyDefinedApi
       
  1644 */
       
  1645 
       
  1646 /** @fn  lgamma(double x)
       
  1647 @param x
       
  1648 @see math()
       
  1649 
       
  1650 
       
  1651    
       
  1652 
       
  1653 @publishedAll
       
  1654 @externallyDefinedApi
       
  1655 */
       
  1656 
       
  1657 /** @fn  lgamma_r(double x, int *signgamp)
       
  1658 @param x
       
  1659 @param signgamp
       
  1660 @see math()
       
  1661 
       
  1662 
       
  1663    
       
  1664 
       
  1665 @publishedAll
       
  1666 @externallyDefinedApi
       
  1667 */
       
  1668 
       
  1669 /** @fn  lgammaf(float x)
       
  1670 @param x
       
  1671 @see math()
       
  1672 
       
  1673 
       
  1674    
       
  1675 
       
  1676 @publishedAll
       
  1677 @externallyDefinedApi
       
  1678 */
       
  1679 
       
  1680 /** @fn  lgammaf_r(float x, int *signgamp)
       
  1681 @param x
       
  1682 @param signgamp
       
  1683 @see math()
       
  1684 
       
  1685 
       
  1686    
       
  1687 
       
  1688 @publishedAll
       
  1689 @externallyDefinedApi
       
  1690 */
       
  1691 
       
  1692 /** @fn  llrint(double x)
       
  1693 @param x
       
  1694 @return  
       
  1695 
       
  1696 - Detailed description
       
  1697   The lrint function returns the integer nearest to its argument x according to the current rounding mode.
       
  1698 When the rounded result is representable as a long ,
       
  1699 the expression
       
  1700 
       
  1701  The llrint , llrintf and lrintf functions differ from lrint only in their input and output types. lrintf and llrintl is just an aliases to the functions lrint (and); llrint respectively
       
  1702 
       
  1703 - Examples
       
  1704 @code
       
  1705 #include <math.h>
       
  1706 int main( void )
       
  1707 {
       
  1708    double x1 = 1.4;
       
  1709    long long y;
       
  1710    int res ;
       
  1711    y = llrint( x1 );
       
  1712    printf( "llrint(%f) = %d
       
  1713 ", x1, y );
       
  1714    y = llrintf( x1 );
       
  1715    printf( "llrintf(%f) = %d
       
  1716 ", x1, y );
       
  1717    y = llrintl( x1 );
       
  1718    printf( "llrintl(%f) = %d
       
  1719 ", x1, y );
       
  1720    res = lrint( x1 );
       
  1721    printf( "lrint(%f) = %d
       
  1722 ", x1, res );
       
  1723    res = lrintf( x1 );
       
  1724    printf( "lrintf(%f) = %d
       
  1725 ", x1, res );
       
  1726    res = lrintl( x1 );
       
  1727    printf( "lrintl(%f) = %d
       
  1728 ", x1, res );
       
  1729 }
       
  1730 
       
  1731 @endcode
       
  1732  Output
       
  1733 @code
       
  1734 llrint ( 1.4 ) = 1.000000
       
  1735 llrintf( 1.4 ) = 1.000000
       
  1736 llrintl( 1.4 ) = 1.000000
       
  1737 lrint ( 1.4 ) = 1.000000
       
  1738 lrintf( 1.4 ) = 1.000000
       
  1739 lrintl( 0.0 ) = 1.000000
       
  1740 
       
  1741 @endcode
       
  1742 @see lround()
       
  1743 @see math()
       
  1744 @see rint()
       
  1745 @see round()
       
  1746 
       
  1747 
       
  1748    
       
  1749 
       
  1750 @publishedAll
       
  1751 @externallyDefinedApi
       
  1752 */
       
  1753 
       
  1754 /** @fn  llrintf(float x)
       
  1755 @param x
       
  1756 @see lround()
       
  1757 @see math()
       
  1758 @see rint()
       
  1759 @see round()
       
  1760 
       
  1761 
       
  1762    
       
  1763 
       
  1764 @publishedAll
       
  1765 @externallyDefinedApi
       
  1766 */
       
  1767 
       
  1768 /** @fn  llround(double x)
       
  1769 @param x
       
  1770 
       
  1771 
       
  1772 The lround function returns the integer nearest to its argument x ,
       
  1773 rounding away from zero in halfway cases.
       
  1774 If the rounded result is too large to be represented as a long
       
  1775 value, the return value is undefined.
       
  1776 When the rounded result is representable as a long ,
       
  1777 the expression lround (x); is equivalent to round (x);( long) (although the former may be more efficient).
       
  1778 
       
  1779  The llround , llroundf , llroundl , lroundf and lroundl functions differ from lround only in their input and output types.
       
  1780 
       
  1781 Examples
       
  1782 @code
       
  1783 #include <math.h>
       
  1784 int main( void )
       
  1785 {
       
  1786    double x1 = 1.5;
       
  1787    long long y;
       
  1788    int res ;
       
  1789    y = llround( x1 );
       
  1790    printf( "llround(%f) = %d
       
  1791 ", x1, y );
       
  1792    y = llroundf( x1 );
       
  1793    printf( "llroundf(%f) = %d
       
  1794 ", x1, y );
       
  1795    y = llroundl( x1 );
       
  1796    printf( "llroundl(%f) = %d
       
  1797 
       
  1798 ", x1, y );
       
  1799    res = lround( x1 );
       
  1800    printf( "lround(%f) = %d
       
  1801 ", x1, res );
       
  1802    res = lroundf( x1 );
       
  1803    printf( "lroundf(%f) = %d
       
  1804 ", x1, res );
       
  1805    res = lroundl( x1 );
       
  1806    printf( "lroundl(%f) = %d
       
  1807 ", x1, res );
       
  1808 }
       
  1809 
       
  1810 @endcode
       
  1811  Output
       
  1812 @code
       
  1813 llround ( 1.5 ) = 2.000000
       
  1814 llroundf( 1.5 ) = 2.000000
       
  1815 llroundl( 1.5 ) = 2.000000
       
  1816 lround ( 1.5 ) = 2.000000
       
  1817 lroundf( 1.5 ) = 2.000000
       
  1818 lroundl( 1.5 ) = 2.000000
       
  1819 
       
  1820 @endcode
       
  1821 @see lrint()
       
  1822 @see math()
       
  1823 @see rint()
       
  1824 @see round()
       
  1825 
       
  1826 
       
  1827    
       
  1828 
       
  1829 @publishedAll
       
  1830 @externallyDefinedApi
       
  1831 */
       
  1832 
       
  1833 /** @fn  llroundf(float x)
       
  1834 @param x
       
  1835 @see lrint()
       
  1836 @see math()
       
  1837 @see rint()
       
  1838 @see round()
       
  1839 
       
  1840 
       
  1841    
       
  1842 
       
  1843 @publishedAll
       
  1844 @externallyDefinedApi
       
  1845 */
       
  1846 
       
  1847 /** @fn  log1p(double x)
       
  1848 @param x
       
  1849 @see math()
       
  1850 
       
  1851 
       
  1852    
       
  1853 
       
  1854 @publishedAll
       
  1855 @externallyDefinedApi
       
  1856 */
       
  1857 
       
  1858 /** @fn  log1pf(float x)
       
  1859 @param x
       
  1860 @see math()
       
  1861 
       
  1862 
       
  1863    
       
  1864 
       
  1865 @publishedAll
       
  1866 @externallyDefinedApi
       
  1867 */
       
  1868 
       
  1869 /** @fn  logb(double x)
       
  1870 @param x
       
  1871 - Detailed description
       
  1872 
       
  1873   These functions allow users to test conformance to -ieee754 .
       
  1874 Their use is not otherwise recommended.
       
  1875 @code
       
  1876  logb (x); and logbf (x); return x 's exponent n ,
       
  1877 a signed integer converted to double-precision floating-point. logb (±oo); = +oo; logb (0); = -oo
       
  1878 
       
  1879  scalb (x, n); and scalbf (x, n); return x *(2** n )
       
  1880 computed by exponent manipulation.
       
  1881 
       
  1882  significand (x); and significandf (x); return sig ,
       
  1883 where x = sig * 2** n with 1 <= sig <2. significand (x); and significandf (x); are not defined when x is 0, ±oo, or NaN.
       
  1884 Here , long double version function are just aliases to
       
  1885 their corresponding double version apis.
       
  1886 @endcode
       
  1887 
       
  1888 - Examples
       
  1889 @code
       
  1890 #include <math.h>
       
  1891 int main( )
       
  1892 {
       
  1893    double e = 2.718282;
       
  1894    /*Logb(), logbf() and logbl() */
       
  1895    y = logb( e );
       
  1896    printf( "logb( %f) = %f
       
  1897 ", e, y );
       
  1898    y = logbf( e );
       
  1899    printf( "logbf( %f) = %f
       
  1900 ", e, y );
       
  1901    y = logbl( e );
       
  1902    printf( "logbl( %f) = %f
       
  1903 
       
  1904 ", e, y );
       
  1905    /*scalb(), scalbf() and scalbl()*/
       
  1906    double x1 = 0.8, x2 = 4.0 ;
       
  1907    y = scalb( x1, x2 );
       
  1908    printf( "scalb( %f, %f) = %f
       
  1909 ", x1, x2, y );
       
  1910    y = scalbf( x1, x2 );
       
  1911    printf( "scalbf( %f, %f) = %f
       
  1912 ", x1, x2, y );
       
  1913    y = scalbl( x1, x2 );
       
  1914    printf( "scalbl( %f, %f) = %f
       
  1915 ", x1, x2, y );
       
  1916    /*significand(), significandf() and significandl()*/
       
  1917    x2 = 4.0 ;
       
  1918    y = significand( x2 );
       
  1919    printf( "significand(%f)  = %f
       
  1920 ",  x2, y );
       
  1921    y = significandf( x2 );
       
  1922    printf( "significandf(%f) = %f
       
  1923 ",x2, y );
       
  1924    y = significandl( x2 );
       
  1925    printf( "significandl(%f) = %f
       
  1926 ",x2, y );
       
  1927 }
       
  1928 
       
  1929 @endcode
       
  1930  Output
       
  1931 @code
       
  1932 logb( 2.718282) = 1.000000
       
  1933 logbf( 2.718282) = 1.000000
       
  1934 logbl( 2.718282) = 1.000000
       
  1935 scalb( 0.8, 4.0 ) = 12.800000
       
  1936 scalbf( 0.8, 4.0 ) = 12.800000
       
  1937 scalbl( 0.8, 4.0 ) = 12.800000
       
  1938 significand ( 4.0) = 1.000000
       
  1939 significandf( 4.0) = 1.000000
       
  1940 significandl( 4.0) = 1.000000
       
  1941 
       
  1942 @endcode
       
  1943 @see ieee()
       
  1944 @see math()
       
  1945 
       
  1946 
       
  1947    
       
  1948 
       
  1949 @publishedAll
       
  1950 @externallyDefinedApi
       
  1951 */
       
  1952 
       
  1953 /** @fn  logbf(float x)
       
  1954 @param x
       
  1955 @see ieee()
       
  1956 @see math()
       
  1957 
       
  1958 
       
  1959    
       
  1960 
       
  1961 @publishedAll
       
  1962 @externallyDefinedApi
       
  1963 */
       
  1964 
       
  1965 /** @fn  lrint(double x)
       
  1966 @param x
       
  1967 @see lround()
       
  1968 @see math()
       
  1969 @see rint()
       
  1970 @see round()
       
  1971 
       
  1972 
       
  1973    
       
  1974 
       
  1975 @publishedAll
       
  1976 @externallyDefinedApi
       
  1977 */
       
  1978 
       
  1979 /** @fn  lrintf(float x)
       
  1980 @param x
       
  1981 @see lround()
       
  1982 @see math()
       
  1983 @see rint()
       
  1984 @see round()
       
  1985 
       
  1986 
       
  1987    
       
  1988 
       
  1989 @publishedAll
       
  1990 @externallyDefinedApi
       
  1991 */
       
  1992 
       
  1993 /** @fn  lround(double x)
       
  1994 @param x
       
  1995 @see lrint()
       
  1996 @see math()
       
  1997 @see rint()
       
  1998 @see round()
       
  1999 
       
  2000 
       
  2001    
       
  2002 
       
  2003 @publishedAll
       
  2004 @externallyDefinedApi
       
  2005 */
       
  2006 
       
  2007 /** @fn  lroundf(float x)
       
  2008 @param x
       
  2009 @see lrint()
       
  2010 @see math()
       
  2011 @see rint()
       
  2012 @see round()
       
  2013 
       
  2014 
       
  2015    
       
  2016 
       
  2017 @publishedAll
       
  2018 @externallyDefinedApi
       
  2019 */
       
  2020 
       
  2021 /** @fn  nextafter(double x, double y)
       
  2022 @param x
       
  2023 @param y
       
  2024 - Detailed description
       
  2025   These functions
       
  2026 return the next machine representable number from x in direction y .
       
  2027 
       
  2028 - Examples
       
  2029 @code
       
  2030 #include <math.h>
       
  2031 int main( )
       
  2032 {
       
  2033    double inp1 = 1.3;
       
  2034    double inp2 = 2;
       
  2035    double y;
       
  2036    y = nextafter( inp1, inp2 );
       
  2037    printf( "nextafter(%f , %f) = %f
       
  2038 ", inp1,  inp2,  y );
       
  2039    y = nextafterf( inp1, inp2 );
       
  2040    printf( "nextafterf(%f , %f) = %f
       
  2041 ", inp1, inp2, y );
       
  2042    y = nextafterl( inp1, inp2 );
       
  2043    printf( "nextafterl(%f , %f) = %f
       
  2044 
       
  2045 ", inp1, inp2, y );
       
  2046    inp1 = 9;
       
  2047    inp2 = 9;
       
  2048    y = nexttoward( inp1, inp2 );
       
  2049    printf( "nexttoward(%f , %f) = %f
       
  2050 ", inp1,  inp2,  y );
       
  2051    y = nexttowardf( inp1, inp2 );
       
  2052    printf( "nexttowardf(%f , %f) = %f
       
  2053 ", inp1, inp2, y );
       
  2054    y = nexttowardl( inp1, inp2 );
       
  2055    printf( "nexttowardl(%f , %f) = %f
       
  2056 ", inp1, inp2, y );
       
  2057 }
       
  2058 
       
  2059 @endcode
       
  2060  Output
       
  2061 @code
       
  2062 nextafter  ( 1.3, 2.0 ) = 1.3
       
  2063 nextafterf ( 1.3, 2.0 ) = 1.3
       
  2064 nextafterl ( 1.3, 2.0 ) = 1.3
       
  2065 nexttoward  ( 9, 9 ) = 9
       
  2066 nexttowardf ( 9, 9 ) = 9
       
  2067 nexttowardl ( 9, 9 ) = 9
       
  2068 
       
  2069 @endcode
       
  2070 @see ieee()
       
  2071 @see math()
       
  2072 
       
  2073 
       
  2074    
       
  2075 
       
  2076 @publishedAll
       
  2077 @externallyDefinedApi
       
  2078 */
       
  2079 
       
  2080 /** @fn  nextafterf(float x, float y)
       
  2081 @param x
       
  2082 @param y
       
  2083 @see ieee()
       
  2084 @see math()
       
  2085 
       
  2086 
       
  2087    
       
  2088 
       
  2089 @publishedAll
       
  2090 @externallyDefinedApi
       
  2091 */
       
  2092 
       
  2093 /** @fn  remainder(double x, double p)
       
  2094 @param x
       
  2095 @param p
       
  2096 @see fmod()
       
  2097 @see ieee()
       
  2098 @see math()
       
  2099 
       
  2100 
       
  2101    
       
  2102 
       
  2103 @publishedAll
       
  2104 @externallyDefinedApi
       
  2105 */
       
  2106 
       
  2107 /** @fn  remainderf(float x, float p)
       
  2108 @param x
       
  2109 @param p
       
  2110 @see fmod()
       
  2111 @see ieee()
       
  2112 @see math()
       
  2113 
       
  2114 
       
  2115    
       
  2116 
       
  2117 @publishedAll
       
  2118 @externallyDefinedApi
       
  2119 */
       
  2120 
       
  2121 /** @fn  remquo(double x, double y, int *quo)
       
  2122 @param x
       
  2123 @param y
       
  2124 @param quo
       
  2125 @see fmod()
       
  2126 @see ieee()
       
  2127 @see math()
       
  2128 
       
  2129 
       
  2130    
       
  2131 
       
  2132 @publishedAll
       
  2133 @externallyDefinedApi
       
  2134 */
       
  2135 
       
  2136 /** @fn  remquof(float x, float y, int *quo)
       
  2137 @param x
       
  2138 @param y
       
  2139 @param quo
       
  2140 @see fmod()
       
  2141 @see ieee()
       
  2142 @see math()
       
  2143 
       
  2144 
       
  2145    
       
  2146 
       
  2147 @publishedAll
       
  2148 @externallyDefinedApi
       
  2149 */
       
  2150 
       
  2151 /** @fn  rint(double x)
       
  2152 @param x
       
  2153 @see abs()
       
  2154 @see ceil()
       
  2155 @see fabs()
       
  2156 @see floor()
       
  2157 @see ieee()
       
  2158 @see lrint()
       
  2159 @see lround()
       
  2160 @see math()
       
  2161 @see round()
       
  2162 
       
  2163 
       
  2164    
       
  2165 
       
  2166 @publishedAll
       
  2167 @externallyDefinedApi
       
  2168 */
       
  2169 
       
  2170 /** @fn  rintf(float x)
       
  2171 @param x
       
  2172 @see abs()
       
  2173 @see ceil()
       
  2174 @see fabs()
       
  2175 @see floor()
       
  2176 @see ieee()
       
  2177 @see lrint()
       
  2178 @see lround()
       
  2179 @see math()
       
  2180 @see round()
       
  2181 
       
  2182 
       
  2183    
       
  2184 
       
  2185 @publishedAll
       
  2186 @externallyDefinedApi
       
  2187 */
       
  2188 
       
  2189 /** @fn  j0(double x)
       
  2190 @param x
       
  2191 @return   If these functions are successful,
       
  2192 the computed value is returned.
       
  2193 
       
  2194 - Detailed description
       
  2195   The functions j0 , j0f , j1 and j1f compute the Bessel function of the first kind of the order 0 and the order 1, respectively,
       
  2196 for the
       
  2197 real value x ;
       
  2198 the functions jn and jnf compute the Bessel function of the first kind of the integer order n for the real value x .
       
  2199 
       
  2200  The functions y0 , y0f , y1 ,
       
  2201 and y1f compute the linearly independent Bessel function of the second kind of the order 0 and the order 1, respectively,
       
  2202 for the
       
  2203 positive real value x ;
       
  2204 the functions yn and ynf compute the Bessel function of the second kind for the integer order n for the positive real value x .
       
  2205 
       
  2206  Here the long double version APIs are aliases the double version APIs.
       
  2207 All APIs \<Function\>l behaves similiar to that of \<Function\>.
       
  2208 
       
  2209 - Examples
       
  2210 @code
       
  2211 #include <math.h>
       
  2212 int main( )
       
  2213 {
       
  2214    double x = 1.0;
       
  2215    /*J0(), j0f() and j0l() */
       
  2216    double y = j0( x );
       
  2217    printf( "j0( %f) = %f
       
  2218 ", x, y );
       
  2219    y = j0f( x );
       
  2220    printf( "j0f( %f) = %f
       
  2221 ", x, y );
       
  2222    y = j0l( x );
       
  2223    printf( "j0l( %f) = %f
       
  2224 
       
  2225 ", x, y );
       
  2226    /*J1(), j1f() and j1l() */
       
  2227    y = j1( x );
       
  2228    printf( "j1( %f) = %f
       
  2229 ", x, y );
       
  2230    y = j1f( x );
       
  2231    printf( "j1f( %f) = %f
       
  2232 ", x, y );
       
  2233    y = j1l( x );
       
  2234    printf( "j1l( %f) = %f
       
  2235 
       
  2236 ", x, y );
       
  2237    /*jn(), jnf() and jnl() */
       
  2238    y = jn( 3, x );
       
  2239    printf( "jn( 2, %f) = %f
       
  2240 ", x, y );
       
  2241    y = jnf( 1, x );
       
  2242    printf( "jnf( 1, %f) = %f
       
  2243 ", x, y );
       
  2244    y = jnl( 10, 0.75 );
       
  2245    printf( "jnl(10, %f) = %f
       
  2246 
       
  2247 ", 0.75, y );
       
  2248    /*y0(), y0f() and y0l() */
       
  2249    y = y0( x );
       
  2250    printf( "y0( %f) = %f
       
  2251 ", x, y );
       
  2252    y = y0f( x );
       
  2253    printf( "y0f( %f) = %f
       
  2254 ", x, y );
       
  2255    y = y0l( x );
       
  2256    printf( "y0l( %f) = %f
       
  2257 
       
  2258 ", x, y );
       
  2259    /*y1(), y1f() and y1l() */
       
  2260    y = y1( x );
       
  2261    printf( "y1( %f) = %f
       
  2262 ", x, y );
       
  2263    y = y1f( x );
       
  2264    printf( "y1f( %f) = %f
       
  2265 ", x, y );
       
  2266    y = y1l( x );
       
  2267    printf( "y1l( %f) = %f
       
  2268 
       
  2269 ", x, y );
       
  2270    /*yn(), ynf() and ynl() */
       
  2271    y = yn( 3, x );
       
  2272    printf( "yn( 2, %f) = %f
       
  2273 ", x, y );
       
  2274    y = ynf( 1, x );
       
  2275    printf( "ynf( 1, %f) = %f
       
  2276 ", x, y );
       
  2277    y = ynl( 10, 0.75 );
       
  2278    printf( "ynl(10, %f) = %f
       
  2279 
       
  2280 ", 0.75, y );
       
  2281 }
       
  2282 
       
  2283 @endcode
       
  2284  Output
       
  2285 @code
       
  2286 j0( 1.000) = 0.76519768
       
  2287 j0f( 1.000) = 0.76519768
       
  2288 j0l( 1.000) = 0.76519768
       
  2289 j1 ( 1.000) = 0.4400505
       
  2290 j1f( 1.000) = 0.4400505
       
  2291 j1l( 1.000) = 0.4400505
       
  2292 jn ( 3, 1.000) = 0.0195633
       
  2293 jnf( 1, 1.000) = 0.4400505
       
  2294 jnl( 10, 0.75) = 0.1496212
       
  2295 y0 ( 1.000) = 0.0882569
       
  2296 y0f( 1.000) = 0.0882569
       
  2297 y0l( 1.000) = 0.0882569
       
  2298 y1 ( 1.000) = -0.7812128
       
  2299 y1f( 1.000) = -0.7812128
       
  2300 y1l( 1.000) = -0.7812128
       
  2301 yn ( 3, 1.000) = -5.8215176
       
  2302 ynf( 1, 1.000) = -0.781212
       
  2303 ynl( 10, 0.75) = -2133501638.9
       
  2304 
       
  2305 @endcode
       
  2306 @see math()
       
  2307 
       
  2308 
       
  2309    
       
  2310 
       
  2311 @publishedAll
       
  2312 @externallyDefinedApi
       
  2313 */
       
  2314 
       
  2315 /** @fn  j0f(float x)
       
  2316 @param x
       
  2317 @see math()
       
  2318 
       
  2319 
       
  2320    
       
  2321 
       
  2322 @publishedAll
       
  2323 @externallyDefinedApi
       
  2324 */
       
  2325 
       
  2326 /** @fn  j1(double x)
       
  2327 @param x
       
  2328 @see math()
       
  2329 
       
  2330 
       
  2331    
       
  2332 
       
  2333 @publishedAll
       
  2334 @externallyDefinedApi
       
  2335 */
       
  2336 
       
  2337 /** @fn  j1f(float x)
       
  2338 @param x
       
  2339 @see math()
       
  2340 
       
  2341 
       
  2342    
       
  2343 
       
  2344 @publishedAll
       
  2345 @externallyDefinedApi
       
  2346 */
       
  2347 
       
  2348 /** @fn  jn(int n, double x)
       
  2349 @param n
       
  2350 @param x
       
  2351 @see math()
       
  2352 
       
  2353 
       
  2354    
       
  2355 
       
  2356 @publishedAll
       
  2357 @externallyDefinedApi
       
  2358 */
       
  2359 
       
  2360 /** @fn  jnf(int n, float x)
       
  2361 @param n
       
  2362 @param x
       
  2363 @see math()
       
  2364 
       
  2365 
       
  2366    
       
  2367 
       
  2368 @publishedAll
       
  2369 @externallyDefinedApi
       
  2370 */
       
  2371 
       
  2372 /** @fn  scalb(double x, double fn)
       
  2373 @param x
       
  2374 @param fn
       
  2375 @see ieee()
       
  2376 @see math()
       
  2377 
       
  2378 
       
  2379    
       
  2380 
       
  2381 @publishedAll
       
  2382 @externallyDefinedApi
       
  2383 */
       
  2384 
       
  2385 /** @fn  scalbf(float x, float fn)
       
  2386 @param x
       
  2387 @param fn
       
  2388 @see ieee()
       
  2389 @see math()
       
  2390 
       
  2391 
       
  2392    
       
  2393 
       
  2394 @publishedAll
       
  2395 @externallyDefinedApi
       
  2396 */
       
  2397 
       
  2398 /** @fn  scalbln(double x, long n)
       
  2399 @param x
       
  2400 @param n
       
  2401 @return   x (*, FLT_RADIX**n); ±HUGE_VAL, (±HUGE_VALF,, and, ±HUGE_VALL); (according to the sign of x ) as appropriate for the return type of the function. x is NaN , a shall be returned. x is ±0 or ±Inf, x shall be returned. n is 0, x shall be returned.
       
  2402 
       
  2403 - Detailed description
       
  2404   These routines return x *(2** n )
       
  2405 computed by exponent manipulation.
       
  2406 
       
  2407 - Examples
       
  2408 @code
       
  2409 #include <math.h>
       
  2410 int main( )
       
  2411 {  
       
  2412    /*scalbn(), scalbnf() and scalbnl()*/
       
  2413    double x1 = 0.8, x2 = 4.0 ;
       
  2414    y = scalbn( x1, x2 );
       
  2415    printf( "scalbn( %f, %f) = %f
       
  2416 ", x1, x2, y );
       
  2417    y = scalbnf( x1, x2 );
       
  2418    printf( "scalbnf( %f, %f) = %f
       
  2419 ", x1, x2, y );
       
  2420    y = scalbnl( x1, x2 );
       
  2421    printf( "scalbnl( %f, %f) = %f
       
  2422 ", x1, x2, y );
       
  2423   /*scalbln(), scalblnf() and scalblnl()*/
       
  2424    x1 = 0.8, x2 = 4.0 ;
       
  2425    y = scalbln( x1, x2 );
       
  2426    printf( "scalbln( %f, %f) = %f
       
  2427 ", x1, x2, y );
       
  2428    y = scalblnf( x1, x2 );
       
  2429    printf( "scalblnf( %f, %f) = %f
       
  2430 ", x1, x2, y );
       
  2431    y = scalblnl( x1, x2 );
       
  2432    printf( "scalblnl( %f, %f) = %f
       
  2433 ", x1, x2, y );
       
  2434 }
       
  2435 
       
  2436 @endcode
       
  2437  Output
       
  2438 @code
       
  2439 scalbn ( 0.8, 4.0 ) = 12.800000
       
  2440 scalbnf( 0.8, 4.0 ) = 12.800000
       
  2441 scalbnl( 0.8, 4.0 ) = 12.800000
       
  2442 scalbln ( 0.8, 4.0 ) = 12.800000
       
  2443 scalblnf( 0.8, 4.0 ) = 12.800000
       
  2444 scalblnl( 0.8, 4.0 ) = 12.800000
       
  2445 
       
  2446 @endcode
       
  2447 @see ieee()
       
  2448 @see math()
       
  2449 
       
  2450 
       
  2451    
       
  2452 
       
  2453 @publishedAll
       
  2454 @externallyDefinedApi
       
  2455 */
       
  2456 
       
  2457 /** @fn  scalblnf(float x, long n)
       
  2458 @param x
       
  2459 @param n
       
  2460 @see ieee()
       
  2461 @see math()
       
  2462 
       
  2463 
       
  2464    
       
  2465 
       
  2466 @publishedAll
       
  2467 @externallyDefinedApi
       
  2468 */
       
  2469 
       
  2470 /** @fn  scalblnl(long double x, long n)
       
  2471 @param x
       
  2472 @param n
       
  2473 @see ieee()
       
  2474 @see math()
       
  2475 
       
  2476 
       
  2477    
       
  2478 
       
  2479 @publishedAll
       
  2480 @externallyDefinedApi
       
  2481 */
       
  2482 
       
  2483 /** @fn  scalbn(double x, int n)
       
  2484 @param x
       
  2485 @param n
       
  2486 @see ieee()
       
  2487 @see math()
       
  2488 
       
  2489 
       
  2490    
       
  2491 
       
  2492 @publishedAll
       
  2493 @externallyDefinedApi
       
  2494 */
       
  2495 
       
  2496 /** @fn  scalbnf(float x, int n)
       
  2497 @param x
       
  2498 @param n
       
  2499 @see ieee()
       
  2500 @see math()
       
  2501 
       
  2502 
       
  2503    
       
  2504 
       
  2505 @publishedAll
       
  2506 @externallyDefinedApi
       
  2507 */
       
  2508 
       
  2509 /** @fn  y0(double x)
       
  2510 @param x
       
  2511 @see math()
       
  2512 
       
  2513 
       
  2514    
       
  2515 
       
  2516 @publishedAll
       
  2517 @externallyDefinedApi
       
  2518 */
       
  2519 
       
  2520 /** @fn  y0f(float x)
       
  2521 @param x
       
  2522 @see math()
       
  2523 
       
  2524 
       
  2525    
       
  2526 
       
  2527 @publishedAll
       
  2528 @externallyDefinedApi
       
  2529 */
       
  2530 
       
  2531 /** @fn  y1(double x)
       
  2532 @param x
       
  2533 @see math()
       
  2534 
       
  2535 
       
  2536    
       
  2537 
       
  2538 @publishedAll
       
  2539 @externallyDefinedApi
       
  2540 */
       
  2541 
       
  2542 /** @fn  y1f(float x)
       
  2543 @param x
       
  2544 @see math()
       
  2545 
       
  2546 
       
  2547    
       
  2548 
       
  2549 @publishedAll
       
  2550 @externallyDefinedApi
       
  2551 */
       
  2552 
       
  2553 /** @fn  yn(int n, double x)
       
  2554 @param n
       
  2555 @param x
       
  2556 @see math()
       
  2557 
       
  2558 
       
  2559    
       
  2560 
       
  2561 @publishedAll
       
  2562 @externallyDefinedApi
       
  2563 */
       
  2564 
       
  2565 /** @fn  ynf(int n, float x)
       
  2566 @param n
       
  2567 @param x
       
  2568 @see math()
       
  2569 
       
  2570 
       
  2571    
       
  2572 
       
  2573 @publishedAll
       
  2574 @externallyDefinedApi
       
  2575 */
       
  2576 
       
  2577 /** @fn  gamma(double x)
       
  2578 @param x
       
  2579 @see math()
       
  2580 
       
  2581 
       
  2582    
       
  2583 
       
  2584 @publishedAll
       
  2585 @externallyDefinedApi
       
  2586 */
       
  2587 
       
  2588 /** @fn  gammaf(float x)
       
  2589 @param x
       
  2590 @see math()
       
  2591 
       
  2592 
       
  2593    
       
  2594 
       
  2595 @publishedAll
       
  2596 @externallyDefinedApi
       
  2597 */
       
  2598 
       
  2599 /** @fn  copysign(double x, double y)
       
  2600 @param x
       
  2601 @param y
       
  2602 - Detailed description
       
  2603   The copysign , copysignf, and copysignl functions
       
  2604 return x with its sign changed to y 's .
       
  2605 
       
  2606 - Examples
       
  2607 @code
       
  2608 #include <math.h>
       
  2609 void main( void )
       
  2610 {
       
  2611    double x1 = 0, x2 = -4, y;
       
  2612    y = copysign( x1, x2 );
       
  2613    printf( "copysign(%f , %f) = %f
       
  2614 ", x1, x2, y );
       
  2615    y = copysignf( x1, x2 );
       
  2616    printf( "copysignf(%f , %f) = %f
       
  2617 ", x1, x2, y );
       
  2618    y = copysignl( x1, x2 );
       
  2619    printf( "copysignl(%f , %f) = %f
       
  2620 ", x1, x2, y );
       
  2621 }
       
  2622 
       
  2623 @endcode
       
  2624  Output
       
  2625 @code
       
  2626 copysign ( 0, -4 ) = -0.0
       
  2627 copysignf( 0, -4 ) = -0.0
       
  2628 copysignl( 0, -4 ) = -0.0
       
  2629 
       
  2630 @endcode
       
  2631 @see fabs()
       
  2632 @see fdim()
       
  2633 @see ieee()
       
  2634 @see math()
       
  2635 
       
  2636 
       
  2637    
       
  2638 
       
  2639 @publishedAll
       
  2640 @externallyDefinedApi
       
  2641 */
       
  2642 
       
  2643 /** @fn  copysignf(float x, float y)
       
  2644 @param x
       
  2645 @param y
       
  2646 @see fabs()
       
  2647 @see fdim()
       
  2648 @see ieee()
       
  2649 @see math()
       
  2650 
       
  2651 
       
  2652    
       
  2653 
       
  2654 @publishedAll
       
  2655 @externallyDefinedApi
       
  2656 */
       
  2657 
       
  2658 /** @fn  copysignl(long double x, long double y)
       
  2659 @param x
       
  2660 @param y
       
  2661 @see fabs()
       
  2662 @see fdim()
       
  2663 @see ieee()
       
  2664 @see math()
       
  2665 
       
  2666 
       
  2667    
       
  2668 
       
  2669 @publishedAll
       
  2670 @externallyDefinedApi
       
  2671 */
       
  2672 
       
  2673 /** @fn  fdim(double x, double y)
       
  2674 @param x
       
  2675 @param y
       
  2676 - Detailed description
       
  2677   The fdim, fdimf, and fdiml functions return the positive difference between x and y .
       
  2678 That is, if x- y is positive, then x- y is returned.
       
  2679 If either x or y is an NaN, then an NaN is returned.
       
  2680 Otherwise, the result is +0.0.
       
  2681 
       
  2682 - Examples
       
  2683 @code
       
  2684 #include <math.h>
       
  2685 int main( void )
       
  2686 {
       
  2687    double x1 = 0, x2 = -9, y;
       
  2688    y = fdim( x1, x2 );
       
  2689    printf( "fdim(%f , %f) = %f
       
  2690 ", x1, x2, y );
       
  2691    y = fdimf( x1, x2 );
       
  2692    printf( "fdimf(%f , %f) = %f
       
  2693 ", x1, x2, y );
       
  2694    y = fdiml( x1, x2 );
       
  2695    printf( "fdiml(%f , %f) = %f
       
  2696 ", x1, x2, y );
       
  2697 }
       
  2698 
       
  2699 @endcode
       
  2700  Output
       
  2701 @code
       
  2702 fdim ( 0, -9 ) = 9
       
  2703 fdimf( 0, -9 ) = 9
       
  2704 fdiml( 0, -9 ) = 9
       
  2705 
       
  2706 @endcode
       
  2707 @see fabs()
       
  2708 @see fmax()
       
  2709 @see math()
       
  2710 
       
  2711 
       
  2712    
       
  2713 
       
  2714 @publishedAll
       
  2715 @externallyDefinedApi
       
  2716 */
       
  2717 
       
  2718 /** @fn  fdimf(float x, float y)
       
  2719 @param x
       
  2720 @param y
       
  2721 @see fabs()
       
  2722 @see fmax()
       
  2723 @see math()
       
  2724 
       
  2725 
       
  2726    
       
  2727 
       
  2728 @publishedAll
       
  2729 @externallyDefinedApi
       
  2730 */
       
  2731 
       
  2732 /** @fn  fdiml(long double x, long double y)
       
  2733 @param x
       
  2734 @param y
       
  2735 @see fabs()
       
  2736 @see fmax()
       
  2737 @see math()
       
  2738 
       
  2739 
       
  2740    
       
  2741 
       
  2742 @publishedAll
       
  2743 @externallyDefinedApi
       
  2744 */
       
  2745 
       
  2746 /** @fn  fmin(double x, double y)
       
  2747 @param x
       
  2748 @param y
       
  2749 @see fabs()
       
  2750 @see fdim()
       
  2751 @see math()
       
  2752 
       
  2753 
       
  2754    
       
  2755 
       
  2756 @publishedAll
       
  2757 @externallyDefinedApi
       
  2758 */
       
  2759 
       
  2760 /** @fn  fminf(float x, float y)
       
  2761 @param x
       
  2762 @param y
       
  2763 @see fabs()
       
  2764 @see fdim()
       
  2765 @see math()
       
  2766 
       
  2767 
       
  2768    
       
  2769 
       
  2770 @publishedAll
       
  2771 @externallyDefinedApi
       
  2772 */
       
  2773 
       
  2774 /** @fn  nearbyint(double x)
       
  2775 @param x
       
  2776 @return   x is integral or infinite, x itself is returned.
       
  2777 
       
  2778 - Detailed description
       
  2779   The rint and rintf functions return the integral value nearest to x according to the prevailing rounding mode.
       
  2780 
       
  2781  The nearbyint and nearbyintf functions perform the same operation.
       
  2782 The functions nearbyintl and rintl are aliases to the functions nearbyint and rint respectively.
       
  2783 
       
  2784 - Examples
       
  2785 @code
       
  2786 #include <math.h>
       
  2787 int main( )
       
  2788 {
       
  2789    double inp = 1.5;
       
  2790    double y;
       
  2791    y = nearbyint( inp );
       
  2792    printf( "nearbyint(%f ) = %f
       
  2793 ", inp,  y );
       
  2794    y = nearbyintf( inp );
       
  2795    printf( "nearbyintf(%f ) = %f
       
  2796 ", inp, y );
       
  2797    y = nearbyintl( inp );
       
  2798    printf( "nearbyintl(%f ) = %f
       
  2799 
       
  2800 ", inp, y );
       
  2801    y = rint( inp );
       
  2802    printf( "rint(%f ) = %f
       
  2803 ", inp,  y );
       
  2804    y = rintf( inp );
       
  2805    printf( "rintf(%f ) = %f
       
  2806 ", inp, y );
       
  2807    y = rintl( inp );
       
  2808    printf( "rintl(%f ) = %f
       
  2809 
       
  2810 ", inp, y ); 
       
  2811 }
       
  2812 
       
  2813 @endcode
       
  2814  Output
       
  2815 @code
       
  2816 nearbyint  ( 1.5 ) = 2.000000
       
  2817 nearbyintf ( 1.5 ) = 2.000000
       
  2818 nearbyintl ( 1.5 ) = 2.000000
       
  2819 rint ( 1.5 ) = 2.000000
       
  2820 rintf( 1.5 ) = 2.000000
       
  2821 rintl( 1.5 ) = 2.000000
       
  2822 
       
  2823 @endcode
       
  2824 @see abs()
       
  2825 @see ceil()
       
  2826 @see fabs()
       
  2827 @see floor()
       
  2828 @see ieee()
       
  2829 @see lrint()
       
  2830 @see lround()
       
  2831 @see math()
       
  2832 @see round()
       
  2833 
       
  2834 
       
  2835    
       
  2836 
       
  2837 @publishedAll
       
  2838 @externallyDefinedApi
       
  2839 */
       
  2840 
       
  2841 /** @fn  nearbyintf(float x)
       
  2842 @param x
       
  2843 @see abs()
       
  2844 @see ceil()
       
  2845 @see fabs()
       
  2846 @see floor()
       
  2847 @see ieee()
       
  2848 @see lrint()
       
  2849 @see lround()
       
  2850 @see math()
       
  2851 @see round()
       
  2852 
       
  2853 
       
  2854    
       
  2855 
       
  2856 @publishedAll
       
  2857 @externallyDefinedApi
       
  2858 */
       
  2859 
       
  2860 /** @fn  round(double x)
       
  2861 @param x
       
  2862 @return   x is integral or infinite, x itself is returned.
       
  2863 
       
  2864 - Detailed description
       
  2865   The round , roundf ,
       
  2866 and roundl functions return the nearest integral value to x ;
       
  2867 if x lies halfway between two integral values, then these
       
  2868 functions return the integral value with the larger
       
  2869 absolute value (i.e., they round away from zero).
       
  2870 
       
  2871 - Examples
       
  2872 @code
       
  2873 #include <math.h>
       
  2874 int main( )
       
  2875 {
       
  2876    double inp = 0.5;
       
  2877    double y; 
       
  2878    y = round( inp );
       
  2879    printf( "round(%f ) = %f
       
  2880 ", inp,  y );
       
  2881    y = roundf( inp );
       
  2882    printf( "roundf(%f ) = %f
       
  2883 ", inp, y );
       
  2884    y = roundl( inp );
       
  2885    printf( "roundl(%f ) = %f
       
  2886 
       
  2887 ", inp, y );
       
  2888 }
       
  2889 
       
  2890 @endcode
       
  2891  Output
       
  2892 @code
       
  2893 round  ( 0.5 ) = 1.000000
       
  2894 roundf ( 0.5 ) = 1.000000
       
  2895 roundl ( 0.5 ) = 1.000000
       
  2896 
       
  2897 @endcode
       
  2898 @see ceil()
       
  2899 @see floor()
       
  2900 @see ieee()
       
  2901 @see lrint()
       
  2902 @see lround()
       
  2903 @see math()
       
  2904 @see rint()
       
  2905 @see trunc()
       
  2906 
       
  2907 
       
  2908    
       
  2909 
       
  2910 @publishedAll
       
  2911 @externallyDefinedApi
       
  2912 */
       
  2913 
       
  2914 /** @fn  roundf(float x)
       
  2915 @param x
       
  2916 @see ceil()
       
  2917 @see floor()
       
  2918 @see ieee()
       
  2919 @see lrint()
       
  2920 @see lround()
       
  2921 @see math()
       
  2922 @see rint()
       
  2923 @see trunc()
       
  2924 
       
  2925 
       
  2926    
       
  2927 
       
  2928 @publishedAll
       
  2929 @externallyDefinedApi
       
  2930 */
       
  2931 
       
  2932 /** @fn  trunc(double x)
       
  2933 @param x
       
  2934 @return   x is integral, infinite or NaN , x itself is returned.
       
  2935 
       
  2936 - Detailed description
       
  2937   The trunc , truncf ,
       
  2938 and truncl functions return the nearest integral value with magnitude less than
       
  2939 or equal to | x | .
       
  2940 They are equivalent to rint , rintf ,
       
  2941 and rintl ,
       
  2942 respectively, in the FE_TOWARDZERO rounding mode.
       
  2943 
       
  2944 - Examples
       
  2945 @code
       
  2946 #include <math.h>
       
  2947 int main( )
       
  2948 {
       
  2949    double inp = 1048580.625;
       
  2950    double y;
       
  2951    y = trunc( inp );
       
  2952    printf( "trunc( %f)  = %f
       
  2953 ", inp,  y );
       
  2954    y = truncf( inp);
       
  2955    printf( "truncf( %f) = %f
       
  2956 ", inp, y );
       
  2957    y = truncl( inp);
       
  2958    printf( "truncl( %f) = %f
       
  2959 
       
  2960 ", inp, y );
       
  2961 }
       
  2962 
       
  2963 @endcode
       
  2964  Output
       
  2965 @code
       
  2966 trunc ( 1048580.625 ) = 1048580.000000
       
  2967 truncf( 1048580.625 ) = 1048580.000000
       
  2968 truncl( 1048580.625 ) = 1048580.000000
       
  2969 
       
  2970 @endcode
       
  2971 @see ceil()
       
  2972 @see fegetround()
       
  2973 @see floor()
       
  2974 @see math()
       
  2975 @see nextafter()
       
  2976 @see rint()
       
  2977 @see round()
       
  2978 
       
  2979 
       
  2980    
       
  2981 
       
  2982 @publishedAll
       
  2983 @externallyDefinedApi
       
  2984 */
       
  2985 
       
  2986 /** @fn  truncf(float x)
       
  2987 @param x
       
  2988 @see ceil()
       
  2989 @see fegetround()
       
  2990 @see floor()
       
  2991 @see math()
       
  2992 @see nextafter()
       
  2993 @see rint()
       
  2994 @see round()
       
  2995 
       
  2996 
       
  2997    
       
  2998 
       
  2999 @publishedAll
       
  3000 @externallyDefinedApi
       
  3001 */
       
  3002 
       
  3003 /** @fn  truncl(long double x)
       
  3004 @param x
       
  3005 @see ceil()
       
  3006 @see fegetround()
       
  3007 @see floor()
       
  3008 @see math()
       
  3009 @see nextafter()
       
  3010 @see rint()
       
  3011 @see round()
       
  3012 
       
  3013 
       
  3014    
       
  3015 
       
  3016 @publishedAll
       
  3017 @externallyDefinedApi
       
  3018 */
       
  3019 
       
  3020 /** @fn  drem(double x, double y)
       
  3021 @param x
       
  3022 @param y
       
  3023 @return   The drem() function returns the remainder, unless y is zero.
       
  3024 
       
  3025 - Detailed description
       
  3026   The drem dremf and the dreml functions  compute  the remainder of dividing x by y.  The
       
  3027 return value is x - n * y, where n is the quotient of x / y, rounded to
       
  3028 the nearest integer.  If the quotient is 1/2, it is rounded to the even
       
  3029 number.
       
  3030 The function dreml an alias to the function drem.
       
  3031 
       
  3032 - Examples
       
  3033 @code
       
  3034 #include <math.h>
       
  3035 void main()
       
  3036 {
       
  3037    double x1 = 6.4, x2 = 2, y;
       
  3038    y = drem( x1, x2 );
       
  3039    printf( "drem(%f , %f) = %f
       
  3040 ", x1, x2, y );
       
  3041    y = dremf( x1, x2 );
       
  3042    printf( "dremf(%f , %f) = %f
       
  3043 ", x1, x2, y );
       
  3044    y = dreml( x1, x2 );
       
  3045    printf( "dreml(%f , %f) = %f
       
  3046 ", x1, x2, y );
       
  3047 }
       
  3048 
       
  3049 @endcode
       
  3050  Output
       
  3051 @code
       
  3052 drem ( 6.4, 2 ) = 0.4
       
  3053 dremf( 6.4, 2 ) = 0.4
       
  3054 dreml( 6.4, 2 ) = 0.4
       
  3055 
       
  3056 @endcode
       
  3057    
       
  3058 
       
  3059 @publishedAll
       
  3060 @externallyDefinedApi
       
  3061 */
       
  3062 
       
  3063 /** @fn isnanf(float)
       
  3064 
       
  3065 test for infinity or not-a-number
       
  3066 
       
  3067 @publishedAll
       
  3068 @externallyDefinedApi
       
  3069 */
       
  3070 
       
  3071 /** @fn  significand(double x)
       
  3072 @param x
       
  3073 @see ieee()
       
  3074 @see math()
       
  3075 
       
  3076 
       
  3077    
       
  3078 
       
  3079 @publishedAll
       
  3080 @externallyDefinedApi
       
  3081 */
       
  3082 
       
  3083 /** @fn  significandf(float x)
       
  3084 @param x
       
  3085 @see ieee()
       
  3086 @see math()
       
  3087 
       
  3088 
       
  3089    
       
  3090 
       
  3091 @publishedAll
       
  3092 @externallyDefinedApi
       
  3093 */
       
  3094 
       
  3095 /** @fn  acosf(float x)
       
  3096 @param x
       
  3097 @see asin()
       
  3098 @see atan()
       
  3099 @see atan2()
       
  3100 @see cos()
       
  3101 @see cosh()
       
  3102 @see math()
       
  3103 @see sin()
       
  3104 @see sinh()
       
  3105 @see tan()
       
  3106 @see tanh()
       
  3107 
       
  3108 
       
  3109    
       
  3110 
       
  3111 @publishedAll
       
  3112 @externallyDefinedApi
       
  3113 */
       
  3114 
       
  3115 /** @fn  asinf(float x)
       
  3116 @param x
       
  3117 @see acos()
       
  3118 @see atan()
       
  3119 @see atan2()
       
  3120 @see cos()
       
  3121 @see cosh()
       
  3122 @see math()
       
  3123 @see sin()
       
  3124 @see sinh()
       
  3125 @see tan()
       
  3126 @see tanh()
       
  3127 
       
  3128 
       
  3129    
       
  3130 
       
  3131 @publishedAll
       
  3132 @externallyDefinedApi
       
  3133 */
       
  3134 
       
  3135 /** @fn  atanf(float x)
       
  3136 @param x
       
  3137 @see acos()
       
  3138 @see asin()
       
  3139 @see atan2()
       
  3140 @see cos()
       
  3141 @see cosh()
       
  3142 @see math()
       
  3143 @see sin()
       
  3144 @see sinh()
       
  3145 @see tan()
       
  3146 @see tanh()
       
  3147 
       
  3148 
       
  3149    
       
  3150 
       
  3151 @publishedAll
       
  3152 @externallyDefinedApi
       
  3153 */
       
  3154 
       
  3155 /** @fn  atan2f(float y, float x)
       
  3156 @param y
       
  3157 @param x
       
  3158 @see acos()
       
  3159 @see asin()
       
  3160 @see atan()
       
  3161 @see cos()
       
  3162 @see cosh()
       
  3163 @see math()
       
  3164 @see sin()
       
  3165 @see sinh()
       
  3166 @see tan()
       
  3167 @see tanh()
       
  3168 
       
  3169 
       
  3170    
       
  3171 
       
  3172 @publishedAll
       
  3173 @externallyDefinedApi
       
  3174 */
       
  3175 
       
  3176 /** @fn  cosf(float x)
       
  3177 @param x
       
  3178 @see acos()
       
  3179 @see asin()
       
  3180 @see atan()
       
  3181 @see atan2()
       
  3182 @see cosh()
       
  3183 @see math()
       
  3184 @see sin()
       
  3185 @see sinh()
       
  3186 @see tan()
       
  3187 @see tanh()
       
  3188 
       
  3189 
       
  3190    
       
  3191 
       
  3192 @publishedAll
       
  3193 @externallyDefinedApi
       
  3194 */
       
  3195 
       
  3196 /** @fn  sinf(float x)
       
  3197 @param x
       
  3198 @see acos()
       
  3199 @see asin()
       
  3200 @see atan()
       
  3201 @see atan2()
       
  3202 @see cos()
       
  3203 @see cosh()
       
  3204 @see math()
       
  3205 @see sinh()
       
  3206 @see tan()
       
  3207 @see tanh()
       
  3208 
       
  3209 
       
  3210    
       
  3211 
       
  3212 @publishedAll
       
  3213 @externallyDefinedApi
       
  3214 */
       
  3215 
       
  3216 /** @fn  tanf(float x)
       
  3217 @param x
       
  3218 @see acos()
       
  3219 @see asin()
       
  3220 @see atan()
       
  3221 @see atan2()
       
  3222 @see cos()
       
  3223 @see cosh()
       
  3224 @see math()
       
  3225 @see sin()
       
  3226 @see sinh()
       
  3227 @see tanh()
       
  3228 
       
  3229 
       
  3230    
       
  3231 
       
  3232 @publishedAll
       
  3233 @externallyDefinedApi
       
  3234 */
       
  3235 
       
  3236 /** @fn  coshf(float x)
       
  3237 @param x
       
  3238 @see acos()
       
  3239 @see asin()
       
  3240 @see atan()
       
  3241 @see atan2()
       
  3242 @see cos()
       
  3243 @see math()
       
  3244 @see sin()
       
  3245 @see sinh()
       
  3246 @see tan()
       
  3247 @see tanh()
       
  3248 
       
  3249 
       
  3250    
       
  3251 
       
  3252 @publishedAll
       
  3253 @externallyDefinedApi
       
  3254 */
       
  3255 
       
  3256 /** @fn  sinhf(float x)
       
  3257 @param x
       
  3258 @see acos()
       
  3259 @see asin()
       
  3260 @see atan()
       
  3261 @see atan2()
       
  3262 @see cos()
       
  3263 @see cosh()
       
  3264 @see math()
       
  3265 @see sin()
       
  3266 @see tan()
       
  3267 @see tanh()
       
  3268 
       
  3269 
       
  3270    
       
  3271 
       
  3272 @publishedAll
       
  3273 @externallyDefinedApi
       
  3274 */
       
  3275 
       
  3276 /** @fn  tanhf(float x)
       
  3277 @param x
       
  3278 @see acos()
       
  3279 @see asin()
       
  3280 @see atan()
       
  3281 @see atan2()
       
  3282 @see cos()
       
  3283 @see cosh()
       
  3284 @see math()
       
  3285 @see sin()
       
  3286 @see sinh()
       
  3287 @see tan()
       
  3288 
       
  3289 
       
  3290    
       
  3291 
       
  3292 @publishedAll
       
  3293 @externallyDefinedApi
       
  3294 */
       
  3295 
       
  3296 /** @fn  expf(float x)
       
  3297 @param x
       
  3298 @see math()
       
  3299 
       
  3300 
       
  3301    
       
  3302 
       
  3303 @publishedAll
       
  3304 @externallyDefinedApi
       
  3305 */
       
  3306 
       
  3307 /** @fn  frexpf(float x, int *eptr)
       
  3308 @param x
       
  3309 @param eptr
       
  3310 
       
  3311 
       
  3312    
       
  3313 
       
  3314 @publishedAll
       
  3315 @externallyDefinedApi
       
  3316 */
       
  3317 
       
  3318 /** @fn  log10f(float x)
       
  3319 @param x
       
  3320 @see math()
       
  3321 
       
  3322 
       
  3323    
       
  3324 
       
  3325 @publishedAll
       
  3326 @externallyDefinedApi
       
  3327 */
       
  3328 
       
  3329 /** @fn  logf(float x)
       
  3330 @param x
       
  3331 @see math()
       
  3332 
       
  3333 
       
  3334    
       
  3335 
       
  3336 @publishedAll
       
  3337 @externallyDefinedApi
       
  3338 */
       
  3339 
       
  3340 /** @fn  modff(float x, float *iptr)
       
  3341 @param x
       
  3342 @param iptr
       
  3343 @see frexp()
       
  3344 @see ldexp()
       
  3345 @see math()
       
  3346 
       
  3347 
       
  3348    
       
  3349 
       
  3350 @publishedAll
       
  3351 @externallyDefinedApi
       
  3352 */
       
  3353 
       
  3354 /** @fn  powf(float x, float y)
       
  3355 @param x
       
  3356 @param y
       
  3357 @see math()
       
  3358 
       
  3359 
       
  3360    
       
  3361 
       
  3362 @publishedAll
       
  3363 @externallyDefinedApi
       
  3364 */
       
  3365 
       
  3366 /** @fn  sqrtf(float x)
       
  3367 @param x
       
  3368 @see math()
       
  3369 
       
  3370 
       
  3371    
       
  3372 
       
  3373 @publishedAll
       
  3374 @externallyDefinedApi
       
  3375 */
       
  3376 
       
  3377 /** @fn  cbrtf(float x)
       
  3378 @param x
       
  3379 @see math()
       
  3380 
       
  3381 
       
  3382    
       
  3383 
       
  3384 @publishedAll
       
  3385 @externallyDefinedApi
       
  3386 */
       
  3387 
       
  3388 /** @fn  nexttowardf(float x, long double y)
       
  3389 @param x
       
  3390 @param y
       
  3391 @see ieee()
       
  3392 @see math()
       
  3393 
       
  3394 
       
  3395    
       
  3396 
       
  3397 @publishedAll
       
  3398 @externallyDefinedApi
       
  3399 */
       
  3400 
       
  3401 /** @def HUGE_VAL	
       
  3402 
       
  3403 A positive double expression, not necessarily representable as a float. 
       
  3404 Used as an error value returned by the mathematics library. HUGE_VAL evaluates to positive infinity on systems supporting the ANSI/IEEE Std 754:1985 standard.
       
  3405 
       
  3406 @publishedAll
       
  3407 @externallyDefinedApi
       
  3408 */
       
  3409 
       
  3410 /** @def FP_ILOGB0	
       
  3411 
       
  3412 The value of FP_ILOGB0 shall be either INT_MIN or - INT_MAX.
       
  3413 
       
  3414 @publishedAll
       
  3415 @externallyDefinedApi
       
  3416 */
       
  3417 
       
  3418 /** @def FP_ILOGBNAN
       
  3419 
       
  3420 The  value of FP_ILOGBNAN shall be either INT_MAX or INT_MIN.
       
  3421 
       
  3422 @publishedAll
       
  3423 @externallyDefinedApi
       
  3424 */
       
  3425 
       
  3426 /** @def HUGE_VALL	
       
  3427 
       
  3428 A  positive  long  double  constant expression. Used as an error value returned by the mathematics library.
       
  3429 
       
  3430 @publishedAll
       
  3431 @externallyDefinedApi
       
  3432 */
       
  3433 
       
  3434 /** @def HUGE_VALF	
       
  3435 
       
  3436 A  positive  float  constant  expression. Used as an error value returned by the  mathematics  library. 
       
  3437 
       
  3438 @publishedAll
       
  3439 @externallyDefinedApi
       
  3440 */
       
  3441 
       
  3442 /** @def INFINITY	
       
  3443 
       
  3444 A  constant  expression  of  type float representing positive or unsigned infinity, if available; 
       
  3445 else  a  positive  constant  of type float that overflows at translation time.
       
  3446 
       
  3447 @publishedAll
       
  3448 @externallyDefinedApi
       
  3449 */
       
  3450 
       
  3451 /** @def NAN		
       
  3452 
       
  3453 A  constant  expression  of type float representing a quiet NaN.
       
  3454 This symbolic constant is only  defined  if  the  implementation supports quiet NaNs for the float type.
       
  3455 
       
  3456 @publishedAll
       
  3457 @externallyDefinedApi
       
  3458 */
       
  3459 
       
  3460 /** @def MATH_ERRNO	
       
  3461 
       
  3462 macro  shall  expand to the integer constants 1
       
  3463 
       
  3464 @publishedAll
       
  3465 @externallyDefinedApi
       
  3466 */
       
  3467 
       
  3468 /** @def MATH_ERREXCEPT	
       
  3469 
       
  3470 macro  shall  expand to the integer constants 1
       
  3471 
       
  3472 @publishedAll
       
  3473 @externallyDefinedApi
       
  3474 */
       
  3475 
       
  3476 /** @def math_errhandling
       
  3477 
       
  3478 Macro shall expand to an expression that has type int and the  value  MATH_ERRNO,  MATH_ERREXCEPT, or the bitwise-inclusive OR of both
       
  3479 	
       
  3480 @publishedAll
       
  3481 @externallyDefinedApi
       
  3482 */
       
  3483 
       
  3484 /** @def FP_INFINITE	
       
  3485 
       
  3486 Macro shall be defined for number classification. They represent the mutually-exclusive kinds of floating-point  values.  
       
  3487 They expand to integer constant expressions with distinct values. 
       
  3488 Additional implementation-defined floating-point classifications, with macro definitions  beginning with FP_ and an uppercase letter, may also be specified by the implementation.
       
  3489 
       
  3490 @publishedAll
       
  3491 @externallyDefinedApi
       
  3492 */
       
  3493 
       
  3494 /** @def FP_NAN		
       
  3495 
       
  3496 Macro shall be defined for number classification. They represent the mutually-exclusive kinds of floating-point  values.  
       
  3497 They expand to integer constant expressions with distinct values. 
       
  3498 Additional implementation-defined floating-point classifications, with macro definitions  beginning with FP_ and an uppercase letter, may also be specified by the implementation.
       
  3499 
       
  3500 @publishedAll
       
  3501 @externallyDefinedApi
       
  3502 */
       
  3503 
       
  3504 /** @def FP_NORMAL	
       
  3505 
       
  3506 Macro shall be defined for number classification. They represent the mutually-exclusive kinds of floating-point  values.  
       
  3507 They expand to integer constant expressions with distinct values. 
       
  3508 Additional implementation-defined floating-point classifications, with macro definitions  beginning with FP_ and an uppercase letter, may also be specified by the implementation.
       
  3509 
       
  3510 @publishedAll
       
  3511 @externallyDefinedApi
       
  3512 */
       
  3513 
       
  3514 /** @def FP_SUBNORMAL	
       
  3515 
       
  3516 Macro shall be defined for number classification. They represent the mutually-exclusive kinds of floating-point  values.  
       
  3517 They expand to integer constant expressions with distinct values. 
       
  3518 Additional implementation-defined floating-point classifications, with macro definitions  beginning with FP_ and an uppercase letter, may also be specified by the implementation.
       
  3519 
       
  3520 @publishedAll
       
  3521 @externallyDefinedApi
       
  3522 */
       
  3523 
       
  3524 /** @def FP_ZERO	
       
  3525 
       
  3526 Macro shall be defined for number classification. They represent the mutually-exclusive kinds of floating-point  values.  
       
  3527 They expand to integer constant expressions with distinct values. 
       
  3528 Additional implementation-defined floating-point classifications, with macro definitions  beginning with FP_ and an uppercase letter, may also be specified by the implementation.
       
  3529 	
       
  3530 @publishedAll
       
  3531 @externallyDefinedApi
       
  3532 */
       
  3533 
       
  3534 /** @def fpclassify(x) 
       
  3535 
       
  3536 The math.h header  shall  define  the following macros, where real floating indicates that the argument shall be an  expression  of  real floating type
       
  3537 
       
  3538 @publishedAll
       
  3539 @externallyDefinedApi
       
  3540 */
       
  3541 
       
  3542 /** @def isfinite(x)	
       
  3543 
       
  3544 The math.h header  shall  define  the following macros, where real floating indicates that the argument shall be an  expression  of  real floating type
       
  3545 		
       
  3546 @publishedAll
       
  3547 @externallyDefinedApi
       
  3548 */
       
  3549 
       
  3550 /** @def isinf(x)	
       
  3551 
       
  3552 The math.h header  shall  define  the following macros, where real floating indicates that the argument shall be an  expression  of  real floating type
       
  3553 		
       
  3554 @publishedAll
       
  3555 @externallyDefinedApi
       
  3556 */
       
  3557 
       
  3558 /** @def isnan(x)
       
  3559 
       
  3560 The math.h header  shall  define  the following macros, where real floating indicates that the argument shall be an  expression  of  real floating type
       
  3561 
       
  3562 @publishedAll
       
  3563 @externallyDefinedApi
       
  3564 */
       
  3565 
       
  3566 /** @def isnormal(x)
       
  3567 
       
  3568 The math.h header  shall  define  the following macros, where real floating indicates that the argument shall be an  expression  of  real floating type
       
  3569 
       
  3570 @publishedAll
       
  3571 @externallyDefinedApi
       
  3572 */
       
  3573 
       
  3574 /** @def isgreater(x, y)
       
  3575 
       
  3576 The math.h header  shall  define  the following macros, where real floating indicates that the argument shall be an  expression  of  real floating type
       
  3577 	
       
  3578 @publishedAll
       
  3579 @externallyDefinedApi
       
  3580 */
       
  3581 
       
  3582 /** @def isless(x, y)
       
  3583 
       
  3584 The math.h header  shall  define  the following macros, where real floating indicates that the argument shall be an  expression  of  real floating type
       
  3585 
       
  3586 @publishedAll
       
  3587 @externallyDefinedApi
       
  3588 */
       
  3589 
       
  3590 /** @def islessequal(x, y)
       
  3591 
       
  3592 The math.h header  shall  define  the following macros, where real floating indicates that the argument shall be an  expression  of  real floating type
       
  3593 
       
  3594 @publishedAll
       
  3595 @externallyDefinedApi
       
  3596 */
       
  3597 
       
  3598 /** @def islessgreater(x, y)
       
  3599 
       
  3600 The math.h header  shall  define  the following macros, where real floating indicates that the argument shall be an  expression  of  real floating type
       
  3601 
       
  3602 @publishedAll
       
  3603 @externallyDefinedApi
       
  3604 */
       
  3605 
       
  3606 /** @def isunordered(x, y)
       
  3607 
       
  3608 The math.h header  shall  define  the following macros, where real floating indicates that the argument shall be an  expression  of  real floating type
       
  3609 
       
  3610 @publishedAll
       
  3611 @externallyDefinedApi
       
  3612 */
       
  3613 
       
  3614 /** @def isgreaterequal(x, y)
       
  3615 
       
  3616 The math.h header  shall  define  the following macros, where real floating indicates that the argument shall be an  expression  of  real floating type
       
  3617 
       
  3618 @publishedAll
       
  3619 @externallyDefinedApi
       
  3620 */
       
  3621 
       
  3622 /** @def signbit(x)		
       
  3623 
       
  3624 The math.h header  shall  define  the following macros, where real floating indicates that the argument shall be an  expression  of  real floating type
       
  3625 	
       
  3626 @publishedAll
       
  3627 @externallyDefinedApi
       
  3628 */
       
  3629 
       
  3630 /** @def M_E	
       
  3631 
       
  3632 Defines the Value of e
       
  3633 	
       
  3634 @publishedAll
       
  3635 @externallyDefinedApi
       
  3636 */
       
  3637 
       
  3638 /** @def M_LOG2E
       
  3639 
       
  3640 Defines the Value of log2e 
       
  3641 		
       
  3642 @publishedAll
       
  3643 @externallyDefinedApi
       
  3644 */
       
  3645 
       
  3646 /** @def M_LOG10E
       
  3647 
       
  3648 Defines the Value of log10e
       
  3649 	
       
  3650 @publishedAll
       
  3651 @externallyDefinedApi
       
  3652 */
       
  3653 
       
  3654 /** @def M_LN2
       
  3655 
       
  3656 Defines the Value of loge2 
       
  3657 		
       
  3658 @publishedAll
       
  3659 @externallyDefinedApi
       
  3660 */
       
  3661 
       
  3662 /** @def M_LN10		
       
  3663 
       
  3664 Defines the Value of loge10
       
  3665 
       
  3666 @publishedAll
       
  3667 @externallyDefinedApi
       
  3668 */
       
  3669 
       
  3670 /** @def M_PI	
       
  3671 
       
  3672 Defines the Value of pi
       
  3673 	
       
  3674 @publishedAll
       
  3675 @externallyDefinedApi
       
  3676 */
       
  3677 
       
  3678 /** @def M_PI_2		
       
  3679 
       
  3680 Defines the Value of pi/2
       
  3681 
       
  3682 @publishedAll
       
  3683 @externallyDefinedApi
       
  3684 */
       
  3685 
       
  3686 /** @def M_PI_4		
       
  3687 
       
  3688 Defines the Value of pi/4
       
  3689 
       
  3690 @publishedAll
       
  3691 @externallyDefinedApi
       
  3692 */
       
  3693 
       
  3694 /** @def M_1_PI		
       
  3695 
       
  3696 Defines the Value of 1/pi
       
  3697 
       
  3698 @publishedAll
       
  3699 @externallyDefinedApi
       
  3700 */
       
  3701 
       
  3702 /** @def M_2_PI		
       
  3703 
       
  3704 Defines the Value of 2/pi
       
  3705 
       
  3706 @publishedAll
       
  3707 @externallyDefinedApi
       
  3708 */
       
  3709 
       
  3710 /** @def M_2_SQRTPI	
       
  3711 
       
  3712 Defines the Value of 2/sqrt(pi)
       
  3713 
       
  3714 @publishedAll
       
  3715 @externallyDefinedApi
       
  3716 */
       
  3717 
       
  3718 /** @def M_SQRT2	
       
  3719 
       
  3720 Defines the Value of sqrt(2)
       
  3721 	
       
  3722 @publishedAll
       
  3723 @externallyDefinedApi
       
  3724 */
       
  3725 
       
  3726 /** @def M_SQRT1_2	
       
  3727 
       
  3728 Defines the Value of 1/sqrt(2)
       
  3729 
       
  3730 @publishedAll
       
  3731 @externallyDefinedApi
       
  3732 */
       
  3733 
       
  3734 /** @def MAXFLOAT
       
  3735 
       
  3736 Value of maximum non-infinite single-precision floating point number. 
       
  3737 	
       
  3738 @publishedAll
       
  3739 @externallyDefinedApi
       
  3740 */
       
  3741 
       
  3742 /** @def HUGE		
       
  3743 
       
  3744 Defines to (float)3.40282346638528860e+38
       
  3745 
       
  3746 @publishedAll
       
  3747 @externallyDefinedApi
       
  3748 */
       
  3749 
       
  3750 /** @typedef  typedef	__double_t	double_t;
       
  3751 
       
  3752 Double 8 bytes
       
  3753 
       
  3754 @publishedAll
       
  3755 @externallyDefinedApi
       
  3756 */
       
  3757 
       
  3758 /** @typedef  typedef	__float_t	float_t;
       
  3759 
       
  3760 Float 4 bytes
       
  3761 
       
  3762 @publishedAll
       
  3763 @externallyDefinedApi
       
  3764 */
       
  3765 
       
  3766 
       
  3767 
       
  3768 
       
  3769 
       
  3770 
       
  3771 
       
  3772 
       
  3773 
       
  3774 
       
  3775 
       
  3776 
       
  3777 
       
  3778 
       
  3779 
       
  3780 
       
  3781 
       
  3782 
       
  3783 
       
  3784 
       
  3785 
       
  3786 
       
  3787 
       
  3788 
       
  3789 
       
  3790 
       
  3791 
       
  3792 
       
  3793 
       
  3794 
       
  3795 
       
  3796 
       
  3797 
       
  3798 
       
  3799 
       
  3800 
       
  3801 
       
  3802 
       
  3803 
       
  3804 
       
  3805 
       
  3806 
       
  3807 
       
  3808 
       
  3809 
       
  3810 
       
  3811 
       
  3812 
       
  3813 
       
  3814 
       
  3815 
       
  3816 
       
  3817