
- •2.1 Математические функции('math.H')
- •2.2 Версия библиотеки
- •2.3 Acos,acosf - арккосинус
- •2.4 Acosh, acoshf - обратный гиперболический косинус
- •2.5 Asin, asinf - арксинус
- •2.6 Asinh, asinhf - обратный гиперболический синус
- •2.7 Atan, atanf - арктангенс
- •2.8 Atan2, atan2f - арктангенс от y/X
- •2.9 Atanh, atanhf - обратный гиперболический тангенс
- •2.10 JN,jNf,yN,yNf - функции Бесселя
- •2.11 Сbrt,cbrtf - кубический корень
- •2.12 Copysign, copysignf - число с абсолютным значением х и со
- •2.13 Cosh, coshf - гиперболический косинус
- •2.14 Erf, erff, erfc, erfcf - функции ошибки
- •2.15 Exp, expf - экспонента
- •2.16 Expm1, expm1f - экспонента минус 1
- •2.17 Fabs, fabsf - абсолютное значение (модуль)
- •2.18 Floor, floorf, ceil, ceilf - наименьшее и наибольшее ближайшие целые
- •2.19 Fmod, fmodf - остаток от деления в виде числа с плавающей точкой
- •2.20 Frexp,frexpf - разбиение числа с плавающей точкой
- •2.22 Hypot, hypotf - расстояние от начала координат
- •2.23 Ilogb, ilogbf - получение показателя степени в представлении числа с плавающей точкой
- •2.24 Infinity, infinityf - представление бесконечности
- •2.25 Isnan, isnanf, isinf, isinff, finite, finitef - тест для чисел структуры exception
- •2.26 Ldexp, ldexpf - задание показателя
- •2.27 Log, logf - натуральные логарифмы
- •2.28 Log10, log10f - логарифмы по основанию 10
- •2.30 Matherr - изменяемый обработчик математических ошибок
- •2.31 Modf, modff - разбиение на дробную и целую части
- •2.32 Nan, nanf - представление бесконечности
- •2.33 Nextafter, nextafterf - получение ближайшего числа
- •2.34 Pow, powf - X в степени y
- •2.35 Rint, rintf, remainder, remainderf - округление и остаток
- •2.36 Scalbn, scalbnf - масштабирование
- •2.37 Sqrt, sqrt - арифметический квадратный корень
- •2.38 Sin, sinf, cos, cosf - синус и косинус
- •2.39 Sinh, sinhf - гиперболический синус
- •2.40 Tan, tanf - тангенс
- •2.41 Tanh, tanhf - гиперболический тангенс
2.28 Log10, log10f - логарифмы по основанию 10
#include <math.h>
double log10(double x);
float log10f(float x);
log10 возвращает значение логарифма по основанию 10 от х. Он определяется как ln(х)/ln(10).
logf идентичен с точностью до входных и выходных типов.
Обе функции возвращают вычисленные значения.
Для получения справки об ошибках, обратитесь к разделу, описывающему log.
log удовлетворяет стандарту ANSI C. logf является расширением.
2.29 log1p, log1pf - натуральные логарифмы oт (1+x)
#include <math.h>
double log1p(double x);
float log1pf(float x);
log1p возвращает значение ln(1+x), натурального логарифма от 1+х. Предпочтительнее использовать именно log1p а не log(1+x) для большей точности вычислений при достаточно малых x.
log1pf идентичен с точностью до входных и выходных типов.
Обе функции возвращают вычисленные значения, - каждый соответствующего типа.
Ни log1p, ни log1pf не входят в ANSI C и System V Interface Definition.
2.30 Matherr - изменяемый обработчик математических ошибок
#include <math.h>
int matherr(struct exception *e);
matherr вызывается всегда, когда функция из математической библиотеки генерирует ошибку. Вы можете видоизменить matherr своей собственной подпрограммой для того, чтобы выбрать необходимое обращение с ошибками. Выбранный matherr должен выдавать 0, если ему не удается распознать ошибку, и число, отличное от нуля в противном случае.
Когда matherr принимает ненулевое значение, сообщение об ошибке не выводится, и значение errno не изменяется. Вы можете подстроить под себя одно или оба этих обстоятельства в своей версии matherr, используя ту информацию, что содержится в структуре *e.
Ниже представлена структура exception (определенная в 'math.h'):
struct exception {
int type;
char *name;
double arj1, arj2, retval;
int err;
};
Поля структуры exception имеют следующие значения:
type
Тип произошедшей ошибки. Множество закодированных типов ошибок также находится в 'math.h'.
name
Указатель на строку, заканчивающуюся нулем, содержащую имя той функции из математической библиотеки, в которой произошла ошибка.
arj1, arj2
Аргументы, вызвавшие ошибку.
retval
Возвращаемое значение ошибки (то значение, которое будет иметь вызываемая функция).
err
Если не ноль, то это новое значение, присвоенное errno.
Типы ошибок, определенные в 'math.h' представлают собой возможные математические ошибки типа:
DOMAIN
Аргумент не в области определения функции; например log(-1.0).
SING
Предполагаемые вычисления привели бы к появлению особой точки, например pow(0.0, -2.0).
OVERFLOW
Вычисления привели бы к результату слишком большому для представления, например exp(1000.0).
UNDERFLOW
Вычисления привели бы к результату слишком маленькому для представления, например exp(-1000.0).
TLOSS
Полная потеря разрядности. Результат не имел бы значащих цифр, например sin(10e70).
PLOSS
Частичная потеря разрядности.
Библиотечное определение matherr возвращает 0 во всех случаях.
Вы можете изменить результат вызываемой функции совершив в matherr изменение e->retval; этот результат передается к источнику вызова.
Если функций matherr возвращает 0 (что означает неспособность разрешить ошибку), источник вызова присваивает errno необходимоеое значение и выводит сообщение об ошибке.
matherr - не ANSI-функция.