<QtMath> - Generic Math Functions

The <QtMath> header file provides various math functions. 更多...

头: #include <QtMath>

函数

auto qAcos (T v )
auto qAsin (T v )
auto qAtan2 (T1 y , T2 x )
auto qAtan (T v )
int qCeil (T v )
auto qCos (T v )
float qDegreesToRadians (float degrees )
double qDegreesToRadians (double degrees )
long double qDegreesToRadians (long double degrees )
auto qExp (T v )
auto qFabs (T v )
int qFloor (T v )
auto qHypot (F first , Fs... rest )
auto qHypot (Tx x , Ty y )
auto qHypot (Tx x , Ty y , Tz z )
auto qLn (T v )
quint32 qNextPowerOfTwo (quint32 value )
quint32 qNextPowerOfTwo (qint32 value )
quint64 qNextPowerOfTwo (quint64 value )
quint64 qNextPowerOfTwo (qint64 value )
auto qPow (T1 x , T2 y )
float qRadiansToDegrees (float radians )
double qRadiansToDegrees (double radians )
long double qRadiansToDegrees (long double radians )
auto qSin (T v )
auto qSqrt (T v )
auto qTan (T v )

详细描述

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:

常量 描述
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

函数文档编制

template <typename T> auto qAcos ( T v )

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

另请参阅 qAtan (), qAsin (),和 qCos ().

template <typename T> auto qAsin ( T v )

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

另请参阅 qSin (), qAtan (),和 qAcos ().

template <typename T1, typename T2> auto qAtan2 ( T1 y , T2 x )

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

另请参阅 qAtan () 和 qHypot ().

template <typename T> auto qAtan ( T v )

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

另请参阅 qTan (), qAcos (),和 qAsin ().

template <typename T> int qCeil ( T v )

Returns 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.

另请参阅 qFloor ().

template <typename T> auto qCos ( T v )

Returns the cosine of an angle v in radians.

另请参阅 qSin () 和 qTan ().

[constexpr] float qDegreesToRadians ( float degrees )

This function converts the degrees in float to radians.

范例:

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

另请参阅 qRadiansToDegrees ().

[constexpr] double qDegreesToRadians ( double degrees )

This function converts the degrees in double to radians.

范例:

double degrees = 180.0
double radians = qDegreesToRadians(degrees)
					

另请参阅 qRadiansToDegrees ().

[constexpr, since 6.0] long double qDegreesToRadians ( long double degrees )

This function converts the degrees in double to radians.

该函数在 Qt 6.0 引入。

另请参阅 qRadiansToDegrees ().

template <typename T> auto qExp ( T v )

Returns the exponential function of e to the power of v .

另请参阅 qLn ().

template <typename T> auto qFabs ( T v )

Returns the absolute value of v .

template <typename T> int qFloor ( T v )

Returns 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.

另请参阅 qCeil ().

[since 6.1] template <typename F, typename Fs> auto qHypot ( F first , Fs ... rest )

Returns the distance from origin in arbitrarily many dimensions

This is as for the two-argument and three-argument forms, supported by std::hypot(), but with as many numeric parameters as you care to pass to it. Uses first and each of the rest as coordinates, performing a calculation equivalent to squaring each, summing and returning the square root, save that underflow and overflow are avoided as far as possible.

该函数在 Qt 6.1 引入。

另请参阅 qSqrt ().

[since 6.1] template <typename Tx, typename Ty> auto qHypot ( Tx x , Ty y )

这是重载函数。

Returns the distance of a point (x, y) from the origin (0, 0).

这为 qSqrt (x * x + y * y), optimized. In particular, underflow and overflow may be avoided.

Accepts any mix of numeric types, returning the same floating-point type as std::hypot(). If either parameter is infinite, so is the result; otherwise, if either is a NaN, so is the result.

该函数在 Qt 6.1 引入。

另请参阅 qSqrt () 和 qAtan2 ().

[since 6.1] template <typename Tx, typename Ty, typename Tz> auto qHypot ( Tx x , Ty y , Tz z )

这是重载函数。

Returns the distance of a point (x, y, z) from the origin (0, 0, 0).

这为 qSqrt (x * x + y * y + z * z), optimized where supported. In particular, underflow and overflow may be avoided.

Accepts any mix of numeric types, returning the same floating-point type as std::hypot(). If any parameter is infinite, so is the result; otherwise, if any is NaN, so is the result.

该函数在 Qt 6.1 引入。

另请参阅 qSqrt ().

template <typename T> auto qLn ( T v )

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

另请参阅 qExp ().

[constexpr] quint32 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 the result is undefined.

[constexpr] quint32 qNextPowerOfTwo ( qint32 value )

这是重载函数。

This function returns the nearest power of two greater than value . For negative values the result is undefined.

[constexpr] quint64 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 the result is undefined.

[constexpr] quint64 qNextPowerOfTwo ( qint64 value )

这是重载函数。

This function returns the nearest power of two greater than value . For negative values the result is undefined.

template <typename T1, typename T2> auto qPow ( T1 x , T2 y )

返回值为 x raised to the power of y . That is, x is the base and y is the exponent.

另请参阅 qSqrt ().

[constexpr] float qRadiansToDegrees ( float radians )

This function converts the radians in float to degrees.

范例:

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

另请参阅 qDegreesToRadians ().

[constexpr] double qRadiansToDegrees ( double radians )

This function converts the radians in double to degrees.

范例:

double radians = M_PI
double degrees = qRadiansToDegrees(radians)
					

另请参阅 qDegreesToRadians ().

[constexpr, since 6.0] long double qRadiansToDegrees ( long double radians )

This function converts the radians in double to degrees.

该函数在 Qt 6.0 引入。

另请参阅 qDegreesToRadians ().

template <typename T> auto qSin ( T v )

Returns the sine of the angle v in radians.

另请参阅 qCos () 和 qTan ().

template <typename T> auto qSqrt ( T v )

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

另请参阅 qPow () 和 qHypot ().

template <typename T> auto qTan ( T v )

Returns the tangent of an angle v in radians.

另请参阅 qSin () 和 qCos ().