SILENT KILLERPanel

Current Path: > > usr > include > c++ > > 8 > tr1


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //usr/include/c++//8/tr1

NameTypeSizeLast ModifiedActions
array File 6964 bytes March 31 2025 10:36:18.
bessel_function.tcc File 22473 bytes March 31 2025 10:36:18.
beta_function.tcc File 5995 bytes March 31 2025 10:36:18.
ccomplex File 1255 bytes March 31 2025 10:36:18.
cctype File 1412 bytes March 31 2025 10:36:18.
cfenv File 2004 bytes March 31 2025 10:36:18.
cfloat File 1380 bytes March 31 2025 10:36:18.
cinttypes File 2256 bytes March 31 2025 10:36:18.
climits File 1454 bytes March 31 2025 10:36:18.
cmath File 43806 bytes March 31 2025 10:36:18.
complex File 12384 bytes March 31 2025 10:36:18.
complex.h File 1261 bytes March 31 2025 10:36:18.
cstdarg File 1246 bytes March 31 2025 10:36:18.
cstdbool File 1344 bytes March 31 2025 10:36:18.
cstdint File 2623 bytes March 31 2025 10:36:18.
cstdio File 1482 bytes March 31 2025 10:36:18.
cstdlib File 1796 bytes March 31 2025 10:36:18.
ctgmath File 1248 bytes March 31 2025 10:36:18.
ctime File 1234 bytes March 31 2025 10:36:18.
ctype.h File 1209 bytes March 31 2025 10:36:18.
cwchar File 1718 bytes March 31 2025 10:36:18.
cwctype File 1459 bytes March 31 2025 10:36:18.
ell_integral.tcc File 27724 bytes March 31 2025 10:36:18.
exp_integral.tcc File 16009 bytes March 31 2025 10:36:18.
fenv.h File 1204 bytes March 31 2025 10:36:18.
float.h File 1209 bytes March 31 2025 10:36:18.
functional File 70545 bytes March 31 2025 10:36:18.
functional_hash.h File 6043 bytes March 31 2025 10:36:18.
gamma.tcc File 14682 bytes March 31 2025 10:36:18.
hashtable.h File 41537 bytes March 31 2025 10:36:18.
hashtable_policy.h File 25086 bytes March 31 2025 10:36:18.
hypergeometric.tcc File 28066 bytes March 31 2025 10:36:18.
inttypes.h File 1267 bytes March 31 2025 10:36:18.
legendre_function.tcc File 10909 bytes March 31 2025 10:36:18.
limits.h File 1214 bytes March 31 2025 10:36:18.
math.h File 4553 bytes March 31 2025 10:36:18.
memory File 1791 bytes March 31 2025 10:36:18.
modified_bessel_func.tcc File 16320 bytes March 31 2025 10:36:18.
poly_hermite.tcc File 3925 bytes March 31 2025 10:36:18.
poly_laguerre.tcc File 11676 bytes March 31 2025 10:36:18.
random File 1589 bytes March 31 2025 10:36:18.
random.h File 73123 bytes March 31 2025 10:36:18.
random.tcc File 53927 bytes March 31 2025 10:36:18.
regex File 92880 bytes March 31 2025 10:36:18.
riemann_zeta.tcc File 14063 bytes March 31 2025 10:36:18.
shared_ptr.h File 32608 bytes March 31 2025 10:36:18.
special_function_util.h File 5055 bytes March 31 2025 10:36:18.
stdarg.h File 1214 bytes March 31 2025 10:36:18.
stdbool.h File 1219 bytes March 31 2025 10:36:18.
stdint.h File 1214 bytes March 31 2025 10:36:18.
stdio.h File 1209 bytes March 31 2025 10:36:18.
stdlib.h File 1487 bytes March 31 2025 10:36:18.
tgmath.h File 1255 bytes March 31 2025 10:36:18.
tuple File 12119 bytes March 31 2025 10:36:18.
type_traits File 19019 bytes March 31 2025 10:36:18.
unordered_map File 1574 bytes March 31 2025 10:36:18.
unordered_map.h File 10216 bytes March 31 2025 10:36:18.
unordered_set File 1574 bytes March 31 2025 10:36:18.
unordered_set.h File 9540 bytes March 31 2025 10:36:18.
utility File 3225 bytes March 31 2025 10:36:18.
wchar.h File 1249 bytes March 31 2025 10:36:18.
wctype.h File 1255 bytes March 31 2025 10:36:18.

Reading File: //usr/include/c++//8/tr1/beta_function.tcc

// Special functions -*- C++ -*-

// Copyright (C) 2006-2018 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library.  This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// Under Section 7 of GPL version 3, you are granted additional
// permissions described in the GCC Runtime Library Exception, version
// 3.1, as published by the Free Software Foundation.

// You should have received a copy of the GNU General Public License and
// a copy of the GCC Runtime Library Exception along with this program;
// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
// <http://www.gnu.org/licenses/>.

/** @file tr1/beta_function.tcc
 *  This is an internal header file, included by other library headers.
 *  Do not attempt to use it directly. @headername{tr1/cmath}
 */

//
// ISO C++ 14882 TR1: 5.2  Special functions
//

