Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. // -*- C++ -*- header wrapper.
  2.  
  3. // Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
  4. //
  5. // This file is part of the GNU ISO C++ Library.  This library is free
  6. // software; you can redistribute it and/or modify it under the
  7. // terms of the GNU General Public License as published by the
  8. // Free Software Foundation; either version 2, or (at your option)
  9. // any later version.
  10.  
  11. // This library is distributed in the hope that it will be useful,
  12. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. // GNU General Public License for more details.
  15.  
  16. // You should have received a copy of the GNU General Public License along
  17. // with this library; see the file COPYING.  If not, write to the Free
  18. // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
  19. // USA.
  20.  
  21. // As a special exception, you may use this file as part of a free software
  22. // library without restriction.  Specifically, if other files instantiate
  23. // templates or use macros or inline functions from this file, or you compile
  24. // this file and link it with other files to produce an executable, this
  25. // file does not by itself cause the resulting executable to be covered by
  26. // the GNU General Public License.  This exception does not however
  27. // invalidate any other reasons why the executable file might be covered by
  28. // the GNU General Public License.
  29.  
  30. //
  31. // ISO C++ 14882: 26.5  C library
  32. //
  33.  
  34. #ifndef _CPP_CMATH
  35. #define _CPP_CMATH 1
  36.  
  37. # include <bits/c++config.h>
  38.  
  39. namespace _C_legacy {
  40.   extern "C" {
  41. #     define _IN_C_LEGACY_
  42. #     pragma GCC system_header
  43. #     include_next <math.h>
  44.   }
  45.  
  46. #if _GLIBCPP_HAVE_ACOSF
  47.   inline float
  48.   _CPP_acos_capture(float __x) { return acosf(__x); }
  49. #else
  50.   inline float
  51.   _CPP_acos_capture(float __x) { return acos(static_cast<double>(__x)); }
  52. #endif
  53.  
  54. #if _GLIBCPP_HAVE_ASINF
  55.   inline float
  56.   _CPP_asin_capture(float __x) { return asinf(__x); }
  57. #else
  58.   inline float
  59.   _CPP_asin_capture(float __x) { return asin(static_cast<double>(__x)); }
  60. #endif
  61.  
  62. #if _GLIBCPP_HAVE_ATANF
  63.   inline float
  64.   _CPP_atan_capture(float __x) { return atanf(__x); }
  65. #else
  66.   inline float
  67.   _CPP_atan_capture(float __x) { return atan(static_cast<double>(__x)); }
  68. #endif
  69.  
  70. #if _GLIBCPP_HAVE_ATAN2F
  71.   inline float
  72.   _CPP_atan2_capture(float __y, float __x) { return atan2f(__y, __x); }
  73. #else
  74.   inline float
  75.   _CPP_atan2_capture(float __y, float __x)
  76.   { return atan2(static_cast<double>(__y), static_cast<double>(__x)); }
  77. #endif
  78.  
  79. #if _GLIBCPP_HAVE_CEILF
  80.   inline float
  81.   _CPP_ceil_capture(float __x) { return ceilf(__x); }
  82. #else
  83.   inline float
  84.   _CPP_ceil_capture(float __x) { return ceil(static_cast<double>(__x)); }
  85. #endif
  86.  
  87. #if _GLIBCPP_HAVE___BUILTIN_COSF
  88.   inline float
  89.   _CPP_cos_capture(float __x) { return __builtin_cosf(__x); }
  90. #elif _GLIBCPP_HAVE_COSF
  91.   inline float
  92.   _CPP_cos_capture(float __x) { return cosf(__x); }
  93. #else
  94.   inline float
  95.   _CPP_cos_capture(float __x) { return cos(static_cast<double>(__x)); }
  96. #endif
  97.  
  98. #if _GLIBCPP_HAVE_COSHF
  99.   inline float
  100.   _CPP_cosh_capture(float __x) { return coshf(__x); }
  101. #else
  102.   inline float
  103.   _CPP_cosh_capture(float __x) { return cosh(static_cast<double>(__x)); }
  104. #endif
  105.  
  106. #if _GLIBCPP_HAVE_EXPF
  107.   inline float
  108.   _CPP_exp_capture(float __x) { return expf(__x); }
  109. #else
  110.   inline float
  111.   _CPP_exp_capture(float __x) { return exp(static_cast<double>(__x)); }
  112. #endif
  113.  
  114. #if _GLIBCPP_HAVE___BUILTIN_FABSF
  115.   inline float
  116.   _CPP_fabs_capture(float __x) { return __builtin_fabsf(__x); }
  117. #elif _GLIBCPP_HAVE_FABSF
  118.   inline float
  119.   _CPP_fabs_capture(float __x) { return fabsf(__x); }
  120. #else
  121.   inline float
  122.   _CPP_fabs_capture(float __x) { return fabs(static_cast<double>(__x)); }
  123. #endif
  124.  
  125. #if _GLIBCPP_HAVE_FLOORF
  126.   inline float
  127.   _CPP_floor_capture(float __x) { return floorf(__x); }
  128. #else
  129.   inline float
  130.   _CPP_floor_capture(float __x) { return floor(static_cast<double>(__x)); }
  131. #endif
  132.  
  133. #if _GLIBCPP_HAVE_FMODFF
  134.   inline float
  135.   _CPP_fmod_capture(float __x, float __y) { return fmodf(__x, __y); }
  136. #else
  137.   inline float
  138.   _CPP_fmod_capture(float __x, float __y)
  139.   { return fmod(static_cast<double>(__x), static_cast<double>(__y)); }
  140. #endif
  141.  
  142. #if _GLIBCPP_HAVE_FREXPF
  143.   inline float
  144.   _CPP_frexp_capture(float __x, int* __exp) { return frexpf(__x, __exp); }
  145. #else
  146.   inline float
  147.   _CPP_frexp_capture(float __x, int* __exp) { return frexp(__x, __exp); }
  148. #endif
  149.  
  150. #if _GLIBCPP_HAVE_LDEXPF
  151.   inline float
  152.   _CPP_ldexp_capture(float __x, int __exp) { return ldexpf(__x, __exp); }
  153. #else
  154.   inline float
  155.   _CPP_ldexp_capture(float __x, int __exp)
  156.   { return ldexp(static_cast<double>(__x), __exp); }
  157. #endif
  158.  
  159. #if _GLIBCPP_HAVE_LOGF
  160.   inline float
  161.   _CPP_log_capture(float __x) { return logf(__x); }
  162. #else
  163.   inline float
  164.   _CPP_log_capture(float __x) { return log(static_cast<double>(__x)); }
  165. #endif
  166.  
  167. #if _GLIBCPP_HAVE_LOG10F
  168.   inline float
  169.   _CPP_log10_capture(float __x) { return log10f(__x); }
  170. #else
  171.   inline float
  172.   _CPP_log10_capture(float __x) { return log10(static_cast<double>(__x)); }
  173. #endif
  174.  
  175. #if _GLIBCPP_HAVE_MODFF
  176.   inline float
  177.   _CPP_modf_capture(float __x, float* __iptr) { return modff(__x, __iptr); }
  178. #else
  179.   inline float
  180.   _CPP_modf_capture(float __x, float* __iptr)
  181.   {
  182.     double __tmp;
  183.     double __res = _C_legacy::modf(static_cast<double>(__x), &__tmp);
  184.     *__iptr = static_cast<float> (__tmp);
  185.     return __res;
  186.   }
  187. #endif
  188.  
  189. #if _GLIBCPP_HAVE_POWF
  190.   inline float
  191.   _CPP_pow_capture(float __x, float __y) { return powf(__x, __y); }
  192. #else
  193.   inline float
  194.   _CPP_pow_capture(float __x, float __y)
  195.   { return pow(static_cast<double>(__x), static_cast<double>(__y)); }
  196. #endif
  197.  
  198.   float pow(float, int);
  199.  
  200. #if _GLIBCPP_HAVE___BUILTIN_SINF
  201.   inline float
  202.   _CPP_sin_capture(float __x) { return __builtin_sinf(__x); }
  203. #elif _GLIBCPP_HAVE_SINF
  204.   inline float
  205.   _CPP_sin_capture(float __x) { return sinf(__x); }
  206. #else
  207.   inline float
  208.   _CPP_sin_capture(float __x) { return sin(static_cast<double>(__x)); }
  209. #endif
  210.  
  211. #if _GLIBCPP_HAVE_SINHF
  212.   inline float
  213.   _CPP_sinh_capture(float __x) { return sinhf(__x); }
  214. #else
  215.   inline float
  216.   _CPP_sinh_capture(float __x) { return sinh(static_cast<double>(__x)); }
  217. #endif
  218.  
  219. #if _GLIBCPP_HAVE___BUILTIN_SQRTF
  220.   inline float
  221.   _CPP_sqrt_capture(float __x) { return __builtin_sqrtf(__x); }
  222. #elif _GLIBCPP_HAVE_SQRTF
  223.   inline float
  224.   _CPP_sqrt_capture(float __x) { return sqrtf(__x); }
  225. #else
  226.   inline float
  227.   _CPP_sqrt_capture(float __x) { return sqrt(static_cast<double>(__x)); }
  228. #endif
  229.  
  230. #if _GLIBCPP_HAVE_TANF
  231.   inline float
  232.   _CPP_tan_capture(float __x) { return tanf(__x); }
  233. #else
  234.   inline float
  235.   _CPP_tan_capture(float __x) { return tan(static_cast<double>(__x)); }
  236. #endif
  237.  
  238. #if _GLIBCPP_HAVE_TANHF
  239.   inline float
  240.   _CPP_tanh_capture(float __x) { return tanhf(__x); }
  241. #else
  242.   inline float
  243.   _CPP_tanh_capture(float __x) { return tanh(static_cast<double>(__x)); }
  244. #endif
  245.  
  246.  
  247.   inline double
  248.   _CPP_acos_capture(double __x) { return acos(__x); }
  249.  
  250.   inline double
  251.   _CPP_asin_capture(double __x) { return asin(__x); }
  252.  
  253.   inline double
  254.   _CPP_atan_capture(double __x) { return atan(__x); }
  255.  
  256.   inline double
  257.   _CPP_atan2_capture(double __y, double __x) { return atan2(__y, __x); }
  258.  
  259.   inline double
  260.   _CPP_ceil_capture(double __x) { return ceil(__x); }
  261.  
  262. #if _GLIBCPP_HAVE___BUILTIN_COS
  263.   inline double
  264.   _CPP_cos_capture(double __x) { return __builtin_cos(__x); }
  265. #else
  266.   inline double
  267.   _CPP_cos_capture(double __x) { return cos(__x); }
  268. #endif
  269.  
  270.   inline double
  271.   _CPP_cosh_capture(double __x) { return cosh(__x); }
  272.  
  273.   inline double
  274.   _CPP_exp_capture(double __x) { return exp(__x); }
  275.  
  276. #if _GLIBCPP_HAVE___BUILTIN_FABS
  277.   inline double
  278.   _CPP_fabs_capture(double __x) { return __builtin_fabs(__x); }
  279. #else
  280.   inline double
  281.   _CPP_fabs_capture(double __x) { return fabs(__x); }
  282. #endif
  283.  
  284.   inline double
  285.   _CPP_floor_capture(double __x) { return floor(__x); }
  286.  
  287.   inline double
  288.   _CPP_fmod_capture(double __x, double __y) { return fmod(__x, __y); }
  289.  
  290.   inline double
  291.   _CPP_frexp_capture(double __x, int* __exp) { return frexp(__x, __exp); }
  292.  
  293.   inline double
  294.   _CPP_ldexp_capture(double __x, int __exp) { return ldexp(__x, __exp); }
  295.  
  296.   inline double
  297.   _CPP_log_capture(double __x) { return log(__x); }
  298.  
  299.   inline double
  300.   _CPP_log10_capture(double __x) { return log10(__x); }
  301.  
  302.   inline double
  303.   _CPP_modf_capture(double __x, double* __iptr) { return modf(__x, __iptr); }
  304.  
  305.   inline double
  306.   _CPP_pow_capture(double __x, double __y) { return pow(__x, __y); }
  307.  
  308. #if _GLIBCPP_HAVE___BUILTIN_SIN
  309.   inline double
  310.   _CPP_sin_capture(double __x) { return __builtin_sin(__x); }
  311. #else
  312.   inline double
  313.   _CPP_sin_capture(double __x) { return sin(__x); }
  314. #endif
  315.  
  316.   inline double
  317.   _CPP_sinh_capture(double __x) { return sinh(__x); }
  318.  
  319. #if _GLIBCPP_HAVE___BUILTIN_SQRT
  320.   inline double
  321.   _CPP_sqrt_capture(double __x) { return __builtin_fsqrt(__x); }
  322. #else
  323.   inline double
  324.   _CPP_sqrt_capture(double __x) { return sqrt(__x); }
  325. #endif
  326.  
  327.   inline double
  328.   _CPP_tan_capture(double __x) { return tan(__x); }
  329.  
  330.   inline double
  331.   _CPP_tanh_capture(double __x) { return tanh(__x); }
  332.  
  333. #if _GLIBCPP_HAVE_ACOSL
  334.   inline long double
  335.   _CPP_acos_capture(long double __x) { return acosl(__x); }
  336. #else
  337.   inline long double
  338.   _CPP_acos_capture(long double __x) { return acos(static_cast<double>(__x)); }
  339. #endif
  340.  
  341. #if _GLIBCPP_HAVE_ASINL
  342.   inline long double
  343.   _CPP_asin_capture(long double __x) { return asinl(__x); }
  344. #else
  345.   inline long double
  346.   _CPP_asin_capture(long double __x) { return asin(static_cast<double>(__x)); }
  347. #endif
  348.  
  349. #if _GLIBCPP_HAVE_ATANL
  350.   inline long double
  351.   _CPP_atan_capture(long double __x) { return atanl(__x); }
  352. #else
  353.   inline long double
  354.   _CPP_atan_capture(long double __x) { return atan(static_cast<double>(__x)); }
  355. #endif
  356.  
  357. #if _GLIBCPP_HAVE_ATAN2L
  358.   inline long double
  359.   _CPP_atan2_capture(long double __y, long double __x)
  360.   { return atan2l(__y, __x); }
  361. #else
  362.   inline long double
  363.   _CPP_atan2_capture(long double __y, long double __x)
  364.   { return atan2(static_cast<double>(__y), static_cast<double>(__x)); }
  365. #endif
  366.  
  367. #if _GLIBCPP_HAVE_CEILL
  368.   inline long double
  369.   _CPP_ceil_capture(long double __x) { return ceill(__x); }
  370. #else
  371.   inline long double
  372.   _CPP_ceil_capture(long double __x) { return ceil(static_cast<double>(__x)); }
  373. #endif
  374.  
  375. #if _GLIBCPP_HAVE___BUILTIN_COSL
  376.   inline long double
  377.   _CPP_cos_capture(long double __x) { return __builtin_cosl(__x); }
  378. #elif _GLIBCPP_HAVE_COSL
  379.   inline long double
  380.   _CPP_cos_capture(long double __x) { return cosl(__x); }
  381. #else
  382.   inline long double
  383.   _CPP_cos_capture(long double __x) { return cos(static_cast<double>(__x)); }
  384. #endif
  385.  
  386. #if _GLIBCPP_HAVE_COSHL
  387.   inline long double
  388.   _CPP_cosh_capture(long double __x) { return coshl(__x); }
  389. #else
  390.   inline long double
  391.   _CPP_cosh_capture(long double __x) { return cosh(static_cast<double>(__x)); }
  392. #endif
  393.  
  394. #if _GLIBCPP_HAVE_EXPL
  395.   inline long double
  396.   _CPP_exp_capture(long double __x) { return expl(__x); }
  397. #else
  398.   inline long double
  399.   _CPP_exp_capture(long double __x) { return exp(static_cast<double>(__x)); }
  400. #endif
  401.  
  402. #if _GLIBCPP_HAVE___BUILTIN_FABSL
  403.   inline long double
  404.   _CPP_fabs_capture(long double __x) { return __builtin_fabsl(__x); }
  405. #elif _GLIBCPP_HAVE_FABSL
  406.   inline long double
  407.   _CPP_fabs_capture(long double __x) { return fabsl(__x); }
  408. #else
  409.   inline long double
  410.   _CPP_fabs_capture(long double __x) { return fabs(static_cast<double>(__x)); }
  411. #endif
  412.  
  413. #if _GLIBCPP_HAVE_FLOORL
  414.   inline long double
  415.   _CPP_floor_capture(long double __x) { return floorl(__x); }
  416. #else
  417.   inline long double
  418.   _CPP_floor_capture(long double __x)
  419.   { return floor(static_cast<double>(__x)); }
  420. #endif
  421.  
  422. #if _GLIBCPP_HAVE_FMODL
  423.   inline long double
  424.   _CPP_fmod_capture(long double __x, long double __y)
  425.   { return fmodl(__x, __y); }
  426. #else
  427.   inline long double
  428.   _CPP_fmod_capture(long double __x, long double __y)
  429.   { return fmod(static_cast<double>(__x), static_cast<double>(__y)); }
  430. #endif
  431.  
  432. #if _GLIBCPP_HAVE_FREXPL
  433.   inline long double
  434.   _CPP_frexp_capture(long double __x, int* __exp)
  435.   { return frexpl(__x, __exp); }
  436. #else
  437.   inline long double
  438.   _CPP_frexp_capture(long double __x, int* __exp)
  439.   { return frexp(static_cast<double>(__x), __exp); }
  440. #endif
  441.  
  442. #if _GLIBCPP_HAVE_LDEXPL
  443.   inline long double
  444.   _CPP_ldexp_capture(long double __x, int __exp) { return ldexpl(__x, __exp); }
  445. #else
  446.   inline long double
  447.   _CPP_ldexp_capture(long double __x, int __exp)
  448.   { return ldexp(static_cast<double>(__x), __exp); }
  449. #endif
  450.  
  451. #if _GLIBCPP_HAVE_LOGL
  452.   inline long double
  453.   _CPP_log_capture(long double __x) { return logl(__x); }
  454. #else
  455.   inline long double
  456.   _CPP_log_capture(long double __x) { return log(static_cast<double>(__x)); }
  457. #endif
  458.  
  459. #if _GLIBCPP_HAVE_LOG10L
  460.   inline long double
  461.   _CPP_log10_capture(long double __x) { return log10l(__x); }
  462. #else
  463.   inline long double
  464.   _CPP_log10_capture(long double __x)
  465.   { return log10(static_cast<double>(__x)); }
  466. #endif
  467.  
  468. #if _GLIBCPP_HAVE_MODFL
  469.   inline long double
  470.   _CPP_modf_capture(long double __x, long double* __iptr)
  471.   { return modfl(__x, __iptr); }
  472. #else
  473.   inline long double
  474.   _CPP_modf_capture(long double __x, long double* __iptr)
  475.   {
  476.     double __tmp;
  477.     double __res = _C_legacy::modf(static_cast<double>(__x), &__tmp);
  478.     *__iptr = static_cast<long double> (__tmp);
  479.     return __res;
  480.   }
  481. #endif
  482.  
  483. #if _GLIBCPP_HAVE_POWL
  484.   inline long double
  485.   _CPP_pow_capture(long double __x, long double __y) { return powl(__x, __y); }
  486. #else
  487.   inline long double
  488.   _CPP_pow_capture(long double __x, long double __y)
  489.   { return pow(static_cast<double>(__x), static_cast<double>(__y)); }
  490. #endif
  491.  
  492. #if _GLIBCPP_HAVE___BUILTIN_SINL
  493.   inline long double
  494.   _CPP_sin_capture(long double __x) { return __builtin_sinl(__x); }
  495. #elif _GLIBCPP_HAVE_SINL
  496.   inline long double
  497.   _CPP_sin_capture(long double __x) { return sinl(__x); }
  498. #else
  499.   inline long double
  500.   _CPP_sin_capture(long double __x) { return sin(static_cast<double>(__x)); }
  501. #endif
  502.  
  503. #if _GLIBCPP_HAVE_SINHL
  504.   inline long double
  505.   _CPP_sinh_capture(long double __x) { return sinhl(__x); }
  506. #else
  507.   inline long double
  508.   _CPP_sinh_capture(long double __x) { return sinh(static_cast<double>(__x)); }
  509. #endif
  510.  
  511. #if _GLIBCPP_HAVE___BUILTIN_SQRTL
  512.   inline long double
  513.   _CPP_sqrt_capture(long double __x) { return __builtin_sqrtl(__x); }
  514. #elif _GLIBCPP_HAVE_SQRTL
  515.   inline long double
  516.   _CPP_sqrt_capture(long double __x) { return sqrtl(__x); }
  517. #else
  518.   inline long double
  519.   _CPP_sqrt_capture(long double __x) { return sqrt(static_cast<double>(__x)); }
  520. #endif
  521.  
  522. #if _GLIBCPP_HAVE_TANL
  523.   inline long double
  524.   _CPP_tan_capture(long double __x) { return tanl(__x); }
  525. #else
  526.   inline long double
  527.   _CPP_tan_capture(long double __x) { return tan(static_cast<double>(__x)); }
  528. #endif
  529.  
  530. #if _GLIBCPP_HAVE_TANHL
  531.   inline long double
  532.   _CPP_tanh_capture(long double __x) { return tanhl(__x); }
  533. #else
  534.   inline long double
  535.   _CPP_tanh_capture(long double __x) { return tanh(static_cast<double>(__x)); }
  536. #endif
  537. } // namespace _C_legacy
  538.  
  539. # undef abs
  540. # undef acos
  541. # undef asin
  542. # undef atan
  543. # undef atan2
  544. # undef ceil
  545. # undef cos
  546. # undef cosh
  547. # undef exp
  548. # undef fabs
  549. # undef floor
  550. # undef fmod
  551. # undef frexp
  552. # undef ldexp
  553. # undef log
  554. # undef log10
  555. # undef modf
  556. # undef pow
  557. # undef sin
  558. # undef sinh
  559. # undef sqrt
  560. # undef tan
  561. # undef tanh
  562.  
  563. namespace std {
  564.   inline float
  565.   abs(float __x) { return _C_legacy::_CPP_fabs_capture(__x); }
  566.  
  567.   inline float
  568.   acos(float __x) { return _C_legacy::_CPP_acos_capture(__x); }
  569.  
  570.   inline float
  571.   asin(float __x) { return _C_legacy::_CPP_asin_capture(__x); }
  572.  
  573.   inline float
  574.   atan(float __x) { return _C_legacy::_CPP_atan_capture(__x); }
  575.  
  576.   inline float
  577.   atan2(float __y, float __x)
  578.   { return _C_legacy::_CPP_atan2_capture(__y, __x); }
  579.  
  580.   inline float
  581.   ceil(float __x) { return _C_legacy::_CPP_ceil_capture(__x); }
  582.  
  583.   inline float
  584.   cos(float __x) { return _C_legacy::_CPP_cos_capture(__x); }
  585.  
  586.   inline float
  587.   cosh(float __x) { return _C_legacy::_CPP_cosh_capture(__x); }
  588.  
  589.   inline float
  590.   exp(float __x) { return _C_legacy::_CPP_exp_capture(__x); }
  591.  
  592.   inline float
  593.   fabs(float __x) { return _C_legacy::_CPP_fabs_capture(__x); }
  594.  
  595.   inline float
  596.   floor(float __x) { return _C_legacy::_CPP_floor_capture(__x); }
  597.  
  598.   inline float
  599.   fmod(float __x, float __y)
  600.   { return _C_legacy::_CPP_fmod_capture(__x, __y); }
  601.  
  602.   inline float
  603.   frexp(float __x, int* __exp)
  604.   { return _C_legacy::_CPP_frexp_capture(__x, __exp); }
  605.  
  606.   inline float
  607.   ldexp(float __x, int __exp)
  608.   { return _C_legacy::_CPP_ldexp_capture(__x, __exp); }
  609.  
  610.   inline float
  611.   log(float __x) { return _C_legacy::_CPP_log_capture(__x); }
  612.  
  613.   inline float
  614.   log10(float __x) { return _C_legacy::_CPP_log10_capture(__x); }
  615.  
  616.   inline float
  617.   modf(float __x, float* __iptr)
  618.   { return _C_legacy::_CPP_modf_capture(__x, __iptr); }
  619.  
  620.   inline float
  621.   pow(float __x, float __y) { return _C_legacy::_CPP_pow_capture(__x, __y); }
  622.  
  623.   float
  624.   pow(float, int);
  625.  
  626.   inline float
  627.   sin(float __x) { return _C_legacy::_CPP_sin_capture(__x); }
  628.  
  629.   inline float
  630.   sinh(float __x) { return _C_legacy::_CPP_sinh_capture(__x); }
  631.  
  632.   inline float
  633.   sqrt(float __x) { return _C_legacy::_CPP_sqrt_capture(__x); }
  634.  
  635.   inline float
  636.   tan(float __x) { return _C_legacy::_CPP_tan_capture(__x); }
  637.  
  638.   inline float
  639.   tanh(float __x) { return _C_legacy::_CPP_tanh_capture(__x); }
  640.  
  641.   inline double
  642.   abs(double __x) { return _C_legacy::_CPP_fabs_capture(__x); }
  643.  
  644.   inline double
  645.   acos(double __x) { return _C_legacy::_CPP_acos_capture(__x); }
  646.  
  647.   inline double
  648.   asin(double __x) { return _C_legacy::_CPP_asin_capture(__x); }
  649.  
  650.   inline double
  651.   atan(double __x) { return _C_legacy::_CPP_atan_capture(__x); }
  652.  
  653.   inline double
  654.   atan2(double __y, double __x)
  655.   { return _C_legacy::_CPP_atan2_capture(__y, __x); }
  656.  
  657.   inline double
  658.   ceil(double __x) { return _C_legacy::_CPP_ceil_capture(__x); }
  659.  
  660.   inline double
  661.   cos(double __x) { return _C_legacy::_CPP_cos_capture(__x); }
  662.  
  663.   inline double
  664.   cosh(double __x) { return _C_legacy::_CPP_cosh_capture(__x); }
  665.  
  666.   inline double
  667.   exp(double __x) { return _C_legacy::_CPP_exp_capture(__x); }
  668.  
  669.   inline double
  670.   fabs(double __x) { return _C_legacy::_CPP_fabs_capture(__x); }
  671.  
  672.   inline double
  673.   floor(double __x) { return _C_legacy::_CPP_floor_capture(__x); }
  674.  
  675.   inline double
  676.   fmod(double __x, double __y)
  677.   { return _C_legacy::_CPP_fmod_capture(__x, __y); }
  678.  
  679.   inline double
  680.   frexp(double __x, int* __exp)
  681.   { return _C_legacy::_CPP_frexp_capture(__x, __exp); }
  682.  
  683.   inline double
  684.   ldexp(double __x, int __exp)
  685.   { return _C_legacy::_CPP_ldexp_capture(__x, __exp); }
  686.  
  687.   inline double
  688.   log(double __x) { return _C_legacy::_CPP_log_capture(__x); }
  689.  
  690.   inline double
  691.   log10(double __x) { return _C_legacy::_CPP_log10_capture(__x); }
  692.  
  693.   inline double
  694.   modf(double __x, double* __iptr)
  695.   { return _C_legacy::_CPP_modf_capture(__x, __iptr); }
  696.  
  697.   inline double
  698.   pow(double __x, double __y)
  699.   { return _C_legacy::_CPP_pow_capture(__x, __y); }
  700.  
  701.   double
  702.   pow(double, int);
  703.  
  704.   inline double
  705.   sin(double __x) { return _C_legacy::_CPP_sin_capture(__x); }
  706.  
  707.   inline double
  708.   sinh(double __x) { return _C_legacy::_CPP_sinh_capture(__x); }
  709.  
  710.   inline double
  711.   sqrt(double __x) { return _C_legacy::_CPP_sqrt_capture(__x); }
  712.  
  713.   inline double
  714.   tan(double __x) { return _C_legacy::_CPP_tan_capture(__x); }
  715.  
  716.   inline double
  717.   tanh(double __x) { return _C_legacy::_CPP_tanh_capture(__x); }
  718.  
  719.   inline long double
  720.   abs(long double __x) { return _C_legacy::_CPP_fabs_capture(__x); }
  721.  
  722.   inline long double
  723.   acos(long double __x) { return _C_legacy::_CPP_acos_capture(__x); }
  724.  
  725.   inline long double
  726.   asin(long double __x) { return _C_legacy::_CPP_asin_capture(__x); }
  727.  
  728.   inline long double
  729.   atan(long double __x) { return _C_legacy::_CPP_atan_capture(__x); }
  730.  
  731.   inline long double
  732.   atan2(long double __y, long double __x)
  733.   { return _C_legacy::_CPP_atan2_capture(__y, __x); }
  734.  
  735.   inline long double
  736.   ceil(long double __x) { return _C_legacy::_CPP_ceil_capture(__x); }
  737.  
  738.   inline long double
  739.   cos(long double __x) { return _C_legacy::_CPP_cos_capture(__x); }
  740.  
  741.   inline long double
  742.   cosh(long double __x) { return _C_legacy::_CPP_cosh_capture(__x); }
  743.  
  744.   inline long double
  745.   exp(long double __x) { return _C_legacy::_CPP_exp_capture(__x); }
  746.  
  747.   inline long double
  748.   fabs(long double __x) { return _C_legacy::_CPP_fabs_capture(__x); }
  749.  
  750.   inline long double
  751.   floor(long double __x) { return _C_legacy::_CPP_floor_capture(__x); }
  752.  
  753.   inline long double
  754.   fmod(long double __x, long double __y)
  755.   { return _C_legacy::_CPP_fmod_capture(__x, __y); }
  756.  
  757.   inline long double
  758.   frexp(long double __x, int* __exp)
  759.   { return _C_legacy::_CPP_frexp_capture(__x, __exp); }
  760.  
  761.   inline long double
  762.   ldexp(long double __x, int __exp)
  763.   { return _C_legacy::_CPP_ldexp_capture(__x, __exp); }
  764.  
  765.   inline long double
  766.   log(long double __x) { return _C_legacy::_CPP_log_capture(__x); }
  767.  
  768.   inline long double
  769.   log10(long double __x) { return _C_legacy::_CPP_log10_capture(__x); }
  770.  
  771.   inline long double
  772.   modf(long double __x, long double* __iptr)
  773.   { return _C_legacy::_CPP_modf_capture(__x, __iptr); }
  774.  
  775.   inline long double
  776.   pow(long double __x, long double __y)
  777.   { return _C_legacy::_CPP_pow_capture(__x, __y); }
  778.  
  779.   long double
  780.   pow(long double, int);
  781.  
  782.   inline long double
  783.   sin(long double __x) { return _C_legacy::_CPP_sin_capture(__x); }
  784.  
  785.   inline long double
  786.   sinh(long double __x) { return _C_legacy::_CPP_sinh_capture(__x); }
  787.  
  788.   inline long double
  789.   sqrt(long double __x) { return _C_legacy::_CPP_sqrt_capture(__x); }
  790.  
  791.   inline long double
  792.   tan(long double __x) { return _C_legacy::_CPP_tan_capture(__x); }
  793.  
  794.   inline long double
  795.   tanh(long double __x) { return _C_legacy::_CPP_tanh_capture(__x); }
  796.  
  797. } // namespace std
  798.  
  799. # undef _IN_C_LEGACY_
  800.  
  801. #endif
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.