# Header Generic Math Functions

(<QtMath> - Generic Math Functions)The <QtMath> header file provides various math functions. More...

Header: | #include < |

## Functions

qreal | qAcos(qreal v) |

qreal | qAsin(qreal v) |

qreal | qAtan2(qreal y, qreal x) |

qreal | qAtan(qreal v) |

int | qCeil(qreal v) |

qreal | qCos(qreal v) |

float | qDegreesToRadians(float degrees) |

double | qDegreesToRadians(double degrees) |

qreal | qExp(qreal v) |

qreal | qFabs(qreal v) |

int | qFloor(qreal v) |

qreal | qLn(qreal v) |

quint32 | qNextPowerOfTwo(quint32 value) |

quint64 | qNextPowerOfTwo(quint64 value) |

quint32 | qNextPowerOfTwo(qint32 value) |

quint64 | qNextPowerOfTwo(qint64 value) |

qreal | qPow(qreal x, qreal y) |

float | qRadiansToDegrees(float radians) |

double | qRadiansToDegrees(double radians) |

qreal | qSin(qreal v) |

qreal | qSqrt(qreal v) |

qreal | qTan(qreal v) |

## Detailed Description

These functions are partly convenience definitions for basic math operations not available in the C or Standard Template Libraries.

The header also ensures some constants specified in POSIX, but not present in C++ standards (so absent from <math.h> on some platforms), are defined:

Constant | Description |
---|---|

`M_E` | The base of the natural logarithms, e = exp(1) |

`M_LOG2E` | The base-two logarithm of e |

`M_LOG10E` | The base-ten logarithm of e |

`M_LN2` | The natural logarithm of two |

`M_LN10` | The natural logarithm of ten |

`M_PI` | The ratio of a circle's circumference to diameter, π |

`M_PI_2` | Half M_PI, π / 2 |

`M_PI_4` | Quarter M_PI, π / 4 |

`M_1_PI` | The inverse of M_PI, 1 / π |

`M_2_PI` | Twice the inverse of M_PI, 2 / π |

`M_2_SQRTPI` | Two divided by the square root of pi, 2 / √π |

`M_SQRT2` | The square root of two, √2 |

`M_SQRT1_2` | The square roof of half, 1 / √2 |

## Function Documentation

### qreal <QtMath>::qAcos(qreal *v*)

Returns the arccosine of *v* as an angle in radians. Arccosine is the inverse operation of cosine.

**See also **qAtan(), qAsin(), and qCos().

### qreal <QtMath>::qAsin(qreal *v*)

Returns the arcsine of *v* as an angle in radians. Arcsine is the inverse operation of sine.

**See also **qSin(), qAtan(), and qAcos().

### qreal <QtMath>::qAtan2(qreal *y*, qreal *x*)

Returns the arctangent of a point specified by the coordinates *y* and *x*. This function will return the angle (argument) of that point.

**See also **qAtan().

### qreal <QtMath>::qAtan(qreal *v*)

Returns the arctangent of *v* as an angle in radians. Arctangent is the inverse operation of tangent.

**See also **qTan(), qAcos(), and qAsin().

### int <QtMath>::qCeil(qreal *v*)

Return the ceiling of the value *v*.

The ceiling is the smallest integer that is not less than *v*. For example, if *v* is 41.2, then the ceiling is 42.

**See also **qFloor().

### qreal <QtMath>::qCos(qreal *v*)

Returns the cosine of an angle *v* in radians.

### float <QtMath>::qDegreesToRadians(float *degrees*)

This function converts the *degrees* in float to radians.

Example:

float degrees = 180.0f float radians = qDegreesToRadians(degrees)

This function was introduced in Qt 5.1.

**See also **qRadiansToDegrees().

### double <QtMath>::qDegreesToRadians(double *degrees*)

This function converts the *degrees* in double to radians.

Example:

double degrees = 180.0 double radians = qDegreesToRadians(degrees)

This function was introduced in Qt 5.1.

**See also **qRadiansToDegrees().

### qreal <QtMath>::qExp(qreal *v*)

Returns the exponential function of `e`

to the power of *v*.

**See also **qLn().

### qreal <QtMath>::qFabs(qreal *v*)

Returns the absolute value of *v* as a qreal.

### int <QtMath>::qFloor(qreal *v*)

Return the floor of the value *v*.

The floor is the largest integer that is not greater than *v*. For example, if *v* is 41.2, then the floor is 41.

**See also **qCeil().

### qreal <QtMath>::qLn(qreal *v*)

Returns the natural logarithm of *v*. Natural logarithm uses base e.

**See also **qExp().

### quint32 <QtMath>::qNextPowerOfTwo(quint32 *value*)

This function returns the nearest power of two greater than *value*. For 0 it returns 1, and for values larger than or equal to 2^31 it returns 0.

This function was introduced in Qt 5.4.

### quint64 <QtMath>::qNextPowerOfTwo(quint64 *value*)

This function returns the nearest power of two greater than *value*. For 0 it returns 1, and for values larger than or equal to 2^63 it returns 0.

This function was introduced in Qt 5.4.

### quint32 <QtMath>::qNextPowerOfTwo(qint32 *value*)

This is an overloaded function.

This function returns the nearest power of two greater than *value*. For negative values it returns 0.

This function was introduced in Qt 5.4.

### quint64 <QtMath>::qNextPowerOfTwo(qint64 *value*)

This is an overloaded function.

This function returns the nearest power of two greater than *value*. For negative values it returns 0.

This function was introduced in Qt 5.4.

### qreal <QtMath>::qPow(qreal *x*, qreal *y*)

Returns the value of *x* raised to the power of *y*. That is, *x* is the base and *y* is the exponent.

**See also **qSqrt().

### float <QtMath>::qRadiansToDegrees(float *radians*)

This function converts the *radians* in float to degrees.

Example:

float radians = float(M_PI) float degrees = qRadiansToDegrees(radians)

This function was introduced in Qt 5.1.

**See also **qDegreesToRadians().

### double <QtMath>::qRadiansToDegrees(double *radians*)

This function converts the *radians* in double to degrees.

Example:

double radians = M_PI double degrees = qRadiansToDegrees(radians)

This function was introduced in Qt 5.1.

**See also **qDegreesToRadians().

### qreal <QtMath>::qSin(qreal *v*)

Returns the sine of the angle *v* in radians.

### qreal <QtMath>::qSqrt(qreal *v*)

Returns the square root of *v*. This function returns a NaN if *v* is a negative number.

**See also **qPow().

### qreal <QtMath>::qTan(qreal *v*)

Returns the tangent of an angle *v* in radians.

© 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.