Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

C99 C Functions

Boost , Math Toolkit 2.5.0 , Chapter 7. TR1 and C99 external "C" Functions

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
Supported C99 Functions
namespace boost{ namespace math{ namespace tr1{ extern "C"{
typedef unspecified float_t;
typedef unspecified double_t;
double acosh(double x);
float acoshf(float x);
long double acoshl(long double x);
double asinh(double x);
float asinhf(float x);
long double asinhl(long double x);
double atanh(double x);
float atanhf(float x);
long double atanhl(long double x);
double cbrt(double x);
float cbrtf(float x);
long double cbrtl(long double x);
double copysign(double x, double y);
float copysignf(float x, float y);
long double copysignl(long double x, long double y);
double erf(double x);
float erff(float x);
long double erfl(long double x);
double erfc(double x);
float erfcf(float x);
long double erfcl(long double x);
double expm1(double x);
float expm1f(float x);
long double expm1l(long double x);
double fmax(double x, double y);
float fmaxf(float x, float y);
long double fmaxl(long double x, long double y);
double fmin(double x, double y);
float fminf(float x, float y);
long double fminl(long double x, long double y);
double hypot(double x, double y);
float hypotf(float x, float y);
long double hypotl(long double x, long double y);
double lgamma(double x);
float lgammaf(float x);
long double lgammal(long double x);
long long llround(double x);
long long llroundf(float x);
long long llroundl(long double x);
double log1p(double x);
float log1pf(float x);
long double log1pl(long double x);
long lround(double x);
long lroundf(float x);
long lroundl(long double x);
double nextafter(double x, double y);
float nextafterf(float x, float y);
long double nextafterl(long double x, long double y);
double nexttoward(double x, long double y);
float nexttowardf(float x, long double y);
long double nexttowardl(long double x, long double y);
double round(double x);
float roundf(float x);
long double roundl(long double x);
double tgamma(double x);
float tgammaf(float x);
long double tgammal(long double x);
double trunc(double x);
float truncf(float x);
long double truncl(long double x);
}}}} // namespaces

Кроме того, предусмотрены достаточные дополнительные перегрузки<double>версий вышеуказанных функций, так что вызов функции с любой смесью<float>,<double>,<long double>илицелым числомаргументы поддерживаются, при этом тип возврата определяетсяправилами расчета типа результата.

Например:

acoshf(2.0f);  // float version, returns float.
acosh(2.0f);   // also calls the float version and returns float.
acosh(2.0);    // double version, returns double.
acoshl(2.0L);  // long double version, returns a long double.
acosh(2.0L);   // also calls the long double version.
acosh(2);      // integer argument is treated as a double, returns double.
Quick Reference

Более подробное описание этих функций доступно в стандарте C99.

typedef unspecified float_t;
typedef unspecified double_t;

В этой реализации<float_t>является таким же, как тип<float>, и<double_t>таким же, как тип<double>, если только не определен символ препроцессора FLT_EVAL_METHOD, в этом случае они устанавливаются следующим образом:

FLT_EVAL_METHOD

Поплавок_t

двойной

0

плавать

Двойной

1

Двойной

Двойной

2

длинный двойной

длинный двойной

double acosh(double x);
float acoshf(float x);
long double acoshl(long double x);

Возвращает обратный гиперболический косинусx.

См. такжеacoshдля полного шаблона (только заголовк) версии этой функции.

double asinh(double x);
float asinhf(float x);
long double asinhl(long double x);

Возвращает обратный гиперболический косинусx.

См. такжеasinhдля полного шаблона (только заголовк) версии этой функции.

double atanh(double x);
float atanhf(float x);
long double atanhl(long double x);

Возвращает обратный гиперболический косинусx.

См. такжеatanhдля полного шаблона (только заголовк) версии этой функции.

double cbrt(double x);
float cbrtf(float x);
long double cbrtl(long double x);

Возвращает кубический кореньx.

