268 lines
6.7 KiB
Plaintext
268 lines
6.7 KiB
Plaintext
/****************************************************************************
|
|
**
|
|
** 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
|
|
*/
|
|
|
|
/*!
|
|
\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.
|
|
*/
|