- Main Page
- Modules
- Classes
- Namespaces
- Files
- Related Pages

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Classes | Modules | Files | Functions | Variables
Miscellaneous Tools
Tools and Utilities

## Detailed Description

This group contains several useful tools for development, debugging and testing.

## Classes
class | ArgParser
| Command line arguments parser. More...
class | Color
| Data structure representing RGB colors. More...
class | Palette
| Map `int`s to different `Color`s. More...
class | Random
| Mersenne Twister random number generator. More...
class | Tolerance< T >
| A class to provide a basic way to handle the comparison of numbers that are obtained as a result of a probably inexact computation. More...
class | Tolerance< float >
| Float specialization of Tolerance. More...
class | Tolerance< double >
| Double specialization of Tolerance. More...
class | Tolerance< long double >
| Long double specialization of Tolerance. More...

## Modules
| Time Measuring and Counting
| Simple tools for measuring the performance of algorithms.

## Files
file | arg_parser.h
| A tool to parse command line arguments.
file | color.h
| Tools to manage RGB colors.
file | math.h
| Some extensions to the standard `cmath` library.
file | random.h
| Mersenne Twister random number generator.
file | tolerance.h
| A basic tool to handle the anomalies of calculation with floating point numbers.
file | test_tools.h
| Some utilities to write test programs.

## Functions
Color | distantColor (const Color &c)
| Returns a visibly distinct Color. More...
Color | distantBW (const Color &c)
| Returns black for light colors and white for the dark ones. More...
bool | isNaN (double v)
| Check whether the parameter is NaN or not. More...
double | round (double r)
| Round a value to its closest integer.

## Variables
const Color | WHITE (1, 1, 1)
| White color constant.
const Color | BLACK (0, 0, 0)
| Black color constant.
const Color | RED (1, 0, 0)
| Red color constant.
const Color | GREEN (0, 1, 0)
| Green color constant.
const Color | BLUE (0, 0, 1)
| Blue color constant.
const Color | YELLOW (1, 1, 0)
| Yellow color constant.
const Color | MAGENTA (1, 0, 1)
| Magenta color constant.
const Color | CYAN (0, 1, 1)
| Cyan color constant.
const Color | GREY (0, 0, 0)
| Grey color constant.
const Color | DARK_RED (.5, 0, 0)
| Dark red color constant.
const Color | DARK_GREEN (0,.5, 0)
| Dark green color constant.
const Color | DARK_BLUE (0, 0,.5)
| Drak blue color constant.
const Color | DARK_YELLOW (.5,.5, 0)
| Dark yellow color constant.
const Color | DARK_MAGENTA (.5, 0,.5)
| Dark magenta color constant.
const Color | DARK_CYAN (0,.5,.5)
| Dark cyan color constant.
const long double | E = 2.7182818284590452353602874713526625L
| The Euler constant.
const long double | LOG2E = 1.4426950408889634073599246810018921L
| log_2(e)
const long double | LOG10E = 0.4342944819032518276511289189166051L
| log_10(e)
const long double | LN2 = 0.6931471805599453094172321214581766L
| ln(2)
const long double | LN10 = 2.3025850929940456840179914546843642L
| ln(10)
const long double | PI = 3.1415926535897932384626433832795029L
| pi
const long double | PI_2 = 1.5707963267948966192313216916397514L
| pi/2
const long double | PI_4 = 0.7853981633974483096156608458198757L
| pi/4
const long double | SQRT2 = 1.4142135623730950488016887242096981L
| sqrt(2)
const long double | SQRT1_2 = 0.7071067811865475244008443621048490L
| 1/sqrt(2)

## Function Documentation

Color lemon::distantColor | ( | const Color & | c | ) |
| inline

Returns a Color which is as different from the given parameter as it is possible.

Color lemon::distantBW | ( | const Color & | c | ) |
| inline

Returns black for light colors and white for the dark ones.

bool lemon::isNaN | ( | double | v | ) |
| inline

This function checks whether the parameter is NaN or not. Is should be equivalent with std::isnan(), but it is not provided by all compilers.