30#ifndef _CMGRAPHS_TYPEINTV_H_
31#define _CMGRAPHS_TYPEINTV_H_
34#ifdef __USE_OLD_CAPD__
37#include "capd/interval/DoubleInterval.h"
45#include "capd/intervals/lib.h"
46#include "capd/rounding/DoubleRounding.h"
54#include "chomp/system/textfile.h"
67 capd::rounding::DoubleRounding::roundNearest ();
84const char *warningMessage =
"\
85* * * * * * * * * * * * * * * * WARNING * * * * * * * * * * * * * * * *\n\
86* It appears that switching the rounding mode in interval arithmetic\n\
87* doesn't work correctly. As a consequence, the results of computations\n\
88* will be inaccurate. In order to conduct mathematically correct rigorous\n\
89* computations, you should compile both the CAPD library and this software\n\
90* without optimization (remove the '-O2' switch from the makefile).\n\
91* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n";
95 if (x3. leftBound () < x3. rightBound ())
97 static bool warned =
false;
99 throw "Incorrect rounding in interval arithmetic.";
102 using chomp::homology::sout;
103 sout << warningMessage;
void resetRounding()
This function resets rounding switches of the processor and sets rounding to the nearest.
bool testIntervals(bool throwException=false)
Testing interval arithmetic.
capd::DInterval IntervalType
The type of an interval (from the CAPD library 2.9/3.0 beta).