|  | libhomegear-base
    0.7
    Base library for Homegear and Homegear family modules. | 
#include <Math.h>
| Classes | |
| class | Line | 
| Class defining a line.  More... | |
| class | Matrix3x3 | 
| Class defining a 3x3 matrix.  More... | |
| class | Point2D | 
| Class defining a point in 2D space with numbers of type double.  More... | |
| class | Point3D | 
| class | Triangle | 
| Class defining a triangle.  More... | |
| Public Types | |
| typedef Point2D | Vector2D | 
| typedef Point3D | Vector3D | 
| Public Member Functions | |
| Math ()=delete | |
| ~Math ()=default | |
| Destructor.  More... | |
| Static Public Member Functions | |
| static bool | isNumber (const std::string &s, bool hex=false) | 
| Checks if a string is a number.  More... | |
| static int32_t | getNumber (const std::string &s, bool isHex=false) | 
| Converts a string (decimal or hexadecimal) to an integer.  More... | |
| static int64_t | getNumber64 (const std::string &s, bool isHex=false) | 
| Converts a string (decimal or hexadecimal) to an 64-bit integer.  More... | |
| static int32_t | getOctalNumber (const std::string &s) | 
| Converts a octal string to an integer.  More... | |
| static int32_t | getNumber (char hexChar) | 
| Converts a hexadecimal character to an integer.  More... | |
| static uint32_t | getUnsignedNumber (const std::string &s, bool isHex=false) | 
| Converts a string (decimal or hexadecimal) to an unsigned integer.  More... | |
| static uint64_t | getUnsignedNumber64 (const std::string &s, bool isHex=false) | 
| Converts a string (decimal or hexadecimal) to an unsigned integer.  More... | |
| static uint32_t | getIeee754Binary32 (float value) | 
| static uint64_t | getIeee754Binary64 (double value) | 
| static float | getFloatFromIeee754Binary32 (uint32_t binary32) | 
| static double | getDoubleFromIeee754Binary64 (uint64_t binary64) | 
| static double | getDouble (const std::string &s) | 
| Converts a string to double.  More... | |
| static std::string | toString (double number) | 
| Converts a double to string removing any trailing zeros.  More... | |
| static std::string | toString (double number, int32_t precision) | 
| Converts a double to string.  More... | |
| static int32_t | clamp (int32_t value, int32_t min, int32_t max) | 
| Forces a value between 'min' and 'max'.  More... | |
| static double | clamp (double value, double min, double max) | 
| Forces a value between 'min' and 'max'.  More... | |
| static int32_t | scale (int32_t value, int32_t valueMin, int32_t valueMax, int32_t scaleMin, int32_t scaleMax) | 
| Scales 'value' between 'valueMin' and 'valueMax' to 'scaleMin' and 'scaleMax'.  More... | |
| static double | scale (double value, double valueMin, double valueMax, double scaleMin, double scaleMax) | 
| Scales 'value' between 'valueMin' and 'valueMax' to 'scaleMin' and 'scaleMax'.  More... | |
| static double | Pow10 (int32_t exponent) | 
| Calculates powers to the base 10.  More... | |
| static double | metricExponentialMovingAverage (double interval, double period, double metric, double lastAverage) | 
| Calculates the exponential moving average per time for performance metrics.  More... | |
| Static Protected Attributes | |
| static const std::array< int32_t, 23 > | _asciiToBinaryTable {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15} | 
| Map to faster convert hexadecimal numbers.  More... | |
| typedef Point2D BaseLib::Math::Vector2D | 
| typedef Point3D BaseLib::Math::Vector3D | 
| 
 | delete | 
| 
 | default | 
Destructor.
Does nothing.
| 
 | static | 
Forces a value between 'min' and 'max'.
If the value is larger than 'max' then it is set to 'max'. If the value is smaller than 'man' it is set to 'min'.
| value | The number to clamp. | 
| min | The lower boundary. | 
| max | The upper boundary. | 
| 
 | static | 
Forces a value between 'min' and 'max'.
If the value is larger than 'max' then it is set to 'max'. If the value is smaller than 'man' it is set to 'min'.
| value | The number to clamp. | 
| min | The lower boundary. | 
| max | The upper boundary. | 
| 
 | static | 
Converts a string to double.
| s | The string to convert to double. | 
| 
 | static | 
| 
 | static | 
| 
 | static | 
| 
 | static | 
| 
 | static | 
Converts a string (decimal or hexadecimal) to an integer.
| s | The string to convert. | 
| isHex | Set this parameter to "true", if the string is hexadecimal (default false). If the string is prefixed with "0x", it is automatically detected as hexadecimal. | 
| 
 | static | 
Converts a hexadecimal character to an integer.
| hexChar | The hexadecimal character. | 
| 
 | static | 
Converts a string (decimal or hexadecimal) to an 64-bit integer.
| s | The string to convert. | 
| isHex | Set this parameter to "true", if the string is hexadecimal (default false). If the string is prefixed with "0x", it is automatically detected as hexadecimal. | 
| 
 | static | 
Converts a octal string to an integer.
| s | The string to convert. | 
| 
 | static | 
Converts a string (decimal or hexadecimal) to an unsigned integer.
| s | The string to convert. | 
| isHex | Set this parameter to "true", if the string is hexadecimal (default false). If the string is prefixed with "0x", it is automatically detected as hexadecimal. | 
| 
 | static | 
Converts a string (decimal or hexadecimal) to an unsigned integer.
| s | The string to convert. | 
| isHex | Set this parameter to "true", if the string is hexadecimal (default false). If the string is prefixed with "0x", it is automatically detected as hexadecimal. | 
| 
 | static | 
Checks if a string is a number.
| s | The string to check. | 
| hex | (default false) Set to "true" if s contains a hexadecimal number. | 
| 
 | static | 
Calculates the exponential moving average per time for performance metrics.
| interval | The time since the last measurements. The time unit doesn't matter as long as it is the same unit as for period. | 
| period | The time to average over (e. g. 60 seconds or 15 minutes). The time unit doesn't matter as long as it is the same as for interval. | 
| metric | The current performance measurement. | 
| lastAverage | The last output of this method. Pass 0when this is the first call. | 
| 
 | inlinestatic | 
Calculates powers to the base 10.
| 
 | static | 
Scales 'value' between 'valueMin' and 'valueMax' to 'scaleMin' and 'scaleMax'.
| value | The value to scale. | 
| valueMin | The lowest possible value of 'value'. | 
| valueMax | The highest possible value of 'value'. | 
| scaleMin | The lowest value to scale 'value' to. | 
| scaleMax | The highest value to scale 'value' to. | 
| 
 | static | 
Scales 'value' between 'valueMin' and 'valueMax' to 'scaleMin' and 'scaleMax'.
| value | The value to scale. | 
| valueMin | The lowest possible value of 'value'. | 
| valueMax | The highest possible value of 'value'. | 
| scaleMin | The lowest value to scale 'value' to. | 
| scaleMax | The highest value to scale 'value' to. | 
| 
 | static | 
Converts a double to string removing any trailing zeros.
| number | The number to convert | 
| 
 | static | 
Converts a double to string.
| number | The number to convert | 
| precision | The precision | 
| 
 | staticprotected | 
Map to faster convert hexadecimal numbers.