annotate DEPENDENCIES/generic/include/boost/math/tr1.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents 2665513ce2d3
children
rev   line source
Chris@16 1 // Copyright John Maddock 2008.
Chris@16 2 // Use, modification and distribution are subject to the
Chris@16 3 // Boost Software License, Version 1.0.
Chris@16 4 // (See accompanying file LICENSE_1_0.txt
Chris@16 5 // or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@16 6
Chris@16 7 #ifndef BOOST_MATH_TR1_HPP
Chris@16 8 #define BOOST_MATH_TR1_HPP
Chris@16 9
Chris@16 10 #ifdef _MSC_VER
Chris@16 11 #pragma once
Chris@16 12 #endif
Chris@16 13
Chris@16 14 #include <math.h> // So we can check which std C lib we're using
Chris@16 15
Chris@16 16 #ifdef __cplusplus
Chris@16 17
Chris@16 18 #include <boost/config.hpp>
Chris@16 19 #include <boost/static_assert.hpp>
Chris@16 20
Chris@16 21 namespace boost{ namespace math{ namespace tr1{ extern "C"{
Chris@16 22
Chris@16 23 #else
Chris@16 24
Chris@16 25 #define BOOST_PREVENT_MACRO_SUBSTITUTION /**/
Chris@16 26
Chris@16 27 #endif // __cplusplus
Chris@16 28
Chris@16 29 // we need to import/export our code only if the user has specifically
Chris@16 30 // asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost
Chris@16 31 // libraries to be dynamically linked, or BOOST_MATH_TR1_DYN_LINK
Chris@16 32 // if they want just this one to be dynamically liked:
Chris@16 33 #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_MATH_TR1_DYN_LINK)
Chris@16 34 // export if this is our own source, otherwise import:
Chris@16 35 #ifdef BOOST_MATH_TR1_SOURCE
Chris@16 36 # define BOOST_MATH_TR1_DECL BOOST_SYMBOL_EXPORT
Chris@16 37 #else
Chris@16 38 # define BOOST_MATH_TR1_DECL BOOST_SYMBOL_IMPORT
Chris@16 39 #endif // BOOST_MATH_TR1_SOURCE
Chris@16 40 #else
Chris@16 41 # define BOOST_MATH_TR1_DECL
Chris@16 42 #endif // DYN_LINK
Chris@16 43 //
Chris@16 44 // Set any throw specifications on the C99 extern "C" functions - these have to be
Chris@16 45 // the same as used in the std lib if any.
Chris@16 46 //
Chris@16 47 #if defined(__GLIBC__) && defined(__THROW)
Chris@16 48 # define BOOST_MATH_C99_THROW_SPEC __THROW
Chris@16 49 #else
Chris@16 50 # define BOOST_MATH_C99_THROW_SPEC
Chris@16 51 #endif
Chris@16 52
Chris@16 53 //
Chris@16 54 // Now set up the libraries to link against:
Chris@16 55 //
Chris@16 56 #if !defined(BOOST_MATH_TR1_NO_LIB) && !defined(BOOST_MATH_TR1_SOURCE) \
Chris@16 57 && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus)
Chris@16 58 # define BOOST_LIB_NAME boost_math_c99
Chris@16 59 # if defined(BOOST_MATH_TR1_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
Chris@16 60 # define BOOST_DYN_LINK
Chris@16 61 # endif
Chris@16 62 # include <boost/config/auto_link.hpp>
Chris@16 63 #endif
Chris@16 64 #if !defined(BOOST_MATH_TR1_NO_LIB) && !defined(BOOST_MATH_TR1_SOURCE) \
Chris@16 65 && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus)
Chris@16 66 # define BOOST_LIB_NAME boost_math_c99f
Chris@16 67 # if defined(BOOST_MATH_TR1_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
Chris@16 68 # define BOOST_DYN_LINK
Chris@16 69 # endif
Chris@16 70 # include <boost/config/auto_link.hpp>
Chris@16 71 #endif
Chris@16 72 #if !defined(BOOST_MATH_TR1_NO_LIB) && !defined(BOOST_MATH_TR1_SOURCE) \
Chris@16 73 && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus) \
Chris@16 74 && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
Chris@16 75 # define BOOST_LIB_NAME boost_math_c99l
Chris@16 76 # if defined(BOOST_MATH_TR1_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
Chris@16 77 # define BOOST_DYN_LINK
Chris@16 78 # endif
Chris@16 79 # include <boost/config/auto_link.hpp>
Chris@16 80 #endif
Chris@16 81 #if !defined(BOOST_MATH_TR1_NO_LIB) && !defined(BOOST_MATH_TR1_SOURCE) \
Chris@16 82 && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus)
Chris@16 83 # define BOOST_LIB_NAME boost_math_tr1
Chris@16 84 # if defined(BOOST_MATH_TR1_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
Chris@16 85 # define BOOST_DYN_LINK
Chris@16 86 # endif
Chris@16 87 # include <boost/config/auto_link.hpp>
Chris@16 88 #endif
Chris@16 89 #if !defined(BOOST_MATH_TR1_NO_LIB) && !defined(BOOST_MATH_TR1_SOURCE) \
Chris@16 90 && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus)
Chris@16 91 # define BOOST_LIB_NAME boost_math_tr1f
Chris@16 92 # if defined(BOOST_MATH_TR1_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
Chris@16 93 # define BOOST_DYN_LINK
Chris@16 94 # endif
Chris@16 95 # include <boost/config/auto_link.hpp>
Chris@16 96 #endif
Chris@16 97 #if !defined(BOOST_MATH_TR1_NO_LIB) && !defined(BOOST_MATH_TR1_SOURCE) \
Chris@16 98 && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus) \
Chris@16 99 && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
Chris@16 100 # define BOOST_LIB_NAME boost_math_tr1l
Chris@16 101 # if defined(BOOST_MATH_TR1_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
Chris@16 102 # define BOOST_DYN_LINK
Chris@16 103 # endif
Chris@16 104 # include <boost/config/auto_link.hpp>
Chris@16 105 #endif
Chris@16 106
Chris@16 107 #if !(defined(BOOST_INTEL) && defined(__APPLE__)) && !(defined(__FLT_EVAL_METHOD__) && !defined(__cplusplus))
Chris@16 108 #ifndef FLT_EVAL_METHOD
Chris@16 109 typedef float float_t;
Chris@16 110 typedef double double_t;
Chris@16 111 #elif FLT_EVAL_METHOD == 0
Chris@16 112 typedef float float_t;
Chris@16 113 typedef double double_t;
Chris@16 114 #elif FLT_EVAL_METHOD == 1
Chris@16 115 typedef double float_t;
Chris@16 116 typedef double double_t;
Chris@16 117 #else
Chris@16 118 typedef long double float_t;
Chris@16 119 typedef long double double_t;
Chris@16 120 #endif
Chris@16 121 #endif
Chris@16 122
Chris@16 123 // C99 Functions:
Chris@16 124 double BOOST_MATH_TR1_DECL boost_acosh BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 125 float BOOST_MATH_TR1_DECL boost_acoshf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 126 long double BOOST_MATH_TR1_DECL boost_acoshl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 127
Chris@16 128 double BOOST_MATH_TR1_DECL boost_asinh BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 129 float BOOST_MATH_TR1_DECL boost_asinhf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 130 long double BOOST_MATH_TR1_DECL boost_asinhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 131
Chris@16 132 double BOOST_MATH_TR1_DECL boost_atanh BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 133 float BOOST_MATH_TR1_DECL boost_atanhf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 134 long double BOOST_MATH_TR1_DECL boost_atanhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 135
Chris@16 136 double BOOST_MATH_TR1_DECL boost_cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 137 float BOOST_MATH_TR1_DECL boost_cbrtf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 138 long double BOOST_MATH_TR1_DECL boost_cbrtl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 139
Chris@16 140 double BOOST_MATH_TR1_DECL boost_copysign BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 141 float BOOST_MATH_TR1_DECL boost_copysignf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 142 long double BOOST_MATH_TR1_DECL boost_copysignl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 143
Chris@16 144 double BOOST_MATH_TR1_DECL boost_erf BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 145 float BOOST_MATH_TR1_DECL boost_erff BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 146 long double BOOST_MATH_TR1_DECL boost_erfl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 147
Chris@16 148 double BOOST_MATH_TR1_DECL boost_erfc BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 149 float BOOST_MATH_TR1_DECL boost_erfcf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 150 long double BOOST_MATH_TR1_DECL boost_erfcl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 151 #if 0
Chris@16 152 double BOOST_MATH_TR1_DECL boost_exp2 BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 153 float BOOST_MATH_TR1_DECL boost_exp2f BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 154 long double BOOST_MATH_TR1_DECL boost_exp2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 155 #endif
Chris@16 156 double BOOST_MATH_TR1_DECL boost_expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 157 float BOOST_MATH_TR1_DECL boost_expm1f BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 158 long double BOOST_MATH_TR1_DECL boost_expm1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 159 #if 0
Chris@16 160 double BOOST_MATH_TR1_DECL boost_fdim BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 161 float BOOST_MATH_TR1_DECL boost_fdimf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 162 long double BOOST_MATH_TR1_DECL boost_fdiml BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 163 double BOOST_MATH_TR1_DECL boost_fma BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y, double z) BOOST_MATH_C99_THROW_SPEC;
Chris@16 164 float BOOST_MATH_TR1_DECL boost_fmaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y, float z) BOOST_MATH_C99_THROW_SPEC;
Chris@16 165 long double BOOST_MATH_TR1_DECL boost_fmal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y, long double z) BOOST_MATH_C99_THROW_SPEC;
Chris@16 166 #endif
Chris@16 167 double BOOST_MATH_TR1_DECL boost_fmax BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 168 float BOOST_MATH_TR1_DECL boost_fmaxf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 169 long double BOOST_MATH_TR1_DECL boost_fmaxl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 170
Chris@16 171 double BOOST_MATH_TR1_DECL boost_fmin BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 172 float BOOST_MATH_TR1_DECL boost_fminf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 173 long double BOOST_MATH_TR1_DECL boost_fminl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 174
Chris@16 175 double BOOST_MATH_TR1_DECL boost_hypot BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 176 float BOOST_MATH_TR1_DECL boost_hypotf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 177 long double BOOST_MATH_TR1_DECL boost_hypotl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 178 #if 0
Chris@16 179 int BOOST_MATH_TR1_DECL boost_ilogb BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 180 int BOOST_MATH_TR1_DECL boost_ilogbf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 181 int BOOST_MATH_TR1_DECL boost_ilogbl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 182 #endif
Chris@16 183 double BOOST_MATH_TR1_DECL boost_lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 184 float BOOST_MATH_TR1_DECL boost_lgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 185 long double BOOST_MATH_TR1_DECL boost_lgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 186 #ifdef BOOST_HAS_LONG_LONG
Chris@16 187 #if 0
Chris@16 188 ::boost::long_long_type BOOST_MATH_TR1_DECL boost_llrint BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 189 ::boost::long_long_type BOOST_MATH_TR1_DECL boost_llrintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 190 ::boost::long_long_type BOOST_MATH_TR1_DECL boost_llrintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 191 #endif
Chris@16 192 ::boost::long_long_type BOOST_MATH_TR1_DECL boost_llround BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 193 ::boost::long_long_type BOOST_MATH_TR1_DECL boost_llroundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 194 ::boost::long_long_type BOOST_MATH_TR1_DECL boost_llroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 195 #endif
Chris@16 196 double BOOST_MATH_TR1_DECL boost_log1p BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 197 float BOOST_MATH_TR1_DECL boost_log1pf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 198 long double BOOST_MATH_TR1_DECL boost_log1pl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 199 #if 0
Chris@16 200 double BOOST_MATH_TR1_DECL log2 BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 201 float BOOST_MATH_TR1_DECL log2f BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 202 long double BOOST_MATH_TR1_DECL log2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 203
Chris@16 204 double BOOST_MATH_TR1_DECL logb BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 205 float BOOST_MATH_TR1_DECL logbf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 206 long double BOOST_MATH_TR1_DECL logbl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 207 long BOOST_MATH_TR1_DECL lrint BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 208 long BOOST_MATH_TR1_DECL lrintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 209 long BOOST_MATH_TR1_DECL lrintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 210 #endif
Chris@16 211 long BOOST_MATH_TR1_DECL boost_lround BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 212 long BOOST_MATH_TR1_DECL boost_lroundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 213 long BOOST_MATH_TR1_DECL boost_lroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 214 #if 0
Chris@16 215 double BOOST_MATH_TR1_DECL nan BOOST_PREVENT_MACRO_SUBSTITUTION(const char *str) BOOST_MATH_C99_THROW_SPEC;
Chris@16 216 float BOOST_MATH_TR1_DECL nanf BOOST_PREVENT_MACRO_SUBSTITUTION(const char *str) BOOST_MATH_C99_THROW_SPEC;
Chris@16 217 long double BOOST_MATH_TR1_DECL nanl BOOST_PREVENT_MACRO_SUBSTITUTION(const char *str) BOOST_MATH_C99_THROW_SPEC;
Chris@16 218 double BOOST_MATH_TR1_DECL nearbyint BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 219 float BOOST_MATH_TR1_DECL nearbyintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 220 long double BOOST_MATH_TR1_DECL nearbyintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 221 #endif
Chris@16 222 double BOOST_MATH_TR1_DECL boost_nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 223 float BOOST_MATH_TR1_DECL boost_nextafterf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 224 long double BOOST_MATH_TR1_DECL boost_nextafterl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 225
Chris@16 226 double BOOST_MATH_TR1_DECL boost_nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(double x, long double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 227 float BOOST_MATH_TR1_DECL boost_nexttowardf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, long double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 228 long double BOOST_MATH_TR1_DECL boost_nexttowardl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 229 #if 0
Chris@16 230 double BOOST_MATH_TR1_DECL boost_remainder BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 231 float BOOST_MATH_TR1_DECL boost_remainderf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 232 long double BOOST_MATH_TR1_DECL boost_remainderl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 233 double BOOST_MATH_TR1_DECL boost_remquo BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y, int *pquo) BOOST_MATH_C99_THROW_SPEC;
Chris@16 234 float BOOST_MATH_TR1_DECL boost_remquof BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y, int *pquo) BOOST_MATH_C99_THROW_SPEC;
Chris@16 235 long double BOOST_MATH_TR1_DECL boost_remquol BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y, int *pquo) BOOST_MATH_C99_THROW_SPEC;
Chris@16 236 double BOOST_MATH_TR1_DECL boost_rint BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 237 float BOOST_MATH_TR1_DECL boost_rintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 238 long double BOOST_MATH_TR1_DECL boost_rintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 239 #endif
Chris@16 240 double BOOST_MATH_TR1_DECL boost_round BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 241 float BOOST_MATH_TR1_DECL boost_roundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 242 long double BOOST_MATH_TR1_DECL boost_roundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 243 #if 0
Chris@16 244 double BOOST_MATH_TR1_DECL boost_scalbln BOOST_PREVENT_MACRO_SUBSTITUTION(double x, long ex) BOOST_MATH_C99_THROW_SPEC;
Chris@16 245 float BOOST_MATH_TR1_DECL boost_scalblnf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, long ex) BOOST_MATH_C99_THROW_SPEC;
Chris@16 246 long double BOOST_MATH_TR1_DECL boost_scalblnl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long ex) BOOST_MATH_C99_THROW_SPEC;
Chris@16 247 double BOOST_MATH_TR1_DECL boost_scalbn BOOST_PREVENT_MACRO_SUBSTITUTION(double x, int ex) BOOST_MATH_C99_THROW_SPEC;
Chris@16 248 float BOOST_MATH_TR1_DECL boost_scalbnf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, int ex) BOOST_MATH_C99_THROW_SPEC;
Chris@16 249 long double BOOST_MATH_TR1_DECL boost_scalbnl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, int ex) BOOST_MATH_C99_THROW_SPEC;
Chris@16 250 #endif
Chris@16 251 double BOOST_MATH_TR1_DECL boost_tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 252 float BOOST_MATH_TR1_DECL boost_tgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 253 long double BOOST_MATH_TR1_DECL boost_tgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 254
Chris@16 255 double BOOST_MATH_TR1_DECL boost_trunc BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 256 float BOOST_MATH_TR1_DECL boost_truncf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 257 long double BOOST_MATH_TR1_DECL boost_truncl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 258
Chris@16 259 // [5.2.1.1] associated Laguerre polynomials:
Chris@16 260 double BOOST_MATH_TR1_DECL boost_assoc_laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 261 float BOOST_MATH_TR1_DECL boost_assoc_laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 262 long double BOOST_MATH_TR1_DECL boost_assoc_laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 263
Chris@16 264 // [5.2.1.2] associated Legendre functions:
Chris@16 265 double BOOST_MATH_TR1_DECL boost_assoc_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 266 float BOOST_MATH_TR1_DECL boost_assoc_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 267 long double BOOST_MATH_TR1_DECL boost_assoc_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 268
Chris@16 269 // [5.2.1.3] beta function:
Chris@16 270 double BOOST_MATH_TR1_DECL boost_beta BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 271 float BOOST_MATH_TR1_DECL boost_betaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 272 long double BOOST_MATH_TR1_DECL boost_betal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
Chris@16 273
Chris@16 274 // [5.2.1.4] (complete) elliptic integral of the first kind:
Chris@16 275 double BOOST_MATH_TR1_DECL boost_comp_ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(double k) BOOST_MATH_C99_THROW_SPEC;
Chris@16 276 float BOOST_MATH_TR1_DECL boost_comp_ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(float k) BOOST_MATH_C99_THROW_SPEC;
Chris@16 277 long double BOOST_MATH_TR1_DECL boost_comp_ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k) BOOST_MATH_C99_THROW_SPEC;
Chris@16 278
Chris@16 279 // [5.2.1.5] (complete) elliptic integral of the second kind:
Chris@16 280 double BOOST_MATH_TR1_DECL boost_comp_ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(double k) BOOST_MATH_C99_THROW_SPEC;
Chris@16 281 float BOOST_MATH_TR1_DECL boost_comp_ellint_2f BOOST_PREVENT_MACRO_SUBSTITUTION(float k) BOOST_MATH_C99_THROW_SPEC;
Chris@16 282 long double BOOST_MATH_TR1_DECL boost_comp_ellint_2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k) BOOST_MATH_C99_THROW_SPEC;
Chris@16 283
Chris@16 284 // [5.2.1.6] (complete) elliptic integral of the third kind:
Chris@16 285 double BOOST_MATH_TR1_DECL boost_comp_ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double nu) BOOST_MATH_C99_THROW_SPEC;
Chris@16 286 float BOOST_MATH_TR1_DECL boost_comp_ellint_3f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float nu) BOOST_MATH_C99_THROW_SPEC;
Chris@16 287 long double BOOST_MATH_TR1_DECL boost_comp_ellint_3l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double nu) BOOST_MATH_C99_THROW_SPEC;
Chris@16 288 #if 0
Chris@16 289 // [5.2.1.7] confluent hypergeometric functions:
Chris@16 290 double BOOST_MATH_TR1_DECL conf_hyperg BOOST_PREVENT_MACRO_SUBSTITUTION(double a, double c, double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 291 float BOOST_MATH_TR1_DECL conf_hypergf BOOST_PREVENT_MACRO_SUBSTITUTION(float a, float c, float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 292 long double BOOST_MATH_TR1_DECL conf_hypergl BOOST_PREVENT_MACRO_SUBSTITUTION(long double a, long double c, long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 293 #endif
Chris@16 294 // [5.2.1.8] regular modified cylindrical Bessel functions:
Chris@16 295 double BOOST_MATH_TR1_DECL boost_cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 296 float BOOST_MATH_TR1_DECL boost_cyl_bessel_if BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 297 long double BOOST_MATH_TR1_DECL boost_cyl_bessel_il BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 298
Chris@16 299 // [5.2.1.9] cylindrical Bessel functions (of the first kind):
Chris@16 300 double BOOST_MATH_TR1_DECL boost_cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 301 float BOOST_MATH_TR1_DECL boost_cyl_bessel_jf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 302 long double BOOST_MATH_TR1_DECL boost_cyl_bessel_jl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 303
Chris@16 304 // [5.2.1.10] irregular modified cylindrical Bessel functions:
Chris@16 305 double BOOST_MATH_TR1_DECL boost_cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 306 float BOOST_MATH_TR1_DECL boost_cyl_bessel_kf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 307 long double BOOST_MATH_TR1_DECL boost_cyl_bessel_kl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 308
Chris@16 309 // [5.2.1.11] cylindrical Neumann functions BOOST_MATH_C99_THROW_SPEC;
Chris@16 310 // cylindrical Bessel functions (of the second kind):
Chris@16 311 double BOOST_MATH_TR1_DECL boost_cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 312 float BOOST_MATH_TR1_DECL boost_cyl_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 313 long double BOOST_MATH_TR1_DECL boost_cyl_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 314
Chris@16 315 // [5.2.1.12] (incomplete) elliptic integral of the first kind:
Chris@16 316 double BOOST_MATH_TR1_DECL boost_ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double phi) BOOST_MATH_C99_THROW_SPEC;
Chris@16 317 float BOOST_MATH_TR1_DECL boost_ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi) BOOST_MATH_C99_THROW_SPEC;
Chris@16 318 long double BOOST_MATH_TR1_DECL boost_ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi) BOOST_MATH_C99_THROW_SPEC;
Chris@16 319
Chris@16 320 // [5.2.1.13] (incomplete) elliptic integral of the second kind:
Chris@16 321 double BOOST_MATH_TR1_DECL boost_ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double phi) BOOST_MATH_C99_THROW_SPEC;
Chris@16 322 float BOOST_MATH_TR1_DECL boost_ellint_2f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi) BOOST_MATH_C99_THROW_SPEC;
Chris@16 323 long double BOOST_MATH_TR1_DECL boost_ellint_2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi) BOOST_MATH_C99_THROW_SPEC;
Chris@16 324
Chris@16 325 // [5.2.1.14] (incomplete) elliptic integral of the third kind:
Chris@16 326 double BOOST_MATH_TR1_DECL boost_ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double nu, double phi) BOOST_MATH_C99_THROW_SPEC;
Chris@16 327 float BOOST_MATH_TR1_DECL boost_ellint_3f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float nu, float phi) BOOST_MATH_C99_THROW_SPEC;
Chris@16 328 long double BOOST_MATH_TR1_DECL boost_ellint_3l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double nu, long double phi) BOOST_MATH_C99_THROW_SPEC;
Chris@16 329
Chris@16 330 // [5.2.1.15] exponential integral:
Chris@16 331 double BOOST_MATH_TR1_DECL boost_expint BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 332 float BOOST_MATH_TR1_DECL boost_expintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 333 long double BOOST_MATH_TR1_DECL boost_expintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 334
Chris@16 335 // [5.2.1.16] Hermite polynomials:
Chris@16 336 double BOOST_MATH_TR1_DECL boost_hermite BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 337 float BOOST_MATH_TR1_DECL boost_hermitef BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 338 long double BOOST_MATH_TR1_DECL boost_hermitel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 339
Chris@16 340 #if 0
Chris@16 341 // [5.2.1.17] hypergeometric functions:
Chris@16 342 double BOOST_MATH_TR1_DECL hyperg BOOST_PREVENT_MACRO_SUBSTITUTION(double a, double b, double c, double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 343 float BOOST_MATH_TR1_DECL hypergf BOOST_PREVENT_MACRO_SUBSTITUTION(float a, float b, float c, float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 344 long double BOOST_MATH_TR1_DECL hypergl BOOST_PREVENT_MACRO_SUBSTITUTION(long double a, long double b, long double c,
Chris@16 345 long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 346 #endif
Chris@16 347
Chris@16 348 // [5.2.1.18] Laguerre polynomials:
Chris@16 349 double BOOST_MATH_TR1_DECL boost_laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 350 float BOOST_MATH_TR1_DECL boost_laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 351 long double BOOST_MATH_TR1_DECL boost_laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 352
Chris@16 353 // [5.2.1.19] Legendre polynomials:
Chris@16 354 double BOOST_MATH_TR1_DECL boost_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 355 float BOOST_MATH_TR1_DECL boost_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 356 long double BOOST_MATH_TR1_DECL boost_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 357
Chris@16 358 // [5.2.1.20] Riemann zeta function:
Chris@16 359 double BOOST_MATH_TR1_DECL boost_riemann_zeta BOOST_PREVENT_MACRO_SUBSTITUTION(double) BOOST_MATH_C99_THROW_SPEC;
Chris@16 360 float BOOST_MATH_TR1_DECL boost_riemann_zetaf BOOST_PREVENT_MACRO_SUBSTITUTION(float) BOOST_MATH_C99_THROW_SPEC;
Chris@16 361 long double BOOST_MATH_TR1_DECL boost_riemann_zetal BOOST_PREVENT_MACRO_SUBSTITUTION(long double) BOOST_MATH_C99_THROW_SPEC;
Chris@16 362
Chris@16 363 // [5.2.1.21] spherical Bessel functions (of the first kind):
Chris@16 364 double BOOST_MATH_TR1_DECL boost_sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 365 float BOOST_MATH_TR1_DECL boost_sph_besself BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 366 long double BOOST_MATH_TR1_DECL boost_sph_bessell BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 367
Chris@16 368 // [5.2.1.22] spherical associated Legendre functions:
Chris@16 369 double BOOST_MATH_TR1_DECL boost_sph_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, double theta) BOOST_MATH_C99_THROW_SPEC;
Chris@16 370 float BOOST_MATH_TR1_DECL boost_sph_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, float theta) BOOST_MATH_C99_THROW_SPEC;
Chris@16 371 long double BOOST_MATH_TR1_DECL boost_sph_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, long double theta) BOOST_MATH_C99_THROW_SPEC;
Chris@16 372
Chris@16 373 // [5.2.1.23] spherical Neumann functions BOOST_MATH_C99_THROW_SPEC;
Chris@16 374 // spherical Bessel functions (of the second kind):
Chris@16 375 double BOOST_MATH_TR1_DECL boost_sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 376 float BOOST_MATH_TR1_DECL boost_sph_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 377 long double BOOST_MATH_TR1_DECL boost_sph_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x) BOOST_MATH_C99_THROW_SPEC;
Chris@16 378
Chris@16 379 #ifdef __cplusplus
Chris@16 380
Chris@16 381 }}}} // namespaces
Chris@16 382
Chris@16 383 #include <boost/math/tools/promotion.hpp>
Chris@16 384
Chris@16 385 namespace boost{ namespace math{ namespace tr1{
Chris@16 386 //
Chris@16 387 // Declare overload of the functions which forward to the
Chris@16 388 // C interfaces:
Chris@16 389 //
Chris@16 390 // C99 Functions:
Chris@16 391 inline double acosh BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 392 { return boost::math::tr1::boost_acosh BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 393 inline float acoshf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 394 { return boost::math::tr1::boost_acoshf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 395 inline long double acoshl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 396 { return boost::math::tr1::boost_acoshl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 397 inline float acosh BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 398 { return boost::math::tr1::acoshf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 399 inline long double acosh BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 400 { return boost::math::tr1::acoshl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 401 template <class T>
Chris@16 402 inline typename tools::promote_args<T>::type acosh BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 403 { return boost::math::tr1::acosh BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 404
Chris@16 405 inline double asinh BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 406 { return boost::math::tr1::boost_asinh BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 407 inline float asinhf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 408 { return boost::math::tr1::boost_asinhf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 409 inline long double asinhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 410 { return boost::math::tr1::boost_asinhl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 411 inline float asinh BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 412 { return boost::math::tr1::asinhf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 413 inline long double asinh BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 414 { return boost::math::tr1::asinhl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 415 template <class T>
Chris@16 416 inline typename tools::promote_args<T>::type asinh BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 417 { return boost::math::tr1::asinh BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 418
Chris@16 419 inline double atanh BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 420 { return boost::math::tr1::boost_atanh BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 421 inline float atanhf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 422 { return boost::math::tr1::boost_atanhf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 423 inline long double atanhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 424 { return boost::math::tr1::boost_atanhl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 425 inline float atanh BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 426 { return boost::math::tr1::atanhf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 427 inline long double atanh BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 428 { return boost::math::tr1::atanhl(x); }
Chris@16 429 template <class T>
Chris@16 430 inline typename tools::promote_args<T>::type atanh BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 431 { return boost::math::tr1::atanh BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 432
Chris@16 433 inline double cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 434 { return boost::math::tr1::boost_cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 435 inline float cbrtf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 436 { return boost::math::tr1::boost_cbrtf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 437 inline long double cbrtl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 438 { return boost::math::tr1::boost_cbrtl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 439 inline float cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 440 { return boost::math::tr1::cbrtf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 441 inline long double cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 442 { return boost::math::tr1::cbrtl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 443 template <class T>
Chris@16 444 inline typename tools::promote_args<T>::type cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 445 { return boost::math::tr1::cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 446
Chris@16 447 inline double copysign BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y)
Chris@16 448 { return boost::math::tr1::boost_copysign BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 449 inline float copysignf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 450 { return boost::math::tr1::boost_copysignf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 451 inline long double copysignl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 452 { return boost::math::tr1::boost_copysignl BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 453 inline float copysign BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 454 { return boost::math::tr1::copysignf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 455 inline long double copysign BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 456 { return boost::math::tr1::copysignl BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 457 template <class T1, class T2>
Chris@16 458 inline typename tools::promote_args<T1, T2>::type copysign BOOST_PREVENT_MACRO_SUBSTITUTION(T1 x, T2 y)
Chris@16 459 { return boost::math::tr1::copysign BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2>::type>(x), static_cast<typename tools::promote_args<T1, T2>::type>(y)); }
Chris@16 460
Chris@16 461 inline double erf BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 462 { return boost::math::tr1::boost_erf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 463 inline float erff BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 464 { return boost::math::tr1::boost_erff BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 465 inline long double erfl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 466 { return boost::math::tr1::boost_erfl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 467 inline float erf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 468 { return boost::math::tr1::erff BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 469 inline long double erf BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 470 { return boost::math::tr1::erfl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 471 template <class T>
Chris@16 472 inline typename tools::promote_args<T>::type erf BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 473 { return boost::math::tr1::erf BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 474
Chris@16 475 inline double erfc BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 476 { return boost::math::tr1::boost_erfc BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 477 inline float erfcf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 478 { return boost::math::tr1::boost_erfcf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 479 inline long double erfcl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 480 { return boost::math::tr1::boost_erfcl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 481 inline float erfc BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 482 { return boost::math::tr1::erfcf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 483 inline long double erfc BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 484 { return boost::math::tr1::erfcl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 485 template <class T>
Chris@16 486 inline typename tools::promote_args<T>::type erfc BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 487 { return boost::math::tr1::erfc BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 488
Chris@16 489 #if 0
Chris@16 490 double exp2 BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
Chris@16 491 float exp2f BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
Chris@16 492 long double exp2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
Chris@16 493 #endif
Chris@16 494
Chris@16 495 inline float expm1f BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 496 { return boost::math::tr1::boost_expm1f BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 497 inline double expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 498 { return boost::math::tr1::boost_expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 499 inline long double expm1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 500 { return boost::math::tr1::boost_expm1l BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 501 inline float expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 502 { return boost::math::tr1::expm1f BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 503 inline long double expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 504 { return boost::math::tr1::expm1l BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 505 template <class T>
Chris@16 506 inline typename tools::promote_args<T>::type expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 507 { return boost::math::tr1::expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 508
Chris@16 509 #if 0
Chris@16 510 double fdim BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y);
Chris@16 511 float fdimf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y);
Chris@16 512 long double fdiml BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y);
Chris@16 513 double fma BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y, double z);
Chris@16 514 float fmaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y, float z);
Chris@16 515 long double fmal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y, long double z);
Chris@16 516 #endif
Chris@16 517 inline double fmax BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y)
Chris@16 518 { return boost::math::tr1::boost_fmax BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 519 inline float fmaxf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 520 { return boost::math::tr1::boost_fmaxf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 521 inline long double fmaxl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 522 { return boost::math::tr1::boost_fmaxl BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 523 inline float fmax BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 524 { return boost::math::tr1::fmaxf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 525 inline long double fmax BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 526 { return boost::math::tr1::fmaxl BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 527 template <class T1, class T2>
Chris@16 528 inline typename tools::promote_args<T1, T2>::type fmax BOOST_PREVENT_MACRO_SUBSTITUTION(T1 x, T2 y)
Chris@16 529 { return boost::math::tr1::fmax BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2>::type>(x), static_cast<typename tools::promote_args<T1, T2>::type>(y)); }
Chris@16 530
Chris@16 531 inline double fmin BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y)
Chris@16 532 { return boost::math::tr1::boost_fmin BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 533 inline float fminf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 534 { return boost::math::tr1::boost_fminf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 535 inline long double fminl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 536 { return boost::math::tr1::boost_fminl BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 537 inline float fmin BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 538 { return boost::math::tr1::fminf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 539 inline long double fmin BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 540 { return boost::math::tr1::fminl BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 541 template <class T1, class T2>
Chris@16 542 inline typename tools::promote_args<T1, T2>::type fmin BOOST_PREVENT_MACRO_SUBSTITUTION(T1 x, T2 y)
Chris@16 543 { return boost::math::tr1::fmin BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2>::type>(x), static_cast<typename tools::promote_args<T1, T2>::type>(y)); }
Chris@16 544
Chris@16 545 inline float hypotf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 546 { return boost::math::tr1::boost_hypotf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 547 inline double hypot BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y)
Chris@16 548 { return boost::math::tr1::boost_hypot BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 549 inline long double hypotl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 550 { return boost::math::tr1::boost_hypotl BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 551 inline float hypot BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 552 { return boost::math::tr1::hypotf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 553 inline long double hypot BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 554 { return boost::math::tr1::hypotl BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 555 template <class T1, class T2>
Chris@16 556 inline typename tools::promote_args<T1, T2>::type hypot BOOST_PREVENT_MACRO_SUBSTITUTION(T1 x, T2 y)
Chris@16 557 { return boost::math::tr1::hypot BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2>::type>(x), static_cast<typename tools::promote_args<T1, T2>::type>(y)); }
Chris@16 558
Chris@16 559 #if 0
Chris@16 560 int ilogb BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
Chris@16 561 int ilogbf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
Chris@16 562 int ilogbl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
Chris@16 563 #endif
Chris@16 564
Chris@16 565 inline float lgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 566 { return boost::math::tr1::boost_lgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 567 inline double lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 568 { return boost::math::tr1::boost_lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 569 inline long double lgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 570 { return boost::math::tr1::boost_lgammal BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 571 inline float lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 572 { return boost::math::tr1::lgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 573 inline long double lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 574 { return boost::math::tr1::lgammal BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 575 template <class T>
Chris@16 576 inline typename tools::promote_args<T>::type lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 577 { return boost::math::tr1::lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 578
Chris@16 579 #ifdef BOOST_HAS_LONG_LONG
Chris@16 580 #if 0
Chris@16 581 ::boost::long_long_type llrint BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
Chris@16 582 ::boost::long_long_type llrintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
Chris@16 583 ::boost::long_long_type llrintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
Chris@16 584 #endif
Chris@16 585
Chris@16 586 inline ::boost::long_long_type llroundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 587 { return boost::math::tr1::boost_llroundf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 588 inline ::boost::long_long_type llround BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 589 { return boost::math::tr1::boost_llround BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 590 inline ::boost::long_long_type llroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 591 { return boost::math::tr1::boost_llroundl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 592 inline ::boost::long_long_type llround BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 593 { return boost::math::tr1::llroundf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 594 inline ::boost::long_long_type llround BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 595 { return boost::math::tr1::llroundl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 596 template <class T>
Chris@16 597 inline ::boost::long_long_type llround BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 598 { return llround BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<double>(x)); }
Chris@16 599 #endif
Chris@16 600
Chris@16 601 inline float log1pf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 602 { return boost::math::tr1::boost_log1pf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 603 inline double log1p BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 604 { return boost::math::tr1::boost_log1p BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 605 inline long double log1pl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 606 { return boost::math::tr1::boost_log1pl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 607 inline float log1p BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 608 { return boost::math::tr1::log1pf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 609 inline long double log1p BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 610 { return boost::math::tr1::log1pl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 611 template <class T>
Chris@16 612 inline typename tools::promote_args<T>::type log1p BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 613 { return boost::math::tr1::log1p BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 614 #if 0
Chris@16 615 double log2 BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
Chris@16 616 float log2f BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
Chris@16 617 long double log2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
Chris@16 618
Chris@16 619 double logb BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
Chris@16 620 float logbf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
Chris@16 621 long double logbl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
Chris@16 622 long lrint BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
Chris@16 623 long lrintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
Chris@16 624 long lrintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
Chris@16 625 #endif
Chris@16 626 inline long lroundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 627 { return boost::math::tr1::boost_lroundf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 628 inline long lround BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 629 { return boost::math::tr1::boost_lround BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 630 inline long lroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 631 { return boost::math::tr1::boost_lroundl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 632 inline long lround BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 633 { return boost::math::tr1::lroundf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 634 inline long lround BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 635 { return boost::math::tr1::lroundl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 636 template <class T>
Chris@16 637 long lround BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 638 { return boost::math::tr1::lround BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<double>(x)); }
Chris@16 639 #if 0
Chris@16 640 double nan BOOST_PREVENT_MACRO_SUBSTITUTION(const char *str);
Chris@16 641 float nanf BOOST_PREVENT_MACRO_SUBSTITUTION(const char *str);
Chris@16 642 long double nanl BOOST_PREVENT_MACRO_SUBSTITUTION(const char *str);
Chris@16 643 double nearbyint BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
Chris@16 644 float nearbyintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
Chris@16 645 long double nearbyintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
Chris@16 646 #endif
Chris@16 647 inline float nextafterf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 648 { return boost::math::tr1::boost_nextafterf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 649 inline double nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y)
Chris@16 650 { return boost::math::tr1::boost_nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 651 inline long double nextafterl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 652 { return boost::math::tr1::boost_nextafterl BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 653 inline float nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 654 { return boost::math::tr1::nextafterf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 655 inline long double nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 656 { return boost::math::tr1::nextafterl BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 657 template <class T1, class T2>
Chris@16 658 inline typename tools::promote_args<T1, T2>::type nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(T1 x, T2 y)
Chris@16 659 { return boost::math::tr1::nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2>::type>(x), static_cast<typename tools::promote_args<T1, T2>::type>(y)); }
Chris@16 660
Chris@16 661 inline float nexttowardf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 662 { return boost::math::tr1::boost_nexttowardf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 663 inline double nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y)
Chris@16 664 { return boost::math::tr1::boost_nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 665 inline long double nexttowardl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 666 { return boost::math::tr1::boost_nexttowardl BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 667 inline float nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 668 { return boost::math::tr1::nexttowardf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 669 inline long double nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 670 { return boost::math::tr1::nexttowardl BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 671 template <class T1, class T2>
Chris@16 672 inline typename tools::promote_args<T1, T2>::type nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(T1 x, T2 y)
Chris@16 673 { return boost::math::tr1::nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2>::type>(x), static_cast<long double>(y)); }
Chris@16 674 #if 0
Chris@16 675 double remainder BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y);
Chris@16 676 float remainderf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y);
Chris@16 677 long double remainderl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y);
Chris@16 678 double remquo BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y, int *pquo);
Chris@16 679 float remquof BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y, int *pquo);
Chris@16 680 long double remquol BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y, int *pquo);
Chris@16 681 double rint BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
Chris@16 682 float rintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
Chris@16 683 long double rintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
Chris@16 684 #endif
Chris@16 685 inline float roundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 686 { return boost::math::tr1::boost_roundf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 687 inline double round BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 688 { return boost::math::tr1::boost_round BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 689 inline long double roundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 690 { return boost::math::tr1::boost_roundl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 691 inline float round BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 692 { return boost::math::tr1::roundf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 693 inline long double round BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 694 { return boost::math::tr1::roundl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 695 template <class T>
Chris@16 696 inline typename tools::promote_args<T>::type round BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 697 { return boost::math::tr1::round BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 698 #if 0
Chris@16 699 double scalbln BOOST_PREVENT_MACRO_SUBSTITUTION(double x, long ex);
Chris@16 700 float scalblnf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, long ex);
Chris@16 701 long double scalblnl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long ex);
Chris@16 702 double scalbn BOOST_PREVENT_MACRO_SUBSTITUTION(double x, int ex);
Chris@16 703 float scalbnf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, int ex);
Chris@16 704 long double scalbnl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, int ex);
Chris@16 705 #endif
Chris@16 706 inline float tgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 707 { return boost::math::tr1::boost_tgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 708 inline double tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 709 { return boost::math::tr1::boost_tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 710 inline long double tgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 711 { return boost::math::tr1::boost_tgammal BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 712 inline float tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 713 { return boost::math::tr1::tgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 714 inline long double tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 715 { return boost::math::tr1::tgammal BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 716 template <class T>
Chris@16 717 inline typename tools::promote_args<T>::type tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 718 { return boost::math::tr1::tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 719
Chris@16 720 inline float truncf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 721 { return boost::math::tr1::boost_truncf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 722 inline double trunc BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 723 { return boost::math::tr1::boost_trunc BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 724 inline long double truncl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 725 { return boost::math::tr1::boost_truncl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 726 inline float trunc BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 727 { return boost::math::tr1::truncf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 728 inline long double trunc BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 729 { return boost::math::tr1::truncl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 730 template <class T>
Chris@16 731 inline typename tools::promote_args<T>::type trunc BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 732 { return boost::math::tr1::trunc BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 733
Chris@16 734 # define NO_MACRO_EXPAND /**/
Chris@16 735 // C99 macros defined as C++ templates
Chris@16 736 template<class T> bool signbit NO_MACRO_EXPAND(T x)
Chris@16 737 { BOOST_STATIC_ASSERT(sizeof(T) == 0); return false; } // must not be instantiated
Chris@16 738 template<> bool BOOST_MATH_TR1_DECL signbit<float> NO_MACRO_EXPAND(float x);
Chris@16 739 template<> bool BOOST_MATH_TR1_DECL signbit<double> NO_MACRO_EXPAND(double x);
Chris@16 740 template<> bool BOOST_MATH_TR1_DECL signbit<long double> NO_MACRO_EXPAND(long double x);
Chris@16 741
Chris@16 742 template<class T> int fpclassify NO_MACRO_EXPAND(T x)
Chris@16 743 { BOOST_STATIC_ASSERT(sizeof(T) == 0); return false; } // must not be instantiated
Chris@16 744 template<> int BOOST_MATH_TR1_DECL fpclassify<float> NO_MACRO_EXPAND(float x);
Chris@16 745 template<> int BOOST_MATH_TR1_DECL fpclassify<double> NO_MACRO_EXPAND(double x);
Chris@16 746 template<> int BOOST_MATH_TR1_DECL fpclassify<long double> NO_MACRO_EXPAND(long double x);
Chris@16 747
Chris@16 748 template<class T> bool isfinite NO_MACRO_EXPAND(T x)
Chris@16 749 { BOOST_STATIC_ASSERT(sizeof(T) == 0); return false; } // must not be instantiated
Chris@16 750 template<> bool BOOST_MATH_TR1_DECL isfinite<float> NO_MACRO_EXPAND(float x);
Chris@16 751 template<> bool BOOST_MATH_TR1_DECL isfinite<double> NO_MACRO_EXPAND(double x);
Chris@16 752 template<> bool BOOST_MATH_TR1_DECL isfinite<long double> NO_MACRO_EXPAND(long double x);
Chris@16 753
Chris@16 754 template<class T> bool isinf NO_MACRO_EXPAND(T x)
Chris@16 755 { BOOST_STATIC_ASSERT(sizeof(T) == 0); return false; } // must not be instantiated
Chris@16 756 template<> bool BOOST_MATH_TR1_DECL isinf<float> NO_MACRO_EXPAND(float x);
Chris@16 757 template<> bool BOOST_MATH_TR1_DECL isinf<double> NO_MACRO_EXPAND(double x);
Chris@16 758 template<> bool BOOST_MATH_TR1_DECL isinf<long double> NO_MACRO_EXPAND(long double x);
Chris@16 759
Chris@16 760 template<class T> bool isnan NO_MACRO_EXPAND(T x)
Chris@16 761 { BOOST_STATIC_ASSERT(sizeof(T) == 0); return false; } // must not be instantiated
Chris@16 762 template<> bool BOOST_MATH_TR1_DECL isnan<float> NO_MACRO_EXPAND(float x);
Chris@16 763 template<> bool BOOST_MATH_TR1_DECL isnan<double> NO_MACRO_EXPAND(double x);
Chris@16 764 template<> bool BOOST_MATH_TR1_DECL isnan<long double> NO_MACRO_EXPAND(long double x);
Chris@16 765
Chris@16 766 template<class T> bool isnormal NO_MACRO_EXPAND(T x)
Chris@16 767 { BOOST_STATIC_ASSERT(sizeof(T) == 0); return false; } // must not be instantiated
Chris@16 768 template<> bool BOOST_MATH_TR1_DECL isnormal<float> NO_MACRO_EXPAND(float x);
Chris@16 769 template<> bool BOOST_MATH_TR1_DECL isnormal<double> NO_MACRO_EXPAND(double x);
Chris@16 770 template<> bool BOOST_MATH_TR1_DECL isnormal<long double> NO_MACRO_EXPAND(long double x);
Chris@16 771
Chris@16 772 #undef NO_MACRO_EXPAND
Chris@16 773
Chris@16 774 // [5.2.1.1] associated Laguerre polynomials:
Chris@16 775 inline float assoc_laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, float x)
Chris@16 776 { return boost::math::tr1::boost_assoc_laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(n, m, x); }
Chris@16 777 inline double assoc_laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, double x)
Chris@16 778 { return boost::math::tr1::boost_assoc_laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(n, m, x); }
Chris@16 779 inline long double assoc_laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, long double x)
Chris@16 780 { return boost::math::tr1::boost_assoc_laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(n, m, x); }
Chris@16 781 inline float assoc_laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, float x)
Chris@16 782 { return boost::math::tr1::assoc_laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(n, m, x); }
Chris@16 783 inline long double assoc_laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, long double x)
Chris@16 784 { return boost::math::tr1::assoc_laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(n, m, x); }
Chris@16 785 template <class T>
Chris@16 786 inline typename tools::promote_args<T>::type assoc_laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, T x)
Chris@16 787 { return boost::math::tr1::assoc_laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(n, m, static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 788
Chris@16 789 // [5.2.1.2] associated Legendre functions:
Chris@16 790 inline float assoc_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, float x)
Chris@16 791 { return boost::math::tr1::boost_assoc_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, x); }
Chris@16 792 inline double assoc_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, double x)
Chris@16 793 { return boost::math::tr1::boost_assoc_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, x); }
Chris@16 794 inline long double assoc_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, long double x)
Chris@16 795 { return boost::math::tr1::boost_assoc_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, x); }
Chris@16 796 inline float assoc_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, float x)
Chris@16 797 { return boost::math::tr1::assoc_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, x); }
Chris@16 798 inline long double assoc_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, long double x)
Chris@16 799 { return boost::math::tr1::assoc_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, x); }
Chris@16 800 template <class T>
Chris@16 801 inline typename tools::promote_args<T>::type assoc_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, T x)
Chris@16 802 { return boost::math::tr1::assoc_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 803
Chris@16 804 // [5.2.1.3] beta function:
Chris@16 805 inline float betaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 806 { return boost::math::tr1::boost_betaf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 807 inline double beta BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y)
Chris@16 808 { return boost::math::tr1::boost_beta BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 809 inline long double betal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 810 { return boost::math::tr1::boost_betal BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 811 inline float beta BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
Chris@16 812 { return boost::math::tr1::betaf BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 813 inline long double beta BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
Chris@16 814 { return boost::math::tr1::betal BOOST_PREVENT_MACRO_SUBSTITUTION(x, y); }
Chris@16 815 template <class T1, class T2>
Chris@16 816 inline typename tools::promote_args<T1, T2>::type beta BOOST_PREVENT_MACRO_SUBSTITUTION(T2 x, T1 y)
Chris@16 817 { return boost::math::tr1::beta BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2>::type>(x), static_cast<typename tools::promote_args<T1, T2>::type>(y)); }
Chris@16 818
Chris@16 819 // [5.2.1.4] (complete) elliptic integral of the first kind:
Chris@16 820 inline float comp_ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(float k)
Chris@16 821 { return boost::math::tr1::boost_comp_ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(k); }
Chris@16 822 inline double comp_ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(double k)
Chris@16 823 { return boost::math::tr1::boost_comp_ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(k); }
Chris@16 824 inline long double comp_ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k)
Chris@16 825 { return boost::math::tr1::boost_comp_ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(k); }
Chris@16 826 inline float comp_ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(float k)
Chris@16 827 { return boost::math::tr1::comp_ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(k); }
Chris@16 828 inline long double comp_ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(long double k)
Chris@16 829 { return boost::math::tr1::comp_ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(k); }
Chris@16 830 template <class T>
Chris@16 831 inline typename tools::promote_args<T>::type comp_ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(T k)
Chris@16 832 { return boost::math::tr1::comp_ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(k)); }
Chris@16 833
Chris@16 834 // [5.2.1.5] (complete) elliptic integral of the second kind:
Chris@16 835 inline float comp_ellint_2f(float k)
Chris@16 836 { return boost::math::tr1::boost_comp_ellint_2f(k); }
Chris@16 837 inline double comp_ellint_2(double k)
Chris@16 838 { return boost::math::tr1::boost_comp_ellint_2(k); }
Chris@16 839 inline long double comp_ellint_2l(long double k)
Chris@16 840 { return boost::math::tr1::boost_comp_ellint_2l(k); }
Chris@16 841 inline float comp_ellint_2(float k)
Chris@16 842 { return boost::math::tr1::comp_ellint_2f(k); }
Chris@16 843 inline long double comp_ellint_2(long double k)
Chris@16 844 { return boost::math::tr1::comp_ellint_2l(k); }
Chris@16 845 template <class T>
Chris@16 846 inline typename tools::promote_args<T>::type comp_ellint_2(T k)
Chris@16 847 { return boost::math::tr1::comp_ellint_2(static_cast<typename tools::promote_args<T>::type> BOOST_PREVENT_MACRO_SUBSTITUTION(k)); }
Chris@16 848
Chris@16 849 // [5.2.1.6] (complete) elliptic integral of the third kind:
Chris@16 850 inline float comp_ellint_3f(float k, float nu)
Chris@16 851 { return boost::math::tr1::boost_comp_ellint_3f(k, nu); }
Chris@16 852 inline double comp_ellint_3(double k, double nu)
Chris@16 853 { return boost::math::tr1::boost_comp_ellint_3(k, nu); }
Chris@16 854 inline long double comp_ellint_3l(long double k, long double nu)
Chris@16 855 { return boost::math::tr1::boost_comp_ellint_3l(k, nu); }
Chris@16 856 inline float comp_ellint_3(float k, float nu)
Chris@16 857 { return boost::math::tr1::comp_ellint_3f(k, nu); }
Chris@16 858 inline long double comp_ellint_3(long double k, long double nu)
Chris@16 859 { return boost::math::tr1::comp_ellint_3l(k, nu); }
Chris@16 860 template <class T1, class T2>
Chris@16 861 inline typename tools::promote_args<T1, T2>::type comp_ellint_3(T1 k, T2 nu)
Chris@16 862 { return boost::math::tr1::comp_ellint_3(static_cast<typename tools::promote_args<T1, T2>::type> BOOST_PREVENT_MACRO_SUBSTITUTION(k), static_cast<typename tools::promote_args<T1, T2>::type> BOOST_PREVENT_MACRO_SUBSTITUTION(nu)); }
Chris@16 863
Chris@16 864 #if 0
Chris@16 865 // [5.2.1.7] confluent hypergeometric functions:
Chris@16 866 double conf_hyperg BOOST_PREVENT_MACRO_SUBSTITUTION(double a, double c, double x);
Chris@16 867 float conf_hypergf BOOST_PREVENT_MACRO_SUBSTITUTION(float a, float c, float x);
Chris@16 868 long double conf_hypergl BOOST_PREVENT_MACRO_SUBSTITUTION(long double a, long double c, long double x);
Chris@16 869 #endif
Chris@16 870
Chris@16 871 // [5.2.1.8] regular modified cylindrical Bessel functions:
Chris@16 872 inline float cyl_bessel_if BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x)
Chris@16 873 { return boost::math::tr1::boost_cyl_bessel_if BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 874 inline double cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x)
Chris@16 875 { return boost::math::tr1::boost_cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 876 inline long double cyl_bessel_il BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x)
Chris@16 877 { return boost::math::tr1::boost_cyl_bessel_il BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 878 inline float cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x)
Chris@16 879 { return boost::math::tr1::cyl_bessel_if BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 880 inline long double cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x)
Chris@16 881 { return boost::math::tr1::cyl_bessel_il BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 882 template <class T1, class T2>
Chris@16 883 inline typename tools::promote_args<T1, T2>::type cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(T1 nu, T2 x)
Chris@16 884 { return boost::math::tr1::cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2>::type>(nu), static_cast<typename tools::promote_args<T1, T2>::type>(x)); }
Chris@16 885
Chris@16 886 // [5.2.1.9] cylindrical Bessel functions (of the first kind):
Chris@16 887 inline float cyl_bessel_jf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x)
Chris@16 888 { return boost::math::tr1::boost_cyl_bessel_jf BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 889 inline double cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x)
Chris@16 890 { return boost::math::tr1::boost_cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 891 inline long double cyl_bessel_jl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x)
Chris@16 892 { return boost::math::tr1::boost_cyl_bessel_jl BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 893 inline float cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x)
Chris@16 894 { return boost::math::tr1::cyl_bessel_jf BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 895 inline long double cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x)
Chris@16 896 { return boost::math::tr1::cyl_bessel_jl BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 897 template <class T1, class T2>
Chris@16 898 inline typename tools::promote_args<T1, T2>::type cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(T1 nu, T2 x)
Chris@16 899 { return boost::math::tr1::cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2>::type>(nu), static_cast<typename tools::promote_args<T1, T2>::type>(x)); }
Chris@16 900
Chris@16 901 // [5.2.1.10] irregular modified cylindrical Bessel functions:
Chris@16 902 inline float cyl_bessel_kf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x)
Chris@16 903 { return boost::math::tr1::boost_cyl_bessel_kf BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 904 inline double cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x)
Chris@16 905 { return boost::math::tr1::boost_cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 906 inline long double cyl_bessel_kl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x)
Chris@16 907 { return boost::math::tr1::boost_cyl_bessel_kl BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 908 inline float cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x)
Chris@16 909 { return boost::math::tr1::cyl_bessel_kf BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 910 inline long double cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x)
Chris@16 911 { return boost::math::tr1::cyl_bessel_kl BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 912 template <class T1, class T2>
Chris@16 913 inline typename tools::promote_args<T1, T2>::type cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(T1 nu, T2 x)
Chris@16 914 { return boost::math::tr1::cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2>::type> BOOST_PREVENT_MACRO_SUBSTITUTION(nu), static_cast<typename tools::promote_args<T1, T2>::type>(x)); }
Chris@16 915
Chris@16 916 // [5.2.1.11] cylindrical Neumann functions;
Chris@16 917 // cylindrical Bessel functions (of the second kind):
Chris@16 918 inline float cyl_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x)
Chris@16 919 { return boost::math::tr1::boost_cyl_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 920 inline double cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x)
Chris@16 921 { return boost::math::tr1::boost_cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 922 inline long double cyl_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x)
Chris@16 923 { return boost::math::tr1::boost_cyl_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 924 inline float cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x)
Chris@16 925 { return boost::math::tr1::cyl_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 926 inline long double cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x)
Chris@16 927 { return boost::math::tr1::cyl_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); }
Chris@16 928 template <class T1, class T2>
Chris@16 929 inline typename tools::promote_args<T1, T2>::type cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(T1 nu, T2 x)
Chris@16 930 { return boost::math::tr1::cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2>::type>(nu), static_cast<typename tools::promote_args<T1, T2>::type>(x)); }
Chris@16 931
Chris@16 932 // [5.2.1.12] (incomplete) elliptic integral of the first kind:
Chris@16 933 inline float ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi)
Chris@16 934 { return boost::math::tr1::boost_ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi); }
Chris@16 935 inline double ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double phi)
Chris@16 936 { return boost::math::tr1::boost_ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi); }
Chris@16 937 inline long double ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi)
Chris@16 938 { return boost::math::tr1::boost_ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi); }
Chris@16 939 inline float ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi)
Chris@16 940 { return boost::math::tr1::ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi); }
Chris@16 941 inline long double ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi)
Chris@16 942 { return boost::math::tr1::ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi); }
Chris@16 943 template <class T1, class T2>
Chris@16 944 inline typename tools::promote_args<T1, T2>::type ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(T1 k, T2 phi)
Chris@16 945 { return boost::math::tr1::ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2>::type>(k), static_cast<typename tools::promote_args<T1, T2>::type>(phi)); }
Chris@16 946
Chris@16 947 // [5.2.1.13] (incomplete) elliptic integral of the second kind:
Chris@16 948 inline float ellint_2f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi)
Chris@16 949 { return boost::math::tr1::boost_ellint_2f BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi); }
Chris@16 950 inline double ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double phi)
Chris@16 951 { return boost::math::tr1::boost_ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi); }
Chris@16 952 inline long double ellint_2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi)
Chris@16 953 { return boost::math::tr1::boost_ellint_2l BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi); }
Chris@16 954 inline float ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi)
Chris@16 955 { return boost::math::tr1::ellint_2f BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi); }
Chris@16 956 inline long double ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi)
Chris@16 957 { return boost::math::tr1::ellint_2l BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi); }
Chris@16 958 template <class T1, class T2>
Chris@16 959 inline typename tools::promote_args<T1, T2>::type ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(T1 k, T2 phi)
Chris@16 960 { return boost::math::tr1::ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2>::type>(k), static_cast<typename tools::promote_args<T1, T2>::type>(phi)); }
Chris@16 961
Chris@16 962 // [5.2.1.14] (incomplete) elliptic integral of the third kind:
Chris@16 963 inline float ellint_3f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float nu, float phi)
Chris@16 964 { return boost::math::tr1::boost_ellint_3f BOOST_PREVENT_MACRO_SUBSTITUTION(k, nu, phi); }
Chris@16 965 inline double ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double nu, double phi)
Chris@16 966 { return boost::math::tr1::boost_ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(k, nu, phi); }
Chris@16 967 inline long double ellint_3l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double nu, long double phi)
Chris@16 968 { return boost::math::tr1::boost_ellint_3l BOOST_PREVENT_MACRO_SUBSTITUTION(k, nu, phi); }
Chris@16 969 inline float ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float nu, float phi)
Chris@16 970 { return boost::math::tr1::ellint_3f BOOST_PREVENT_MACRO_SUBSTITUTION(k, nu, phi); }
Chris@16 971 inline long double ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double nu, long double phi)
Chris@16 972 { return boost::math::tr1::ellint_3l BOOST_PREVENT_MACRO_SUBSTITUTION(k, nu, phi); }
Chris@16 973 template <class T1, class T2, class T3>
Chris@16 974 inline typename tools::promote_args<T1, T2, T3>::type ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(T1 k, T2 nu, T3 phi)
Chris@16 975 { return boost::math::tr1::ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T1, T2, T3>::type>(k), static_cast<typename tools::promote_args<T1, T2, T3>::type>(nu), static_cast<typename tools::promote_args<T1, T2, T3>::type>(phi)); }
Chris@16 976
Chris@16 977 // [5.2.1.15] exponential integral:
Chris@16 978 inline float expintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 979 { return boost::math::tr1::boost_expintf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 980 inline double expint BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
Chris@16 981 { return boost::math::tr1::boost_expint BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 982 inline long double expintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 983 { return boost::math::tr1::boost_expintl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 984 inline float expint BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
Chris@16 985 { return boost::math::tr1::expintf BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 986 inline long double expint BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
Chris@16 987 { return boost::math::tr1::expintl BOOST_PREVENT_MACRO_SUBSTITUTION(x); }
Chris@16 988 template <class T>
Chris@16 989 inline typename tools::promote_args<T>::type expint BOOST_PREVENT_MACRO_SUBSTITUTION(T x)
Chris@16 990 { return boost::math::tr1::expint BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 991
Chris@16 992 // [5.2.1.16] Hermite polynomials:
Chris@16 993 inline float hermitef BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x)
Chris@16 994 { return boost::math::tr1::boost_hermitef BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 995 inline double hermite BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x)
Chris@16 996 { return boost::math::tr1::boost_hermite BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 997 inline long double hermitel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x)
Chris@16 998 { return boost::math::tr1::boost_hermitel BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 999 inline float hermite BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x)
Chris@16 1000 { return boost::math::tr1::hermitef BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1001 inline long double hermite BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x)
Chris@16 1002 { return boost::math::tr1::hermitel BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1003 template <class T>
Chris@16 1004 inline typename tools::promote_args<T>::type hermite BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, T x)
Chris@16 1005 { return boost::math::tr1::hermite BOOST_PREVENT_MACRO_SUBSTITUTION(n, static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 1006
Chris@16 1007 #if 0
Chris@16 1008 // [5.2.1.17] hypergeometric functions:
Chris@16 1009 double hyperg BOOST_PREVENT_MACRO_SUBSTITUTION(double a, double b, double c, double x);
Chris@16 1010 float hypergf BOOST_PREVENT_MACRO_SUBSTITUTION(float a, float b, float c, float x);
Chris@16 1011 long double hypergl BOOST_PREVENT_MACRO_SUBSTITUTION(long double a, long double b, long double c,
Chris@16 1012 long double x);
Chris@16 1013 #endif
Chris@16 1014
Chris@16 1015 // [5.2.1.18] Laguerre polynomials:
Chris@16 1016 inline float laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x)
Chris@16 1017 { return boost::math::tr1::boost_laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1018 inline double laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x)
Chris@16 1019 { return boost::math::tr1::boost_laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1020 inline long double laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x)
Chris@16 1021 { return boost::math::tr1::boost_laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1022 inline float laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x)
Chris@16 1023 { return boost::math::tr1::laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1024 inline long double laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x)
Chris@16 1025 { return boost::math::tr1::laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1026 template <class T>
Chris@16 1027 inline typename tools::promote_args<T>::type laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, T x)
Chris@16 1028 { return boost::math::tr1::laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(n, static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 1029
Chris@16 1030 // [5.2.1.19] Legendre polynomials:
Chris@16 1031 inline float legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, float x)
Chris@16 1032 { return boost::math::tr1::boost_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(l, x); }
Chris@16 1033 inline double legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, double x)
Chris@16 1034 { return boost::math::tr1::boost_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(l, x); }
Chris@16 1035 inline long double legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, long double x)
Chris@16 1036 { return boost::math::tr1::boost_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(l, x); }
Chris@16 1037 inline float legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, float x)
Chris@16 1038 { return boost::math::tr1::legendref BOOST_PREVENT_MACRO_SUBSTITUTION(l, x); }
Chris@16 1039 inline long double legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, long double x)
Chris@16 1040 { return boost::math::tr1::legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(l, x); }
Chris@16 1041 template <class T>
Chris@16 1042 inline typename tools::promote_args<T>::type legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, T x)
Chris@16 1043 { return boost::math::tr1::legendre BOOST_PREVENT_MACRO_SUBSTITUTION(l, static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 1044
Chris@16 1045 // [5.2.1.20] Riemann zeta function:
Chris@16 1046 inline float riemann_zetaf BOOST_PREVENT_MACRO_SUBSTITUTION(float z)
Chris@16 1047 { return boost::math::tr1::boost_riemann_zetaf BOOST_PREVENT_MACRO_SUBSTITUTION(z); }
Chris@16 1048 inline double riemann_zeta BOOST_PREVENT_MACRO_SUBSTITUTION(double z)
Chris@16 1049 { return boost::math::tr1::boost_riemann_zeta BOOST_PREVENT_MACRO_SUBSTITUTION(z); }
Chris@16 1050 inline long double riemann_zetal BOOST_PREVENT_MACRO_SUBSTITUTION(long double z)
Chris@16 1051 { return boost::math::tr1::boost_riemann_zetal BOOST_PREVENT_MACRO_SUBSTITUTION(z); }
Chris@16 1052 inline float riemann_zeta BOOST_PREVENT_MACRO_SUBSTITUTION(float z)
Chris@16 1053 { return boost::math::tr1::riemann_zetaf BOOST_PREVENT_MACRO_SUBSTITUTION(z); }
Chris@16 1054 inline long double riemann_zeta BOOST_PREVENT_MACRO_SUBSTITUTION(long double z)
Chris@16 1055 { return boost::math::tr1::riemann_zetal BOOST_PREVENT_MACRO_SUBSTITUTION(z); }
Chris@16 1056 template <class T>
Chris@16 1057 inline typename tools::promote_args<T>::type riemann_zeta BOOST_PREVENT_MACRO_SUBSTITUTION(T z)
Chris@16 1058 { return boost::math::tr1::riemann_zeta BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast<typename tools::promote_args<T>::type>(z)); }
Chris@16 1059
Chris@16 1060 // [5.2.1.21] spherical Bessel functions (of the first kind):
Chris@16 1061 inline float sph_besself BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x)
Chris@16 1062 { return boost::math::tr1::boost_sph_besself BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1063 inline double sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x)
Chris@16 1064 { return boost::math::tr1::boost_sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1065 inline long double sph_bessell BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x)
Chris@16 1066 { return boost::math::tr1::boost_sph_bessell BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1067 inline float sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x)
Chris@16 1068 { return boost::math::tr1::sph_besself BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1069 inline long double sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x)
Chris@16 1070 { return boost::math::tr1::sph_bessell BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1071 template <class T>
Chris@16 1072 inline typename tools::promote_args<T>::type sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, T x)
Chris@16 1073 { return boost::math::tr1::sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(n, static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 1074
Chris@16 1075 // [5.2.1.22] spherical associated Legendre functions:
Chris@16 1076 inline float sph_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, float theta)
Chris@16 1077 { return boost::math::tr1::boost_sph_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, theta); }
Chris@16 1078 inline double sph_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, double theta)
Chris@16 1079 { return boost::math::tr1::boost_sph_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, theta); }
Chris@16 1080 inline long double sph_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, long double theta)
Chris@16 1081 { return boost::math::tr1::boost_sph_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, theta); }
Chris@16 1082 inline float sph_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, float theta)
Chris@16 1083 { return boost::math::tr1::sph_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, theta); }
Chris@16 1084 inline long double sph_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, long double theta)
Chris@16 1085 { return boost::math::tr1::sph_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, theta); }
Chris@16 1086 template <class T>
Chris@16 1087 inline typename tools::promote_args<T>::type sph_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, T theta)
Chris@16 1088 { return boost::math::tr1::sph_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, static_cast<typename tools::promote_args<T>::type>(theta)); }
Chris@16 1089
Chris@16 1090 // [5.2.1.23] spherical Neumann functions;
Chris@16 1091 // spherical Bessel functions (of the second kind):
Chris@16 1092 inline float sph_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x)
Chris@16 1093 { return boost::math::tr1::boost_sph_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1094 inline double sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x)
Chris@16 1095 { return boost::math::tr1::boost_sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1096 inline long double sph_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x)
Chris@16 1097 { return boost::math::tr1::boost_sph_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1098 inline float sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x)
Chris@16 1099 { return boost::math::tr1::sph_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1100 inline long double sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x)
Chris@16 1101 { return boost::math::tr1::sph_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(n, x); }
Chris@16 1102 template <class T>
Chris@16 1103 inline typename tools::promote_args<T>::type sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, T x)
Chris@16 1104 { return boost::math::tr1::sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(n, static_cast<typename tools::promote_args<T>::type>(x)); }
Chris@16 1105
Chris@16 1106 }}} // namespaces
Chris@16 1107
Chris@16 1108 #else // __cplusplus
Chris@16 1109
Chris@16 1110 #include <boost/math/tr1_c_macros.ipp>
Chris@16 1111
Chris@16 1112 #endif // __cplusplus
Chris@16 1113
Chris@16 1114 #endif // BOOST_MATH_TR1_HPP
Chris@16 1115