34#ifndef _CMGRAPHS_PERIODIC_H_
35#define _CMGRAPHS_PERIODIC_H_
60 void compute (
const double *xleft,
const double *xright,
61 double *yleft,
double *yright,
int dim,
62 const spcCoord *coord,
int subdiv)
const;
75 double *yleft,
double *yright,
int dim,
const spcCoord *,
int)
const
77 for (
int i = 0; i < dim; ++ i)
81 ERRORMSG <<
"Wrong left value: " << xleft [i] <<
82 ", should be 0.\n" << THROW
86 ERRORMSG <<
"Wrong right value: " << xright [i] <<
87 ", should be 1.\n" << THROW
89 const double shift = 0.3;
90 interval x = interval (xleft [i], xright [i]) + shift;
91 if (x. leftBound () >= 1)
93 interval fx = 0.5 + 5 * x * (2 * x - 1) * (x - 1) - shift;
94 yleft [i] = fx. leftBound ();
95 yright [i] = fx. rightBound ();
This class defines a sample periodic map on a multi-dimensional torus which may be used for testing t...
void compute(const double *xleft, const double *xright, double *yleft, double *yright, int dim, const spcCoord *coord, int subdiv) const
Computes the image of a box whose left and right coordinates are given.
MapPeriodic()
The default constructor.
This is an abstract class which defines the interface to other classes that describe maps for the use...
Data types for interval arithmetic.
void resetRounding()
This function resets rounding switches of the processor and sets rounding to the nearest.
bool testIntervals(bool throwException=false)
Testing interval arithmetic.
int spcCoord
The type of coordinates of cubes in the phase space.