// Written by Edward Smith-Rowland based on:
//   (1) Handbook of Mathematical Functions,
//       ed. Milton Abramowitz and Irene A. Stegun,
//       Dover Publications,
//       Section 6, pp. 253-266
//   (2) The Gnu Scientific Library, http://www.gnu.org/software/gsl
//   (3) Numerical Recipes in C, by W. H. Press, S. A. Teukolsky,
//       W. T. Vetterling, B. P. Flannery, Cambridge University Press (1992),
//       2nd ed, pp. 213-216
//   (4) Gamma, Exploring Euler's Constant, Julian Havil,
//       Princeton, 2003.

#ifndef _GLIBCXX_TR1_BETA_FUNCTION_TCC
#define _GLIBCXX_TR1_BETA_FUNCTION_TCC 1

namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION

#if _GLIBCXX_USE_STD_SPEC_FUNCS
# define _GLIBCXX_MATH_NS ::std
#elif defined(_GLIBCXX_TR1_CMATH)
namespace tr1
{
# define _GLIBCXX_MATH_NS ::std::tr1
#else
# error do not include this header directly, use <cmath> or <tr1/cmath>
#endif
  // [5.2] Special functions

  // Implementation-space details.
  namespace __detail
  {
    /**
     *   @brief  Return the beta function: \f$B(x,y)\f$.
     * 
     *   The beta function is defined by
     *   @f[
     *     B(x,y) = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)}
     *   @f]
     *
     *   @param __x The first argument of the beta function.
     *   @param __y The second argument of the beta function.
     *   @return  The beta function.
     */
    template<typename _Tp>
    _Tp
    __beta_gamma(_Tp __x, _Tp __y)
    {

      _Tp __bet;
#if _GLIBCXX_USE_C99_MATH_TR1
      if (__x > __y)
        {
          __bet = _GLIBCXX_MATH_NS::tgamma(__x)
                / _GLIBCXX_MATH_NS::tgamma(__x + __y);
          __bet *= _GLIBCXX_MATH_NS::tgamma(__y);
        }
      else
        {
          __bet = _GLIBCXX_MATH_NS::tgamma(__y)
                / _GLIBCXX_MATH_NS::tgamma(__x + __y);
          __bet *= _GLIBCXX_MATH_NS::tgamma(__x);
        }
#else
      if (__x > __y)
        {
          __bet = __gamma(__x) / __gamma(__x + __y);
          __bet *= __gamma(__y);
        }
      else
        {
          __bet = __gamma(__y) / __gamma(__x + __y);
          __bet *= __gamma(__x);
        }
#endif

      return __bet;
    }

    /**
     *   @brief  Return the beta function \f$B(x,y)\f$ using
     *           the log gamma functions.
     * 
     *   The beta function is defined by
     *   @f[
     *     B(x,y) = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)}
     *   @f]
     *
     *   @param __x The first argument of the beta function.
     *   @param __y The second argument of the beta function.
     *   @return  The beta function.
     */
    template<typename _Tp>
    _Tp
    __beta_lgamma(_Tp __x, _Tp __y)
    {
#if _GLIBCXX_USE_C99_MATH_TR1
      _Tp __bet = _GLIBCXX_MATH_NS::lgamma(__x)
                + _GLIBCXX_MATH_NS::lgamma(__y)
                - _GLIBCXX_MATH_NS::lgamma(__x + __y);
#else
      _Tp __bet = __log_gamma(__x)
                + __log_gamma(__y)
                - __log_gamma(__x + __y);
#endif
      __bet = std::exp(__bet);
      return __bet;
    }


    /**
     *   @brief  Return the beta function \f$B(x,y)\f$ using
     *           the product form.
     * 
     *   The beta function is defined by
     *   @f[
     *     B(x,y) = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)}
     *   @f]
     *
     *   @param __x The first argument of the beta function.
     *   @param __y The second argument of the beta function.
     *   @return  The beta function.
     */
    template<typename _Tp>
    _Tp
    __beta_product(_Tp __x, _Tp __y)
    {

      _Tp __bet = (__x + __y) / (__x * __y);

      unsigned int __max_iter = 1000000;
      for (unsigned int __k = 1; __k < __max_iter; ++__k)
        {
          _Tp __term = (_Tp(1) + (__x + __y) / __k)
                     / ((_Tp(1) + __x / __k) * (_Tp(1) + __y / __k));
          __bet *= __term;
        }

      return __bet;
    }


    /**
     *   @brief  Return the beta function \f$ B(x,y) \f$.
     * 
     *   The beta function is defined by
     *   @f[
     *     B(x,y) = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)}
     *   @f]
     *
     *   @param __x The first argument of the beta function.
     *   @param __y The second argument of the beta function.
     *   @return  The beta function.
     */
    template<typename _Tp>
    inline _Tp
    __beta(_Tp __x, _Tp __y)
    {
      if (__isnan(__x) || __isnan(__y))
        return std::numeric_limits<_Tp>::quiet_NaN();
      else
        return __beta_lgamma(__x, __y);
    }
  } // namespace __detail
#undef _GLIBCXX_MATH_NS
#if ! _GLIBCXX_USE_STD_SPEC_FUNCS && defined(_GLIBCXX_TR1_CMATH)
} // namespace tr1
#endif

_GLIBCXX_END_NAMESPACE_VERSION
}

#endif // _GLIBCXX_TR1_BETA_FUNCTION_TCC

SILENT KILLER Tool