blob: a2e24e925bfebfcc5f342ace7be4d1ef0120eb85 [file] [log] [blame]
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\headerfile <QtMath>
\title Generic Math Functions
\ingroup funclists
\brief The <QtMath> header file provides various math functions.
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:
\value M_E The base of the natural logarithms, e = exp(1)
\value M_LOG2E The base-two logarithm of e
\value M_LOG10E The base-ten logarithm of e
\value M_LN2 The natural logarithm of two
\value M_LN10 The natural logarithm of ten
\value M_PI The ratio of a circle's circumference to diameter, \unicode{0x3C0}
\value M_PI_2 Half M_PI, \unicode{0x3C0} / 2
\value M_PI_4 Quarter M_PI, \unicode{0x3C0} / 4
\value M_1_PI The inverse of M_PI, 1 / \unicode{0x3C0}
\value M_2_PI Twice the inverse of M_PI, 2 / \unicode{0x3C0}
\value M_2_SQRTPI Two divided by the square root of pi, 2 / \unicode{0x221A}\unicode{0x3C0}
\value M_SQRT2 The square root of two, \unicode{0x221A}2
\value M_SQRT1_2 The square roof of half, 1 / \unicode{0x221A}2
\pagekeywords math trigonometry qmath floor ceiling absolute sine cosine tangent inverse tan exponent power natural logarithm pi
*/
/*!
\fn int qCeil(qreal v)
Return the ceiling of the value \a v.
The ceiling is the smallest integer that is not less than \a v.
For example, if \a v is 41.2, then the ceiling is 42.
\relates <QtMath>
\sa qFloor()
*/
/*!
\fn int qFloor(qreal v)
Return the floor of the value \a v.
The floor is the largest integer that is not greater than \a v.
For example, if \a v is 41.2, then the floor is 41.
\relates <QtMath>
\sa qCeil()
*/
/*!
\fn qreal qFabs(qreal v)
Returns the absolute value of \a v as a qreal.
\relates <QtMath>
*/
/*!
\fn qreal qSin(qreal v)
Returns the sine of the angle \a v in radians.
\relates <QtMath>
\sa qCos(), qTan()
*/
/*!
\fn qreal qCos(qreal v)
Returns the cosine of an angle \a v in radians.
\relates <QtMath>
\sa qSin(), qTan()
*/
/*!
\fn qreal qTan(qreal v)
Returns the tangent of an angle \a v in radians.
\relates <QtMath>
\sa qSin(), qCos()
*/
/*!
\fn qreal qAcos(qreal v)
Returns the arccosine of \a v as an angle in radians.
Arccosine is the inverse operation of cosine.
\relates <QtMath>
\sa qAtan(), qAsin(), qCos()
*/
/*!
\fn qreal qAsin(qreal v)
Returns the arcsine of \a v as an angle in radians.
Arcsine is the inverse operation of sine.
\relates <QtMath>
\sa qSin(), qAtan(), qAcos()
*/
/*!
\fn qreal qAtan(qreal v)
Returns the arctangent of \a v as an angle in radians.
Arctangent is the inverse operation of tangent.
\relates <QtMath>
\sa qTan(), qAcos(), qAsin()
*/
/*!
\fn qreal qAtan2(qreal y, qreal x)
Returns the arctangent of a point specified by the coordinates \a y and \a x.
This function will return the angle (argument) of that point.
\relates <QtMath>
\sa qAtan()
*/
/*!
\fn qreal qSqrt(qreal v)
Returns the square root of \a v.
This function returns a NaN if \a v is a negative number.
\relates <QtMath>
\sa qPow()
*/
/*!
\fn qreal qLn(qreal v)
Returns the natural logarithm of \a v. Natural logarithm uses base e.
\relates <QtMath>
\sa qExp()
*/
/*!
\fn qreal qExp(qreal v)
Returns the exponential function of \c e to the power of \a v.
\relates <QtMath>
\sa qLn()
*/
/*!
\fn qreal qPow(qreal x, qreal y)
Returns the value of \a x raised to the power of \a y.
That is, \a x is the base and \a y is the exponent.
\relates <QtMath>
\sa qSqrt()
*/
/*!
\fn float qDegreesToRadians(float degrees)
\relates <QtMath>
\since 5.1
This function converts the \a degrees in float to radians.
Example:
\snippet code/src_corelib_kernel_qmath.cpp 0
\sa qRadiansToDegrees()
*/
/*!
\fn double qDegreesToRadians(double degrees)
\relates <QtMath>
\since 5.1
This function converts the \a degrees in double to radians.
Example:
\snippet code/src_corelib_kernel_qmath.cpp 1
\sa qRadiansToDegrees()
*/
/*!
\fn float qRadiansToDegrees(float radians)
\relates <QtMath>
\since 5.1
This function converts the \a radians in float to degrees.
Example:
\snippet code/src_corelib_kernel_qmath.cpp 2
\sa qDegreesToRadians()
*/
/*!
\fn double qRadiansToDegrees(double radians)
\relates <QtMath>
\since 5.1
This function converts the \a radians in double to degrees.
Example:
\snippet code/src_corelib_kernel_qmath.cpp 3
\sa qDegreesToRadians()
*/
/*!
\fn quint32 qNextPowerOfTwo(quint32 value)
\relates <QtMath>
\since 5.4
This function returns the nearest power of two greater than \a value. For 0 it returns 1, and for values larger than or equal to 2^31 it returns 0.
*/
/*!
\fn quint32 qNextPowerOfTwo(qint32 value)
\relates <QtMath>
\since 5.4
\overload
This function returns the nearest power of two greater than \a value. For negative values it returns 0.
*/
/*!
\fn quint64 qNextPowerOfTwo(quint64 value)
\relates <QtMath>
\since 5.4
This function returns the nearest power of two greater than \a value. For 0 it returns 1, and for values larger than or equal to 2^63 it returns 0.
*/
/*!
\fn quint64 qNextPowerOfTwo(qint64 value)
\relates <QtMath>
\since 5.4
\overload
This function returns the nearest power of two greater than \a value. For negative values it returns 0.
*/