# Mathematical Functions

## Introduction

These math functions will only handle values within the range of the integer and float types on your computer (this corresponds currently to the C types long resp. double). If you need to handle bigger numbers, take a look at the arbitrary precision math functions.

See also the manual page on arithmetic operators.

## Requirements

No external libraries are needed to build this extension.

## Installation

There is no installation needed to use these functions; they are part of the PHP core.

## Runtime Configuration

This extension has no configuration directives defined in php.ini.

## Resource Types

This extension has no resource types defined.

## Predefined Constants

The constants below are always available as part of the PHP core.

Math constants
Constant | Value | Description
--- | --- | ---
M_PI | 3.14159265358979323846 | Pi
M_E | 2.7182818284590452354 | e
M_LOG2E | 1.4426950408889634074 | log_2 e
M_LOG10E | 0.43429448190325182765 | log_10 e
M_LN2 | 0.69314718055994530942 | log_e 2
M_LN10 | 2.30258509299404568402 | log_e 10
M_PI_2 | 1.57079632679489661923 | pi/2
M_PI_4 | 0.78539816339744830962 | pi/4
M_1_PI | 0.31830988618379067154 | 1/pi
M_2_PI | 0.63661977236758134308 | 2/pi
M_SQRTPI | 1.77245385090551602729 | sqrt(pi) [5.2.0]
M_2_SQRTPI | 1.12837916709551257390 | 2/sqrt(pi)
M_SQRT2 | 1.41421356237309504880 | sqrt(2)
M_SQRT3 | 1.73205080756887729352 | sqrt(3) [5.2.0]
M_SQRT1_2 | 0.70710678118654752440 | 1/sqrt(2)
M_LNPI | 1.14472988584940017414 | log_e(pi) [5.2.0]
M_EULER | 0.57721566490153286061 | Euler constant [5.2.0]

Only M_PI is available in PHP versions up to and including PHP 4.0.0. All other constants are available starting with PHP 4.0.0. Constants labeled [5.2.0] were added in PHP 5.2.0.

## Table of Contents

- abs — Absolute value
- acos — Arc cosine
- acosh — Inverse hyperbolic cosine
- asin — Arc sine
- asinh — Inverse hyperbolic sine
- atan2 — Arc tangent of two variables
- atan — Arc tangent
- atanh — Inverse hyperbolic tangent
- base_convert — Convert a number between arbitrary bases
- bindec — Binary to decimal
- ceil — Round fractions up
- cos — Cosine
- cosh — Hyperbolic cosine
- decbin — Decimal to binary
- dechex — Decimal to hexadecimal
- decoct — Decimal to octal
- deg2rad — Converts the number in degrees to the radian equivalent
- exp — Calculates the exponent of e
- expm1 — Returns exp(number) - 1, computed in a way that is accurate even when the value of number is close to zero
- floor — Round fractions down
- fmod — Returns the floating point remainder (modulo) of the division of the arguments
- getrandmax — Show largest possible random value
- hexdec — Hexadecimal to decimal
- hypot — Calculate the length of the hypotenuse of a right-angle triangle
- is_finite — Finds whether a value is a legal finite number
- is_infinite — Finds whether a value is infinite
- is_nan — Finds whether a value is not a number
- lcg_value — Combined linear congruential generator
- log10 — Base-10 logarithm
- log1p — Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero
- log — Natural logarithm
- max — Find highest value
- min — Find lowest value
- mt_getrandmax — Show largest possible random value
- mt_rand — Generate a better random value
- mt_srand — Seed the better random number generator
- octdec — Octal to decimal
- pi — Get value of pi
- pow — Exponential expression
- rad2deg — Converts the radian number to the equivalent number in degrees
- rand — Generate a random integer
- round — Rounds a float
- sin — Sine
- sinh — Hyperbolic sine
- sqrt — Square root
- srand — Seed the random number generator
- tan — Tangent
- tanh — Hyperbolic tangent