The functions in this section are typically related with math operations and floating point numbers.
Functions | |
int | wxFinite (double x) |
Returns a non-zero value if x is neither infinite nor NaN (not a number), returns 0 otherwise. More... | |
unsigned int | wxGCD (unsigned int u, unsigned int v) |
Returns the greatest common divisor of the two given numbers. More... | |
bool | wxIsNaN (double x) |
Returns a non-zero value if x is NaN (not a number), returns 0 otherwise. More... | |
wxFloat64 | wxConvertFromIeeeExtended (const wxInt8 *bytes) |
Converts the given array of 10 bytes (corresponding to 80 bits) to a float number according to the IEEE floating point standard format (aka IEEE standard 754). More... | |
void | wxConvertToIeeeExtended (wxFloat64 num, wxInt8 *bytes) |
Converts the given floating number num in a sequence of 10 bytes which are stored in the given array bytes (which must be large enough) according to the IEEE floating point standard format (aka IEEE standard 754). More... | |
double | wxDegToRad (double deg) |
Convert degrees to radians. More... | |
double | wxRadToDeg (double rad) |
Convert radians to degrees. More... | |
unsigned int | wxCTZ (wxUint32 x) |
Count the number of trailing zeros. More... | |
template<typename T > | |
int | wxRound (T x) |
Small wrapper around std::lround(). More... | |
bool | wxIsSameDouble (double x, double y) |
Returns true if both double values are identical. More... | |
bool | wxIsNullDouble (double x) |
Return true of x is exactly zero. More... | |
int | wxMulDivInt32 (int n, int numerator, int denominator) |
Computes the product of a number with a fraction with rounding. More... | |
Converts the given array of 10 bytes (corresponding to 80 bits) to a float number according to the IEEE floating point standard format (aka IEEE standard 754).
Converts the given floating number num in a sequence of 10 bytes which are stored in the given array bytes (which must be large enough) according to the IEEE floating point standard format (aka IEEE standard 754).
unsigned int wxCTZ | ( | wxUint32 | x | ) |
Count the number of trailing zeros.
This function returns the number of trailing zeros in the binary notation of its argument x. E.g. for x equal to 4, or 0b100, the return value is 2.
x | Strictly positive, i.e. non-zero, 32 bit number. |
double wxDegToRad | ( | double | deg | ) |
Convert degrees to radians.
This function simply returns its argument multiplied by M_PI/180
but is more readable than writing this expression directly.
int wxFinite | ( | double | x | ) |
Returns a non-zero value if x is neither infinite nor NaN (not a number), returns 0 otherwise.
Include file:
#include <wx/math.h>
unsigned int wxGCD | ( | unsigned int | u, |
unsigned int | v | ||
) |
Returns the greatest common divisor of the two given numbers.
Include file:
#include <wx/math.h>
bool wxIsNaN | ( | double | x | ) |
Returns a non-zero value if x is NaN (not a number), returns 0 otherwise.
Include file:
#include <wx/math.h>
bool wxIsNullDouble | ( | double | x | ) |
Return true of x is exactly zero.
This is only reliable if it has been assigned 0.
bool wxIsSameDouble | ( | double | x, |
double | y | ||
) |
Returns true if both double values are identical.
This is only reliable if both values have been assigned the same value.
int wxMulDivInt32 | ( | int | n, |
int | numerator, | ||
int | denominator | ||
) |
Computes the product of a number with a fraction with rounding.
This function returns n*numerator/denominator
rounding the result. It is similar to the standard Win32 MulDiv()
function and, in fact, is implemented by calling it under MSW, where wx/msw/wrapwin.h
must be included in addition to wx/math.h
for it to be used.
double wxRadToDeg | ( | double | rad | ) |
Convert radians to degrees.
This function simply returns its argument multiplied by 180/M_PI
but is more readable than writing this expression directly.
int wxRound | ( | T | x | ) |
Small wrapper around std::lround().
This function exists for compatibility, as it was more convenient than std::round() before C++11. Use std::lround() in the new code.
It is defined for all floating point types T
and can be also used with integer types for compatibility, but such use is deprecated – simply remove the calls to wxRound() from your code if you're using it with integer types, it is unnecessary in this case.