См. такжеcbrtдля полного шаблона (только заголовк) версии этой функции.

double copysign(double x, double y);
float copysignf(float x, float y);
long double copysignl(long double x, long double y);

Возвращает значение с величинойxи знакому.

double erf(double x);
float erff(float x);
long double erfl(long double x);

Возвращает функцию ошибкиx:

См. такжеerfдля полного шаблона (только заголовк) версии этой функции.

double erfc(double x);
float erfcf(float x);
long double erfcl(long double x);

Возвращает функцию дополнительной ошибкиx<1-erf(x)>без потери точности, подразумеваемой вычитанием.

См. такжеerfcдля полного шаблона (только заголовк) версии этой функции.

double expm1(double x);
float expm1f(float x);
long double expm1l(long double x);

Возврат<exp(x)-1>без потери точности, подразумеваемой вычитанием.

См. такжеexpm1для полной версии шаблона (только заголовк) этой функции.

double fmax(double x, double y);
float fmaxf(float x, float y);
long double fmaxl(long double x, long double y);

Возвращает обратный гиперболический косинусx.

double fmin(double x, double y);
float fminf(float x, float y);
long double fminl(long double x, long double y);

Возвращает обратный гиперболический косинусx.

double hypot(double x, double y);
float hypotf(float x, float y);
long double hypotl(long double x, long double y);

Возвращается<sqrt(x*x +y*y)>без опасности численного переполнения, подразумеваемой этой формулировкой.

См. такжегипотетдля полного шаблона (только заголовк) версии этой функции.

double lgamma(double x);
float lgammaf(float x);
long double lgammal(long double x);

Возвращает обратный гиперболический косинусx.

См. такжеlgammaдля полного шаблона (только заголовк) версии этой функции.

long long llround(double x);
long long llroundf(float x);
long long llroundl(long double x);

Возвращает значениеxокругленное до ближайшего целого числа как<longlong>: эквивалентно<floor(x+0.5)>

См. такжекруглыйдля полного шаблона (только заголовк) версии этой функции.

double log1p(double x);
float log1pf(float x);
long double log1pl(long double x);

Возвращает<log(x+1)>без потери точности, подразумеваемой этой формулировкой.

См. такжеlog1pдля полной версии шаблона (только заголовк) этой функции.

long lround(double x);
long lroundf(float x);
long lroundl(long double x);

Возвращает значениеx, округленное до ближайшего целого числа как<long>: эквивалентно<floor(x +0.5)>

См. такжекруглыйдля полного шаблона (только заголовк) версии этой функции.

double nextafter(double x, double y);
float nextafterf(float x, float y);
long double nextafterl(long double x, long double y);

Возвращает следующее отображаемое число плавающей точки послеxв направленииуилиx, если<x==y>.

double nexttoward(double x, long double y);
float nexttowardf(float x, long double y);
long double nexttowardl(long double x, long double y);

Как<nextafter>, но сувсегда выражается как<longdouble>.

double round(double x);
float roundf(float x);
long double roundl(long double x);

Возвращает значениеxокругленное до ближайшего целого числа: эквивалентно<floor(x+0.5)>

См. такжекруглыйдля полного шаблона (только заголовк) версии этой функции.

double tgamma(double x);
float tgammaf(float x);
long double tgammal(long double x);

Возвращает функцию ошибкиx:

См. такжеtgammaдля полного шаблона (только заголовк) версии этой функции.

double trunc(double x);
float truncf(float x);
long double truncl(long double x);

xусечены до ближайшего целого числа.

См. такжеtruncдля полного шаблона (только заголовк) версии этой функции.

См. такжеСтандарт ISO C99


PrevUpHomeNext

Статья C99 C Functions раздела Math Toolkit 2.5.0 Chapter 7. TR1 and C99 external "C" Functions может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Chapter 7. TR1 and C99 external "C" Functions ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 09:38:39/0.0075340270996094/0