⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_gamma_hooks.hpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 HPP
字号:
//  (C) Copyright John Maddock 2006.//  Use, modification and distribution are subject to the//  Boost Software License, Version 1.0. (See accompanying file//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)#ifndef BOOST_MATH_TEST_GAMMA_OTHER_HOOKS_HPP#define BOOST_MATH_TEST_GAMMA_OTHER_HOOKS_HPP#ifdef TEST_CEPHESnamespace other{extern "C" {   double gamma(double);   float gammaf(float);   long double gammal(long double);   double lgam(double);   float lgamf(float);   long double lgaml(long double);   float igamf(float, float);   double igam(double, double);   long double igaml(long double, long double);   float igamcf(float, float);   double igamc(double, double);   long double igamcl(long double, long double);}inline float tgamma(float x){ return gammaf(x); }inline double tgamma(double x){ return gamma(x); }inline long double tgamma(long double x){#ifdef BOOST_MSVC   return gamma((double)x); #else   return gammal(x); #endif}inline float lgamma(float x){ return lgamf(x); }inline double lgamma(double x){ return lgam(x); }inline long double lgamma(long double x){#ifdef BOOST_MSVC   return lgam((double)x); #else   return lgaml(x); #endif}inline float gamma_q(float x, float y){ return igamcf(x, y); }inline double gamma_q(double x, double y){ return igamc(x, y); }inline long double gamma_q(long double x, long double y){#ifdef BOOST_MSVC   return igamc((double)x, (double)y); #else   return igamcl(x, y); #endif}inline float gamma_p(float x, float y){ return igamf(x, y); }inline double gamma_p(double x, double y){ return igam(x, y); }inline long double gamma_p(long double x, long double y){#ifdef BOOST_MSVC   return igam((double)x, (double)y); #else   return igaml(x, y); #endif}}#define TEST_OTHER#endif#ifdef TEST_NATIVE#include <math.h>namespace other{#if defined(__FreeBSD__)// no float version:inline float tgamma(float x){ return ::tgamma(x); }#elseinline float tgamma(float x){ return ::tgammaf(x); }#endifinline double tgamma(double x){ return ::tgamma(x); }inline long double tgamma(long double x){ #if defined(__CYGWIN__) || defined(__FreeBSD__)   // no long double versions:   return ::tgamma(x);#else   return ::tgammal(x);#endif}#if defined(__FreeBSD__)inline float lgamma(float x){ return ::lgamma(x); }#elseinline float lgamma(float x){ return ::lgammaf(x); }#endifinline double lgamma(double x){ return ::lgamma(x); }inline long double lgamma(long double x){ #if defined(__CYGWIN__) || defined(__FreeBSD__)    // no long double versions:   return ::lgamma(x); #else   return ::lgammal(x); #endif}}#define TEST_OTHER#endif#ifdef TEST_GSL#define TEST_OTHER#include <gsl/gsl_sf_gamma.h>namespace other{float tgamma(float z){   return (float)gsl_sf_gamma(z);}double tgamma(double z){   return gsl_sf_gamma(z);}long double tgamma(long double z){   return gsl_sf_gamma(z);}float lgamma(float z){   return (float)gsl_sf_lngamma(z);}double lgamma(double z){   return gsl_sf_lngamma(z);}long double lgamma(long double z){   return gsl_sf_lngamma(z);}inline float gamma_q(float x, float y){ return (float)gsl_sf_gamma_inc_Q(x, y); }inline double gamma_q(double x, double y){ return gsl_sf_gamma_inc_Q(x, y); }inline long double gamma_q(long double x, long double y){ return gsl_sf_gamma_inc_Q(x, y); }inline float gamma_p(float x, float y){ return (float)gsl_sf_gamma_inc_P(x, y); }inline double gamma_p(double x, double y){ return gsl_sf_gamma_inc_P(x, y); }inline long double gamma_p(long double x, long double y){ return gsl_sf_gamma_inc_P(x, y); }}#endif#ifdef TEST_OTHERnamespace other{   boost::math::concepts::real_concept tgamma(boost::math::concepts::real_concept){ return 0; }   boost::math::concepts::real_concept lgamma(boost::math::concepts::real_concept){ return 0; }   boost::math::concepts::real_concept gamma_q(boost::math::concepts::real_concept, boost::math::concepts::real_concept){ return 0; }   boost::math::concepts::real_concept gamma_p(boost::math::concepts::real_concept, boost::math::concepts::real_concept){ return 0; }}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -