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