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  Point< T >
 Two dimensional vector (plain vector) More...
 
class  Box< T >
 Bounding box of plain vectors (points). More...
 
class  XMap< M >
 Map of x-coordinates of a Point-map. More...
 
class  ConstXMap< M >
 
class  YMap< M >
 Map of y-coordinates of a Point-map. More...
 
class  ConstYMap< M >
 
class  NormSquareMap< M >
 Map of the normSquare() of a Point-map. 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  dim2.h
 A simple two dimensional vector and a bounding box implementation.
 
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.
 
template<typename T >
Point< T > makePoint (const T &x, const T &y)
 
template<typename T >
Point< T > operator* (const T &u, const Point< T > &x)
 
template<typename T >
std::istream & operator>> (std::istream &is, Point< T > &z)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const Point< T > &z)
 
template<typename T >
Point< T > rot90 (const Point< T > &z)
 Rotate by 90 degrees.
 
template<typename T >
Point< T > rot180 (const Point< T > &z)
 Rotate by 180 degrees.
 
template<typename T >
Point< T > rot270 (const Point< T > &z)
 Rotate by 270 degrees.
 
template<typename T >
std::istream & operator>> (std::istream &is, Box< T > &b)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const Box< T > &b)
 
template<class M >
XMap< M > xMap (M &m)
 Returns an XMap class.
 
template<class M >
ConstXMap< M > xMap (const M &m)
 Returns a ConstXMap class.
 
template<class M >
YMap< M > yMap (M &m)
 Returns a YMap class.
 
template<class M >
ConstYMap< M > yMap (const M &m)
 Returns a ConstYMap class.
 
template<class M >
NormSquareMap< M > normSquareMap (const M &m)
 Returns a NormSquareMap class.
 

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.

Point< T > makePoint ( const T &  x,
const T &  y 
)
related

Return a Point.

Point< T > operator* ( const T &  u,
const Point< T > &  x 
)
related

Return a vector multiplied by a scalar.

std::istream & operator>> ( std::istream &  is,
Point< T > &  z 
)
related

Read a plain vector from a stream.

std::ostream & operator<< ( std::ostream &  os,
const Point< T > &  z 
)
related

Write a plain vector to a stream.

Point< T > rot90 ( const Point< T > &  z)
related

Returns the parameter rotated by 90 degrees in positive direction.

Point< T > rot180 ( const Point< T > &  z)
related

Returns the parameter rotated by 180 degrees.

Point< T > rot270 ( const Point< T > &  z)
related

Returns the parameter rotated by 90 degrees in negative direction.

std::istream & operator>> ( std::istream &  is,
Box< T > &  b 
)
related

Read a box from a stream.

std::ostream & operator<< ( std::ostream &  os,
const Box< T > &  b 
)
related

Write a box to a stream.

XMap< M > xMap ( M &  m)
related

This function just returns an XMap class.

ConstXMap< M > xMap ( const M &  m)
related

This function just returns a ConstXMap class.

YMap< M > yMap ( M &  m)
related

This function just returns a YMap class.

ConstYMap< M > yMap ( const M &  m)
related

This function just returns a ConstYMap class.

NormSquareMap< M > normSquareMap ( const M &  m)
related

This function just returns a NormSquareMap class.