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

This function was introduced in 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.

This function was introduced in 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.

This function was introduced in 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 ().