Version: 3.3.0

Detailed Description

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

Function Documentation

◆ wxConvertFromIeeeExtended()

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

See also
wxConvertToIeeeExtended() to perform the opposite operation

◆ wxConvertToIeeeExtended()

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

See also
wxConvertFromIeeeExtended() to perform the opposite operation

◆ wxCTZ()

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.

Parameters
xStrictly positive, i.e. non-zero, 32 bit number.
Since
3.1.2

◆ wxDegToRad()

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.

See also
wxRadToDeg()
Since
3.1.0

◆ wxFinite()

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> 

◆ wxGCD()

unsigned int wxGCD ( unsigned int  u,
unsigned int  v 
)

Returns the greatest common divisor of the two given numbers.

Since
3.1.0

Include file:

#include <wx/math.h> 

◆ wxIsNaN()

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> 

◆ wxIsNullDouble()

bool wxIsNullDouble ( double  x)

Return true of x is exactly zero.

This is only reliable if it has been assigned 0.

◆ wxIsSameDouble()

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.

◆ wxMulDivInt32()

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.

◆ wxRadToDeg()

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.

See also
wxDegToRad()
Since
3.1.0

◆ wxRound()

template<typename T >
int wxRound ( 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.