Miscellaneous Tools
[Tools and Utilities]


Detailed Description

This group describes 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 >
 A simple two dimensional vector (plainvector) implementation. More...
class  BoundingBox< T >
 A class to calculate or store the bounding box of plainvectors. More...
class  XMap< M >
class  ConstXMap< M >
 Constant (read only) version of XMap. More...
class  YMap< M >
class  ConstYMap< M >
 Constant (read only) version of YMap. More...
class  NormSquareMap< M >
class  Polynomial< T >
 Simple polinomial class. 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  Tolerance< int >
 Integer specialization of Tolerance. More...
class  Tolerance< unsigned int >
 Unsigned integer specialization of Tolerance. More...
class  Tolerance< long int >
 Long integer specialization of Tolerance. More...
class  Tolerance< unsigned long int >
 Unsigned long integer specialization of Tolerance. More...

Modules

 Time measuring and Counting
 Simple tools for measuring the performance of algorithms.

Files

file  arg_parser.h
 A tools 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  dist_log.h
 Measure a Distribution.
file  math.h
 Some extensions to the standard cmath library.
file  polynomial.h
 A simple class implementing polynomials.
file  random.h
 Mersenne Twister random number generator.
file  refptr.h
 A reference counted pointer implementation.
file  tolerance.h
 A basic tool to handle the anomalies of calculation with floating point numbers.
file  bezier.h
 Classes to compute with Bezier curves.
file  test_tools.h
 Some utilities to write test programs.

Functions

Color distantColor (const Color &c)
 Returns a visible distinct Color.
Color distantBW (const Color &c)
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)
 Return a vector multiplied by a scalar.
template<typename T >
std::istream & operator>> (std::istream &is, Point< T > &z)
 Read a plainvector from a stream.
template<typename T >
std::ostream & operator<< (std::ostream &os, const Point< T > &z)
 Write a plainvector to a stream.
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<class U , class V >
bool operator== (const Polynomial< U > &u, const Polynomial< V > &v)
 Equality comparison.
template<class U , class V >
bool operator!= (const Polynomial< U > &u, const Polynomial< V > &v)
 Non-equality comparison.
template<class U , class V >
Polynomial< U > operator+ (const Polynomial< U > &u, const Polynomial< V > &v)
 
template<class U , class V >
Polynomial< U > operator- (const Polynomial< U > &u, const Polynomial< V > &v)
 
template<class U , class V >
Polynomial< U > operator* (const Polynomial< U > &u, const Polynomial< V > &v)
 
template<class U , class V >
Polynomial< U > operator+ (const Polynomial< U > &u, const V &v)
 
template<class U , class V >
Polynomial< U > operator+ (const V &v, const Polynomial< U > &u)
 
template<class U , class V >
Polynomial< U > operator- (const Polynomial< U > &u, const V &v)
 
template<class U >
Polynomial< U > operator- (const Polynomial< U > &u)
 
template<class U , class V >
Polynomial< U > operator- (const V &v, const Polynomial< U > &u)
 
template<class U , class V >
Polynomial< U > operator* (const Polynomial< U > &u, const V &v)
 
template<class U , class V >
Polynomial< U > operator* (const V &v, const Polynomial< U > &u)
 
template<class U , class V >
Polynomial< U > operator/ (const Polynomial< U > &u, const V &v)
 

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.

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

Return a Point.

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

Return a vector multiplied by a scalar

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

Read a plainvector from a stream

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

Write a plainvector to a stream

Point< T > rot90 ( const Point< T > &  z  )  [related, inherited]

Returns its parameter rotated by 90 degrees in positive direction.

Point< T > rot180 ( const Point< T > &  z  )  [related, inherited]

Returns its parameter rotated by 180 degrees.

Point< T > rot270 ( const Point< T > &  z  )  [related, inherited]

Returns its parameter rotated by 90 degrees in negative direction.

bool operator== ( const Polynomial< U > &  u,
const Polynomial< V > &  v 
) [related, inherited]

Warning:
Two polynomials are defined to be unequal if their degrees differ, even if the non-zero coefficients are the same.

bool operator!= ( const Polynomial< U > &  u,
const Polynomial< V > &  v 
) [related, inherited]

Warning:
Two polynomials are defined to be unequal if their degrees differ, even if the non-zero coefficients are the same.


Generated on Thu Jun 4 04:03:13 2009 for LEMON by  doxygen 1.5.9