math.h — заголовочный файлстандартной библиотекиязыка программирования С, разработанный для выполнения простых математических операций. Большинство функций привлекают использование чисел с плавающей точкой. C++ также реализует данные функции для обеспечения совместимости, все они содержатся в заголовочном файле cmath.
Все эти функции принимают double, если не определено иначе. Для работы с типами float и long double используются функции с постфиксами f и l соответственно. Все функции, принимающие или возвращающие угол, работают с радианами.
Базовые функции
Функции стандарта C++
Расширения XSI
Эти функции не описаны в стандартах ANSI или ISO C, но могут присутствовать в системах в качестве расширений X/Open.
Использование функций конвертации double-string ecvt, fcvt и gcvt не рекомендуется в пользу sprintf.
libm
Под Linux и FreeBSD математические функции (объявленные в math.h) хранятся отдельно в математической библиотеке libm. Таким образом, если любая из этих инструкций используется, при сборке компоновщику должна быть передана опция -lm.
Существует несколько реализаций libm, включая:
- GNU libc's libm
- Sun's FDLIBM, которая была использована как основа для FreeBSD's msun, которая, в свою очередь, является основой Julia's OpenLibm
- Arénaire project’s CRlibm (Correctly Rounded mathematical library)
- AMD's libm
Ссылки
math.h— основные определения, The Single UNIX® Specification, выпуск 7 от The Open Group (англ.)- Справка по функциям math.h
- Математическая библиотека libm (рус.)