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
 
class  Palette
 Map ints to different Colors. 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...
 
class  ArgParser::RefType
 Magic type for operator[]. 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.
 
Color distantBW (const Color &c)
 
bool isNaN (double v)
 Check whether the parameter is NaN or not.
 
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.