27inline cidotprecision
_cidotprecision(
const complex &,
const complex &)
noexcept;
28inline cidotprecision
_cidotprecision(
const complex &,
const real &)
noexcept;
29inline cidotprecision
_cidotprecision(
const real &,
const complex &)
noexcept;
30inline cidotprecision
_cidotprecision(
const interval &,
const interval &)
noexcept;
31inline cidotprecision
_cidotprecision(
const interval &,
const real &)
noexcept;
32inline cidotprecision
_cidotprecision(
const real &,
const interval &)
noexcept;
38inline cidotprecision
_cidotprecision(
const idotprecision &,
const idotprecision &)
noexcept;
39inline cidotprecision
_cidotprecision(
const cdotprecision &,
const cdotprecision &);
40inline cidotprecision
_cidotprecision(
const idotprecision &,
const dotprecision &)
noexcept;
41inline cidotprecision
_cidotprecision(
const cdotprecision &,
const dotprecision &);
42inline cidotprecision
_cidotprecision(
const dotprecision &,
const idotprecision &)
noexcept;
43inline cidotprecision
_cidotprecision(
const dotprecision &,
const cdotprecision&);
49 : reinf(a), resup(reinf),
50 iminf(0), imsup(iminf), k(0)
55 : reinf(a), resup(reinf),
56 iminf(0), imsup(iminf)
62 : reinf(Re(a)), resup(reinf),
63 iminf(Im(a)), imsup(iminf), k(0)
68 : reinf(Re(a)), resup(reinf),
69 iminf(Im(a)), imsup(iminf)
75 : reinf(Inf(a)), resup(Sup(a)),
76 iminf(0), imsup(iminf), k(0)
81 : reinf(Inf(a)), resup(Sup(a)),
82 iminf(0), imsup(iminf)
88 : reinf(InfRe(a)), resup(SupRe(a)),
89 iminf(InfIm(a)), imsup(SupIm(a)), k(0)
94 : reinf(a.reinf), resup(a.resup),
95 iminf(a.iminf), imsup(a.imsup)
101 : reinf(Inf(a)), resup(Sup(a)),
102 iminf(Inf(b)), imsup(Sup(b))
206 tmp.reinf=Inf(Re(a));
207 tmp.resup=Sup(Re(a));
208 tmp.iminf=Inf(Im(a));
209 tmp.imsup=Sup(Im(a));
240 if(tmp.reinf>tmp.resup || tmp.iminf>tmp.imsup)
241 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision _cidotprecision(const cdotprecision & a,const cdotprecision & b)"));
255 tmp.iminf=tmp.imsup=b;
271 if(tmp.reinf>tmp.resup || tmp.iminf>tmp.imsup)
272 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision _cidotprecision(const cdotprecision & a,const dotprecision & b)"));
284 tmp.reinf=tmp.resup=a;
302 if(tmp.reinf>tmp.resup || tmp.iminf>tmp.imsup)
303 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision _cidotprecision(const dotprecision & a,const cdotprecision & b)"));
315 tmp.reinf=tmp.resup=Re(a);
316 tmp.iminf=tmp.imsup=Im(a);
330 tmp.iminf=tmp.imsup=0.0;
342 tmp.reinf=tmp.resup=a;
343 tmp.iminf=tmp.imsup=0.0;
481 if(tmp.reinf>b.reinf)
483 if(tmp.iminf>b.iminf)
485 if(tmp.resup<b.resup)
487 if(tmp.imsup<b.imsup)
495 if(tmp.reinf<b.reinf)
497 if(tmp.iminf<b.iminf)
499 if(tmp.resup>b.resup)
501 if(tmp.imsup>b.imsup)
504 if (tmp.reinf >tmp.resup || tmp.iminf > tmp.imsup)
505 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision operator &(const cidotprecision & a,const cidotprecision & b)"));
552 if (a.reinf >a.resup || a.iminf > a.imsup)
553 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision operator &=(cidotprecision & a,const cidotprecision & b)"));
855 if(Sup(Re(b))>a.resup)
857 if(Inf(Re(b))<a.reinf)
859 if(Sup(Im(b))>a.imsup)
861 if(Inf(Im(b))<a.iminf)
868 if(Sup(Re(b))<a.resup)
870 if(Inf(Re(b))>a.reinf)
872 if(Sup(Im(b))<a.imsup)
874 if(Inf(Im(b))>a.iminf)
877 if (a.reinf >a.resup || a.iminf > a.imsup)
878 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision operator &=(cidotprecision & a,const cinterval & b)"));
971 if (a.reinf >a.resup || a.iminf > a.imsup)
972 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision operator &=(cidotprecision & a,const dotprecision & b)"));
1069 if (a.reinf >a.resup || a.iminf > a.imsup)
1070 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision operator &=(cidotprecision & a,const cdotprecision & b)"));
1164 if (a.reinf >a.resup || a.iminf > a.imsup)
1165 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision operator &=(cidotprecision & a,const idotprecision & b)"));
1174 return a.reinf<=0. && a.resup>=0. && a.iminf<=0. && a.imsup>=0.;
1187 return a.reinf==b.reinf && a.resup==b.resup && a.iminf==b.iminf && a.imsup==b.imsup;
1192 return a.reinf!=b.reinf || a.resup!=b.resup || a.iminf!=b.iminf || a.imsup!=b.imsup;
1199 return a.reinf==b && a.resup==b && a.iminf==0. && a.imsup==0.;
1204 return b.reinf==a && b.resup==a && b.iminf==0. && b.imsup==0.;
1209 return a.reinf!=b || a.resup!=b || a.iminf!=0. || a.imsup!=0.;
1214 return b.reinf!=a || b.resup!=a || b.iminf!=0. || b.imsup!=0.;
1221 return a.reinf==Re(b) && a.resup==Re(b) && a.iminf==Im(b) && a.imsup==Im(b);
1226 return b.reinf==Re(a) && b.resup==Re(a) && b.iminf==Im(a) && b.imsup==Im(a);
1231 return a.reinf!=Re(b) || a.resup!=Re(b) || a.iminf!=Im(a) || a.imsup!=Im(a);
1236 return b.reinf!=Re(a) || b.resup!=Re(a) || b.iminf!=Im(a) || b.imsup!=Im(a);
1243 return a.reinf==Inf(b) && a.resup==Sup(b) && a.iminf==0. && a.imsup==0.;
1248 return b.reinf==Inf(a) && b.resup==Sup(a) && b.iminf==0. && b.imsup==0.;
1253 return a.reinf!=Inf(b) || a.resup!=Sup(b) || a.iminf!=0. || a.imsup!=0.;
1258 return b.reinf!=Inf(a) || b.resup!=Sup(b) || b.iminf!=0. || b.imsup!=0.;
1265 return a.reinf==Inf(Re(b)) && a.resup==Sup(Re(b)) && a.iminf==Inf(Im(b)) && a.imsup==Sup(Im(b));
1270 return b.reinf==Inf(Re(a)) && b.resup==Sup(Re(a)) && b.iminf==Inf(Im(a)) && b.imsup==Sup(Im(a));
1275 return a.reinf!=Inf(Re(b)) || a.resup!=Sup(Re(b)) || a.iminf!=Inf(Im(a)) || a.imsup!=Sup(Im(a));
1280 return b.reinf!=Inf(Re(a)) || b.resup!=Sup(Re(b)) || b.iminf!=Inf(Im(a)) || b.imsup!=Sup(Im(a));
1287 return a.reinf==b && a.resup==b && a.iminf==0. && a.imsup==0.;
1292 return b.reinf==a && b.resup==a && b.iminf==0. && b.imsup==0.;
1297 return a.reinf!=b || a.resup!=b || a.iminf!=0. || a.imsup!=0.;
1302 return b.reinf!=a || b.resup!=b || b.iminf!=0. || b.imsup!=0.;
1310 return a.reinf==Re(b) && a.resup==Re(b) && a.iminf==Im(b) && a.imsup==Im(b);
1315 return b.reinf==Re(a) && b.resup==Re(a) && b.iminf==Im(a) && b.imsup==Im(a);
1320 return a.reinf!=Re(b) || a.resup!=Re(b) || a.iminf!=Im(a) || a.imsup!=Im(a);
1325 return b.reinf!=Re(a) || b.resup!=Re(b) || b.iminf!=Im(a) || b.imsup!=Im(a);
1332 return a.reinf==Inf(b) && a.resup==Sup(b) && a.iminf==0. && a.imsup==0.;
1337 return b.reinf==Inf(a) && b.resup==Sup(a) && b.iminf==0. && b.imsup==0.;
1342 return a.reinf!=Inf(b) || a.resup!=Sup(b) || a.iminf!=0. || a.imsup!=0.;
1347 return b.reinf!=Inf(a) || b.resup!=Sup(b) || b.iminf!=0. || b.imsup!=0.;
1353 return a.reinf>b.reinf && a.resup<b.resup && a.iminf>b.iminf && a.imsup<b.imsup;
1358 return a.reinf<b.reinf && a.resup>b.resup && a.iminf<b.iminf && a.imsup>b.imsup;
1363 return a.reinf>=b.reinf && a.resup<=b.resup && a.iminf>=b.iminf && a.imsup<=b.imsup;
1368 return a.reinf<=b.reinf && a.resup>=b.resup && a.iminf<=b.iminf && a.imsup>=b.imsup;
1411 return Inf(Re(a))>b.reinf && Sup(Re(a))<b.resup && Inf(Im(a))>b.iminf && Sup(Im(a))<b.imsup;
1416 return Inf(Re(a))<b.reinf && Sup(Re(a))>b.resup && Inf(Im(a))<b.iminf && Sup(Im(a))>b.imsup;
1421 return Inf(Re(a))>=b.reinf && Sup(Re(a))<=b.resup && Inf(Im(a))>=b.iminf && Sup(Im(a))<=b.imsup;
1426 return Inf(Re(a))<=b.reinf && Sup(Re(a))>=b.resup && Inf(Im(a))<=b.iminf && Sup(Im(a))>=b.imsup;
1431 return Inf(Re(b))<a.reinf && Sup(Re(b))>a.resup && Inf(Im(b))<a.iminf && Sup(Im(b))>a.imsup;
1436 return Inf(Re(b))>a.reinf && Sup(Re(b))<a.resup && Inf(Im(b))>a.iminf && Sup(Im(b))<a.imsup;
1441 return Inf(Re(b))<=a.reinf && Sup(Re(b))>=a.resup && Inf(Im(b))<=a.iminf && Sup(Im(b))>=a.imsup;
1446 return Inf(Re(b))>=a.reinf && Sup(Re(b))<=a.resup && Inf(Im(b))>=a.iminf && Sup(Im(b))<=a.imsup;
1453 return a>b.reinf && a<b.resup && 0.>b.iminf && 0.<b.imsup;
1463 return a>=b.reinf && a<=b.resup && 0.>=b.iminf && 0.<=b.imsup;
1478 return b>a.reinf && b<a.resup && 0.>a.iminf && 0.<a.imsup;
1488 return b>=a.reinf && b<=a.resup && 0.>=a.iminf && 0.<=a.imsup;
1496 return Re(a)>b.reinf && Re(a)<b.resup && Im(a)>b.iminf && Im(a)<b.imsup;
1506 return Re(a)>=b.reinf && Re(a)<=b.resup && Im(a)>=b.iminf && Im(a)<=b.imsup;
1521 return Re(b)>a.reinf && Re(b)<a.resup && Im(b)>a.iminf && Im(b)<a.imsup;
1531 return Re(b)>=a.reinf && Re(b)<=a.resup && Im(a)>=a.iminf && Im(a)<=a.imsup;
1538 return Inf(a)>b.reinf && Sup(a)<b.resup && 0.>b.iminf && 0.<b.imsup;
1548 return Inf(a)>=b.reinf && Sup(a)<=b.resup && 0.>=b.iminf && 0.<=b.imsup;
1553 return Inf(a)<=b.reinf && Sup(a)>=b.resup && b.iminf==0. && b.imsup==0.;
1563 return Inf(b)>a.reinf && Sup(b)<a.resup && 0.>a.iminf && 0.<a.imsup;
1568 return Inf(b)<=a.reinf && Sup(b)>=a.resup && a.iminf==0. && a.imsup==0.;
1573 return Inf(b)>=a.reinf && Sup(b)<=a.resup && 0.>=a.iminf && 0.<=a.imsup;
1586 if (a.reinf >a.resup || a.iminf > a.imsup)
1587 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision & SetInf(cidotprecision & a,const cdotprecision & b)"));
1597 if (a.reinf >a.resup || a.iminf > a.imsup)
1598 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision & SetSup(cidotprecision & a,const cdotprecision & b)"));
1608 if (a.reinf >a.resup || a.iminf > a.imsup)
1609 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision & SetInf(cidotprecision & a,const dotprecision & b)"));
1619 if (a.reinf >a.resup || a.iminf > a.imsup)
1620 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision & SetInf(cidotprecision & a,const dotprecision & b)"));
1630 if (a.reinf >a.resup || a.iminf > a.imsup)
1631 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision & SetInf(cidotprecision & a,const complex & b)"));
1641 if (a.reinf >a.resup || a.iminf > a.imsup)
1642 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision & SetSup(cidotprecision & a,const complex & b)"));
1652 if (a.reinf >a.resup || a.iminf > a.imsup)
1653 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision & SetInf(cidotprecision & a,const real & b)"));
1663 if (a.reinf >a.resup || a.iminf > a.imsup)
1664 cxscthrow(ERROR_CIDOTPRECISION_EMPTY_INTERVAL(
"inline cidotprecision & SetInf(cidotprecision & a,const real & b)"));
1797 SetRe(c,rnd(a.reinf,RND_DOWN));
1798 SetIm(c,rnd(a.iminf,RND_DOWN));
1799 UncheckedSetInf(b,c);
1800 SetRe(c,rnd(a.resup,RND_UP));
1801 SetIm(c,rnd(a.imsup,RND_UP));
1802 UncheckedSetSup(b,c);
1805cinterval rnd(
const cidotprecision & a)
noexcept
The Data Type cdotprecision.
The Data Type cidotprecision.
cidotprecision()
Constructor of class cidotprecision.
The Scalar Type cinterval.
The Data Type dotprecision.
The Data Type idotprecision.
The Scalar Type interval.
The namespace cxsc, providing all functionality of the class library C-XSC.
cdotprecision & operator+=(cdotprecision &cd, const l_complex &lc) noexcept
Implementation of standard algebraic addition and allocation operation.
cidotprecision _unchecked_cidotprecision(const complex &a, const complex &b) noexcept
cidotprecision _cidotprecision(const complex &, const complex &) noexcept
cinterval _cinterval(const real &a) noexcept