40inline lx_cinterval::lx_cinterval(
const lx_interval & a,
41 const lx_interval & b) noexcept
44inline lx_cinterval::lx_cinterval(
const l_interval & a,
45 const l_interval & b) noexcept
48inline lx_cinterval::lx_cinterval(
const interval & a,
49 const interval & b) noexcept
52inline lx_cinterval::lx_cinterval(
const l_real & a,
53 const l_real & b) noexcept
56inline lx_cinterval::lx_cinterval(
const lx_real & a,
57 const lx_real & b) noexcept
60inline lx_cinterval::lx_cinterval(
const real & a,
61 const real & b) noexcept
64inline lx_cinterval::lx_cinterval(
const l_cinterval & a) noexcept
65 : re(Re(a)), im(Im(a)) { }
67inline lx_cinterval::lx_cinterval(
const complex & a) noexcept
68 : re(Re(a)), im(Im(a)) { }
70inline lx_cinterval::lx_cinterval(
const l_complex & a) noexcept
71 : re(Re(a)), im(Im(a)) { }
73inline lx_cinterval::lx_cinterval(
const lx_complex & a) noexcept
74 : re(Re(a)), im(Im(a)) { }
76inline lx_cinterval::lx_cinterval(
const lx_complex & a,
const lx_complex & b)
81 if(Inf(re)>Sup(re) || Inf(im)>Sup(im))
82 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
"lx_cinterval::lx_cinterval(const lx_complex & a,const lx_complex & b)"));
85inline lx_cinterval::lx_cinterval(
const l_complex & a,
const l_complex & b)
90 if(Inf(re)>Sup(re) || Inf(im)>Sup(im))
91 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
"lx_cinterval::lx_cinterval(const l_complex & a,const l_complex & b)"));
94inline lx_cinterval::lx_cinterval(
const complex & a,
const complex & b)
99 if(Inf(re)>Sup(re) || Inf(im)>Sup(im))
100 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
"lx_cinterval::lx_cinterval(const complex & a,const complex & b)"));
103inline lx_cinterval::lx_cinterval(
const cinterval & a) noexcept
104 : re(Re(a)), im(Im(a)) { }
106inline lx_cinterval::lx_cinterval(
const real& na,
const l_interval &la,
107 const real& nb,
const l_interval &lb)
108 noexcept : re(na,la), im(nb,lb) { }
110inline lx_cinterval::lx_cinterval(
const real &n,
const l_interval &a,
111 const lx_interval &b)
112 noexcept : re(n,a), im(b) { }
114inline lx_cinterval::lx_cinterval(
const lx_interval &a,
115 const real &n,
const l_interval &b)
116 noexcept : re(a), im(n,b) { }
118inline lx_cinterval::lx_cinterval(
const real &nr,
const string &sr,
119 const real &ni,
const string &si)
120 noexcept : re(lx_interval(nr,sr)), im(lx_interval(ni,si)) { }
122inline lx_cinterval::lx_cinterval(
const lx_interval & a) noexcept
125inline lx_cinterval::lx_cinterval(
const l_interval & a) noexcept
128inline lx_cinterval::lx_cinterval(
const interval & a) noexcept
131inline lx_cinterval::lx_cinterval(
const lx_real & a) noexcept
134inline lx_cinterval::lx_cinterval(
const l_real & a) noexcept
137inline lx_cinterval::lx_cinterval(
const real & a) noexcept
140inline lx_cinterval::lx_cinterval(
const real& n,
const l_interval &a) noexcept
149inline lx_cinterval & lx_cinterval::operator = (
const lx_cinterval & a)
noexcept
156inline lx_cinterval & lx_cinterval::operator = (
const l_cinterval & a)
noexcept
163inline lx_cinterval & lx_cinterval::operator = (
const cinterval & a)
noexcept
170inline lx_cinterval & lx_cinterval::operator = (
const lx_interval & a)
noexcept
177inline lx_cinterval & lx_cinterval::operator = (
const l_interval & a)
noexcept
184inline lx_cinterval & lx_cinterval::operator = (
const interval & a)
noexcept
191inline lx_cinterval & lx_cinterval::operator = (
const lx_real & a)
noexcept
198inline lx_cinterval & lx_cinterval::operator = (
const l_real & a)
noexcept
205inline lx_cinterval & lx_cinterval::operator = (
const real & a)
noexcept
212inline lx_cinterval & lx_cinterval::operator = (
const lx_complex & a )
noexcept
219inline lx_cinterval & lx_cinterval::operator = (
const l_complex & a )
noexcept
226inline lx_cinterval & lx_cinterval::operator = (
const complex & a )
noexcept
239inline lx_complex Inf(
const lx_cinterval &a)
noexcept
240{
return lx_complex(Inf(a.re),Inf(a.im)); }
242inline lx_complex Sup(
const lx_cinterval &a)
noexcept
243{
return lx_complex(Sup(a.re),Sup(a.im)); }
245inline lx_interval Re(
const lx_cinterval &a)
noexcept
248inline lx_interval Im(
const lx_cinterval &a)
noexcept
252inline lx_cinterval & SetRe(lx_cinterval &a,
const lx_interval &b)
254inline lx_cinterval & SetRe(lx_cinterval &a,
const l_interval &b)
256inline lx_cinterval & SetRe(lx_cinterval &a,
const interval &b)
258inline lx_cinterval & SetRe(lx_cinterval &a,
const lx_real &b)
260inline lx_cinterval & SetRe(lx_cinterval &a,
const l_real &b)
262inline lx_cinterval & SetRe(lx_cinterval &a,
const real &b)
265inline lx_cinterval & SetIm(lx_cinterval &a,
const lx_interval &b)
267inline lx_cinterval & SetIm(lx_cinterval &a,
const l_interval &b)
269inline lx_cinterval & SetIm(lx_cinterval &a,
const interval &b)
271inline lx_cinterval & SetIm(lx_cinterval &a,
const lx_real &b)
273inline lx_cinterval & SetIm(lx_cinterval &a,
const l_real &b)
275inline lx_cinterval & SetIm(lx_cinterval &a,
const real &b)
279inline lx_real InfRe(
const lx_cinterval &a)
noexcept
281inline lx_real InfIm(
const lx_cinterval &a)
noexcept
283inline lx_real SupRe(
const lx_cinterval &a)
noexcept
285inline lx_real SupIm(
const lx_cinterval &a)
noexcept
288inline lx_complex
mid(
const lx_cinterval &a)
noexcept
289{
return lx_complex(
mid(a.re),
mid(a.im)); }
291inline lx_complex
diam(
const lx_cinterval &a)
noexcept
292{
return lx_complex(
diam(a.re),
diam(a.im)); }
295{
return expo(a.re); }
298{
return expo(a.im); }
301{
return li_part(a.re); }
304{
return li_part(a.im); }
306inline lx_cinterval adjust(
const lx_cinterval &a)
noexcept
307{
return lx_cinterval(adjust(a.re),adjust(a.im)); }
309inline lx_cinterval conj(
const lx_cinterval &a)
noexcept
310{
return lx_cinterval(a.re,-a.im); }
314 lx_interval a(x.re),b(x.im);
317 x = lx_cinterval(a,b);
320inline lx_interval
abs(
const lx_cinterval &a)
noexcept
329inline lx_cinterval operator-(
const lx_cinterval & a)
noexcept
330{
return lx_cinterval(-a.re,-a.im); }
332inline lx_cinterval operator+(
const lx_cinterval & a)
noexcept
340inline lx_cinterval operator + (
const lx_cinterval &a,
const lx_cinterval &b)
342 {
return lx_cinterval(a.re + b.re, a.im + b.im); }
344inline lx_cinterval operator + (
const lx_cinterval &a,
const l_cinterval &b)
346 {
return lx_cinterval(a.re + Re(b), a.im + Im(b)); }
348inline lx_cinterval operator + (
const l_cinterval &a,
const lx_cinterval &b)
350 {
return lx_cinterval(Re(a) + b.re, Im(a) + b.im); }
352inline lx_cinterval operator + (
const lx_cinterval &a,
const cinterval &b)
354 {
return lx_cinterval(a.re + Re(b), a.im + Im(b)); }
356inline lx_cinterval operator + (
const cinterval &a,
const lx_cinterval &b)
358 {
return lx_cinterval(Re(a) + b.re, Im(a) + b.im); }
360inline lx_cinterval operator + (
const lx_cinterval &a,
const lx_interval &b)
362 {
return lx_cinterval(a.re + b, a.im); }
364inline lx_cinterval operator + (
const lx_interval &a,
const lx_cinterval &b)
366 {
return lx_cinterval(a + b.re, b.im); }
368inline lx_cinterval operator + (
const lx_cinterval &a,
const l_interval &b)
370 {
return lx_cinterval(a.re + b, a.im); }
372inline lx_cinterval operator + (
const l_interval &a,
const lx_cinterval &b)
374 {
return lx_cinterval(a + b.re, b.im); }
376inline lx_cinterval operator + (
const lx_cinterval &a,
const lx_real &b)
noexcept
377 {
return lx_cinterval(a.re + b, a.im); }
379inline lx_cinterval operator + (
const lx_real &a,
const lx_cinterval &b)
noexcept
380 {
return lx_cinterval(a + b.re, b.im); }
382inline lx_cinterval operator + (
const lx_cinterval &a,
const l_real &b)
noexcept
383 {
return lx_cinterval(a.re + b, a.im); }
385inline lx_cinterval operator + (
const l_real &a,
const lx_cinterval &b)
noexcept
386 {
return lx_cinterval(a + b.re, b.im); }
388inline lx_cinterval operator + (
const lx_cinterval &a,
const real &b)
noexcept
389 {
return lx_cinterval(a.re + b, a.im); }
391inline lx_cinterval operator + (
const real &a,
const lx_cinterval &b)
noexcept
392 {
return lx_cinterval(a + b.re, b.im); }
394inline lx_cinterval operator + (
const lx_cinterval &a,
const complex &b)
noexcept
395 {
return lx_cinterval(a.re + Re(b), a.im + Im(b)); }
396inline lx_cinterval operator + (
const complex &a,
const lx_cinterval &b)
noexcept
397 {
return lx_cinterval(Re(a) + b.re, Im(a) + b.im); }
399inline lx_cinterval operator + (
const lx_cinterval &a,
const l_complex &b)
400 noexcept {
return lx_cinterval(a.re + Re(b), a.im + Im(b)); }
401inline lx_cinterval operator + (
const l_complex &a,
const lx_cinterval &b)
402 noexcept {
return lx_cinterval(Re(a) + b.re, Im(a) + b.im); }
404inline lx_cinterval operator + (
const lx_cinterval &a,
const lx_complex &b)
405 noexcept {
return lx_cinterval(a.re + Re(b), a.im + Im(b)); }
406inline lx_cinterval operator + (
const lx_complex &a,
const lx_cinterval &b)
407 noexcept {
return lx_cinterval(Re(a) + b.re, Im(a) + b.im); }
410inline lx_cinterval & operator +=(lx_cinterval &a,
const lx_cinterval &b)
noexcept
413inline lx_cinterval & operator +=(lx_cinterval &a,
const lx_interval &b)
noexcept
416inline lx_cinterval & operator +=(lx_cinterval &a,
const l_interval &b)
noexcept
419inline lx_cinterval & operator +=(lx_cinterval &a,
const l_cinterval &b)
noexcept
422inline lx_cinterval & operator +=(lx_cinterval &a,
const l_real &b)
noexcept
425inline lx_cinterval & operator +=(lx_cinterval &a,
const lx_real &b)
noexcept
428inline lx_cinterval & operator +=(lx_cinterval &a,
const real &b)
noexcept
431inline lx_cinterval & operator +=(lx_cinterval &a,
const interval &b)
noexcept
434inline lx_cinterval & operator +=(lx_cinterval &a,
const cinterval &b)
noexcept
437inline lx_cinterval & operator +=(lx_cinterval &a,
const complex &b)
noexcept
440inline lx_cinterval & operator +=(lx_cinterval &a,
const l_complex &b)
noexcept
443inline lx_cinterval & operator +=(lx_cinterval &a,
const lx_complex &b)
noexcept
447inline lx_cinterval operator - (
const lx_cinterval &a,
const lx_cinterval &b)
448 noexcept {
return lx_cinterval(a.re - b.re, a.im - b.im); }
450inline lx_cinterval operator - (
const lx_cinterval &a,
const l_cinterval &b)
451 noexcept {
return lx_cinterval(a.re - Re(b), a.im - Im(b)); }
453inline lx_cinterval operator - (
const l_cinterval &a,
const lx_cinterval &b)
454 noexcept {
return lx_cinterval(Re(a) - b.re, Im(a) - b.im); }
456inline lx_cinterval operator - (
const lx_cinterval &a,
const cinterval &b)
457 noexcept {
return lx_cinterval(a.re - Re(b), a.im - Im(b)); }
459inline lx_cinterval operator - (
const cinterval &a,
const lx_cinterval &b)
460 noexcept {
return lx_cinterval(Re(a) - b.re, Im(a) - b.im); }
462inline lx_cinterval operator - (
const lx_cinterval &a,
const lx_interval &b)
463 noexcept {
return lx_cinterval(a.re - b, a.im); }
465inline lx_cinterval operator - (
const lx_interval &a,
const lx_cinterval &b)
466 noexcept {
return lx_cinterval(a - b.re, -b.im); }
468inline lx_cinterval operator - (
const lx_cinterval &a,
const l_interval &b)
469 noexcept {
return lx_cinterval(a.re - b, a.im); }
471inline lx_cinterval operator - (
const l_interval &a,
const lx_cinterval &b)
472 noexcept {
return lx_cinterval(a - b.re, -b.im); }
474inline lx_cinterval operator - (
const lx_cinterval &a,
const lx_real &b)
noexcept
475{
return lx_cinterval(a.re - b, a.im); }
477inline lx_cinterval operator - (
const lx_real &a,
const lx_cinterval &b)
noexcept
478{
return lx_cinterval(a - b.re, -b.im); }
480inline lx_cinterval operator - (
const lx_cinterval &a,
const l_real &b)
noexcept
481{
return lx_cinterval(a.re - b, a.im); }
483inline lx_cinterval operator - (
const l_real &a,
const lx_cinterval &b)
noexcept
484{
return lx_cinterval(a - b.re, -b.im); }
486inline lx_cinterval operator - (
const lx_cinterval &a,
const real &b)
noexcept
487{
return lx_cinterval(a.re - b, a.im); }
489inline lx_cinterval operator - (
const real &a,
const lx_cinterval &b)
noexcept
490{
return lx_cinterval(a - b.re, -b.im); }
492inline lx_cinterval operator - (
const lx_cinterval &a,
const complex &b)
noexcept
493 {
return lx_cinterval(a.re - Re(b), a.im - Im(b)); }
494inline lx_cinterval operator - (
const complex &a,
const lx_cinterval &b)
noexcept
495 {
return lx_cinterval(Re(a) - b.re, Im(a) - b.im); }
496inline lx_cinterval operator - (
const lx_cinterval &a,
const l_complex &b)
497 noexcept {
return lx_cinterval(a.re - Re(b), a.im - Im(b)); }
498inline lx_cinterval operator - (
const l_complex &a,
const lx_cinterval &b)
499 noexcept {
return lx_cinterval(Re(a) - b.re, Im(a) - b.im); }
500inline lx_cinterval operator - (
const lx_cinterval &a,
const lx_complex &b)
501 noexcept {
return lx_cinterval(a.re - Re(b), a.im - Im(b)); }
502inline lx_cinterval operator - (
const lx_complex &a,
const lx_cinterval &b)
503 noexcept {
return lx_cinterval(Re(a) - b.re, Im(a) - b.im); }
506inline lx_cinterval & operator -=(lx_cinterval &a,
const lx_cinterval &b)
noexcept
509inline lx_cinterval & operator -=(lx_cinterval &a,
const lx_interval &b)
noexcept
512inline lx_cinterval & operator -=(lx_cinterval &a,
const l_interval &b)
noexcept
515inline lx_cinterval & operator -=(lx_cinterval &a,
const l_cinterval &b)
noexcept
518inline lx_cinterval & operator -=(lx_cinterval &a,
const l_real &b)
noexcept
521inline lx_cinterval & operator -=(lx_cinterval &a,
const lx_real &b)
noexcept
524inline lx_cinterval & operator -=(lx_cinterval &a,
const real &b)
noexcept
527inline lx_cinterval & operator -=(lx_cinterval &a,
const interval &b)
noexcept
530inline lx_cinterval & operator -=(lx_cinterval &a,
const cinterval &b)
noexcept
532inline lx_cinterval & operator -=(lx_cinterval &a,
const complex &b)
noexcept
534inline lx_cinterval & operator -=(lx_cinterval &a,
const l_complex &b)
noexcept
536inline lx_cinterval & operator -=(lx_cinterval &a,
const lx_complex &b)
noexcept
540inline lx_cinterval operator * (
const lx_cinterval &a,
const lx_cinterval &b)
542{
return lx_cinterval(a.re*b.re - a.im*b.im, a.im*b.re + a.re*b.im); }
544inline lx_cinterval operator * (
const lx_cinterval &a,
const l_cinterval &b)
546{
return a * lx_cinterval(b); }
548inline lx_cinterval operator * (
const l_cinterval &a,
const lx_cinterval &b)
550{
return lx_cinterval(a) * b; }
552inline lx_cinterval operator * (
const lx_cinterval &a,
const cinterval &b)
554{
return a * lx_cinterval(b); }
556inline lx_cinterval operator * (
const cinterval &a,
const lx_cinterval &b)
558{
return lx_cinterval(a) * b; }
561inline lx_cinterval operator * (
const lx_cinterval &a,
const lx_interval &b)
563{
return lx_cinterval(a.re*b, a.im*b); }
565inline lx_cinterval operator * (
const lx_interval &a,
const lx_cinterval &b)
567{
return lx_cinterval(a*b.re, a*b.im); }
569inline lx_cinterval operator * (
const lx_cinterval &a,
const l_interval &b)
571{
return lx_cinterval(a.re*b, a.im*b); }
573inline lx_cinterval operator * (
const l_interval &a,
const lx_cinterval &b)
575{
return lx_cinterval(a*b.re, a*b.im); }
577inline lx_cinterval operator * (
const lx_cinterval &a,
const lx_real &b)
noexcept
578{
return lx_cinterval(a.re*b, a.im*b); }
580inline lx_cinterval operator * (
const lx_real &a,
const lx_cinterval &b)
noexcept
581{
return lx_cinterval(a*b.re, a*b.im); }
583inline lx_cinterval operator * (
const lx_cinterval &a,
const l_real &b)
noexcept
584{
return lx_cinterval(a.re*b, a.im*b); }
586inline lx_cinterval operator * (
const l_real &a,
const lx_cinterval &b)
noexcept
587{
return lx_cinterval(a*b.re, a*b.im); }
589inline lx_cinterval operator * (
const lx_cinterval &a,
const real &b)
noexcept
590{
return lx_cinterval(a.re*b, a.im*b); }
592inline lx_cinterval operator * (
const real &a,
const lx_cinterval &b)
noexcept
593{
return lx_cinterval(a*b.re, a*b.im); }
595inline lx_cinterval operator * (
const lx_cinterval &a,
const complex &b)
noexcept
596{
return a * lx_cinterval(b); }
597inline lx_cinterval operator * (
const complex &a,
const lx_cinterval &b)
noexcept
598{
return lx_cinterval(a) * b; }
599inline lx_cinterval operator * (
const lx_cinterval &a,
const l_complex &b)
600 noexcept {
return a * lx_cinterval(b); }
601inline lx_cinterval operator * (
const l_complex &a,
const lx_cinterval &b)
602 noexcept {
return lx_cinterval(a) * b; }
603inline lx_cinterval operator * (
const lx_cinterval &a,
const lx_complex &b)
604 noexcept {
return a * lx_cinterval(b); }
605inline lx_cinterval operator * (
const lx_complex &a,
const lx_cinterval &b)
606 noexcept {
return lx_cinterval(a) * b; }
609inline lx_cinterval & operator *=(lx_cinterval &a,
const lx_cinterval &b)
noexcept
612inline lx_cinterval & operator *=(lx_cinterval &a,
const lx_interval &b)
noexcept
615inline lx_cinterval & operator *=(lx_cinterval &a,
const l_interval &b)
noexcept
618inline lx_cinterval & operator *=(lx_cinterval &a,
const l_cinterval &b)
noexcept
621inline lx_cinterval & operator *=(lx_cinterval &a,
const l_real &b)
noexcept
624inline lx_cinterval & operator *=(lx_cinterval &a,
const lx_real &b)
noexcept
627inline lx_cinterval & operator *=(lx_cinterval &a,
const real &b)
noexcept
630inline lx_cinterval & operator *=(lx_cinterval &a,
const interval &b)
noexcept
633inline lx_cinterval & operator *=(lx_cinterval &a,
const cinterval &b)
noexcept
636inline lx_cinterval & operator *=(lx_cinterval &a,
const complex &b)
noexcept
639inline lx_cinterval & operator *=(lx_cinterval &a,
const l_complex &b)
noexcept
642inline lx_cinterval & operator *=(lx_cinterval &a,
const lx_complex &b)
noexcept
646inline lx_cinterval operator / (
const lx_cinterval &a,
const lx_cinterval &b)
649 lx_interval Ne(
sqr(b.re) +
sqr(b.im));
651 return lx_cinterval( (a.re*b.re + a.im*b.im)/Ne,
652 (a.im*b.re - a.re*b.im)/Ne );
655inline lx_cinterval operator / (
const lx_cinterval &a,
const l_cinterval &b)
657{
return a / lx_cinterval(b); }
659inline lx_cinterval operator / (
const l_cinterval &a,
const lx_cinterval &b)
661{
return lx_cinterval(a) / b; }
663inline lx_cinterval operator / (
const lx_cinterval &a,
const cinterval &b)
665{
return a / lx_cinterval(b); }
667inline lx_cinterval operator / (
const cinterval &a,
const lx_cinterval &b)
669{
return lx_cinterval(a) / b; }
671inline lx_cinterval operator / (
const lx_cinterval &a,
const lx_interval &b)
673{
return lx_cinterval(a.re/b, a.im/b); }
675inline lx_cinterval operator / (
const lx_interval &a,
const lx_cinterval &b)
677{
return lx_cinterval(a) / b; }
679inline lx_cinterval operator / (
const lx_cinterval &a,
const l_interval &b)
681{
return lx_cinterval(a.re/b, a.im/b); }
683inline lx_cinterval operator / (
const l_interval &a,
const lx_cinterval &b)
685{
return lx_cinterval(a) / b; }
687inline lx_cinterval operator / (
const lx_cinterval &a,
const l_real &b)
noexcept
688{
return lx_cinterval(a.re/b, a.im/b); }
690inline lx_cinterval operator / (
const l_real &a,
const lx_cinterval &b)
noexcept
691{
return lx_cinterval(a) / b; }
693inline lx_cinterval operator / (
const lx_cinterval &a,
const lx_real &b)
noexcept
694{
return lx_cinterval(a.re/b, a.im/b); }
696inline lx_cinterval operator / (
const lx_real &a,
const lx_cinterval &b)
noexcept
697{
return lx_cinterval(a) / b; }
699inline lx_cinterval operator / (
const lx_cinterval &a,
const real &b)
noexcept
700{
return lx_cinterval(a.re/b, a.im/b); }
702inline lx_cinterval operator / (
const real &a,
const lx_cinterval &b)
noexcept
703{
return lx_cinterval(a) / b; }
705inline lx_cinterval operator / (
const lx_cinterval &a,
const complex &b)
noexcept
706{
return a / lx_cinterval(b); }
707inline lx_cinterval operator / (
const complex &a,
const lx_cinterval &b)
noexcept
708{
return lx_cinterval(a) / b; }
710inline lx_cinterval operator / (
const lx_cinterval &a,
const l_complex &b)
711 noexcept {
return a / lx_cinterval(b); }
712inline lx_cinterval operator / (
const l_complex &a,
const lx_cinterval &b)
713 noexcept {
return lx_cinterval(a) / b; }
715inline lx_cinterval operator / (
const lx_cinterval &a,
const lx_complex &b)
716 noexcept {
return a / lx_cinterval(b); }
717inline lx_cinterval operator / (
const lx_complex &a,
const lx_cinterval &b)
718 noexcept {
return lx_cinterval(a) / b; }
721inline lx_cinterval & operator /=(lx_cinterval &a,
const lx_cinterval &b)
noexcept
724inline lx_cinterval & operator /=(lx_cinterval &a,
const lx_interval &b)
noexcept
727inline lx_cinterval & operator /=(lx_cinterval &a,
const l_interval &b)
noexcept
730inline lx_cinterval & operator /=(lx_cinterval &a,
const l_cinterval &b)
noexcept
733inline lx_cinterval & operator /=(lx_cinterval &a,
const l_real &b)
noexcept
736inline lx_cinterval & operator /=(lx_cinterval &a,
const lx_real &b)
noexcept
739inline lx_cinterval & operator /=(lx_cinterval &a,
const real &b)
noexcept
742inline lx_cinterval & operator /=(lx_cinterval &a,
const interval &b)
noexcept
745inline lx_cinterval & operator /=(lx_cinterval &a,
const cinterval &b)
noexcept
748inline lx_cinterval & operator /=(lx_cinterval &a,
const complex &b)
noexcept
751inline lx_cinterval & operator /=(lx_cinterval &a,
const l_complex &b)
noexcept
754inline lx_cinterval & operator /=(lx_cinterval &a,
const lx_complex &b)
noexcept
759inline bool operator ! (
const lx_cinterval & a)
noexcept
760{
return !a.re && !a.im; }
763inline bool operator == (
const lx_cinterval &a,
const lx_cinterval &b)
noexcept
764{
return a.re == b.re && a.im == b.im; }
766inline bool operator == (
const lx_cinterval &a,
const l_cinterval &b)
noexcept
767{
return a == lx_cinterval(b); }
768inline bool operator == (
const l_cinterval &a,
const lx_cinterval &b)
noexcept
769{
return lx_cinterval(a) == b; }
771inline bool operator == (
const lx_cinterval &a,
const lx_interval &b)
noexcept
772{
return a == lx_cinterval(b); }
773inline bool operator == (
const lx_interval &a,
const lx_cinterval &b)
noexcept
774{
return lx_cinterval(a) == b; }
776inline bool operator == (
const lx_cinterval &a,
const l_interval &b)
noexcept
777{
return a == lx_cinterval(b); }
778inline bool operator == (
const l_interval &a,
const lx_cinterval &b)
noexcept
779{
return lx_cinterval(a) == b; }
781inline bool operator == (
const lx_cinterval &a,
const l_real &b)
noexcept
782{
return a == lx_cinterval(b); }
783inline bool operator == (
const l_real &a,
const lx_cinterval &b)
noexcept
784{
return lx_cinterval(a) == b; }
786inline bool operator == (
const lx_cinterval &a,
const lx_real &b)
noexcept
787{
return a == lx_cinterval(b); }
788inline bool operator == (
const lx_real &a,
const lx_cinterval &b)
noexcept
789{
return lx_cinterval(a) == b; }
791inline bool operator == (
const lx_cinterval &a,
const real &b)
noexcept
792{
return a == lx_cinterval(b); }
793inline bool operator == (
const real &a,
const lx_cinterval &b)
noexcept
794{
return lx_cinterval(a) == b; }
796inline bool operator == (
const lx_cinterval &a,
const interval &b)
noexcept
797{
return a == lx_cinterval(b); }
798inline bool operator == (
const interval &a,
const lx_cinterval &b)
noexcept
799{
return lx_cinterval(a) == b; }
801inline bool operator == (
const lx_cinterval &a,
const cinterval &b)
noexcept
802{
return a == lx_cinterval(b); }
803inline bool operator == (
const cinterval &a,
const lx_cinterval &b)
noexcept
804{
return lx_cinterval(a) == b; }
806inline bool operator == (
const lx_cinterval &a,
const complex &b)
noexcept
807{
return a == lx_cinterval(b); }
808inline bool operator == (
const complex &a,
const lx_cinterval &b)
noexcept
809{
return lx_cinterval(a) == b; }
811inline bool operator == (
const lx_cinterval &a,
const l_complex &b)
noexcept
812{
return a == lx_cinterval(b); }
813inline bool operator == (
const l_complex &a,
const lx_cinterval &b)
noexcept
814{
return lx_cinterval(a) == b; }
816inline bool operator == (
const lx_cinterval &a,
const lx_complex &b)
noexcept
817{
return a == lx_cinterval(b); }
818inline bool operator == (
const lx_complex &a,
const lx_cinterval &b)
noexcept
819{
return lx_cinterval(a) == b; }
822inline bool operator != (
const lx_cinterval &a,
const lx_cinterval &b)
noexcept
823{
return a.re != b.re || a.im != b.im; }
825inline bool operator != (
const lx_cinterval &a,
const l_cinterval &b)
noexcept
827inline bool operator != (
const l_cinterval &a,
const lx_cinterval &b)
noexcept
830inline bool operator != (
const lx_cinterval &a,
const lx_interval &b)
noexcept
832inline bool operator != (
const lx_interval &a,
const lx_cinterval &b)
noexcept
835inline bool operator != (
const lx_cinterval &a,
const l_interval &b)
noexcept
837inline bool operator != (
const l_interval &a,
const lx_cinterval &b)
noexcept
840inline bool operator != (
const lx_cinterval &a,
const l_real &b)
noexcept
842inline bool operator != (
const l_real &a,
const lx_cinterval &b)
noexcept
845inline bool operator != (
const lx_cinterval &a,
const lx_real &b)
noexcept
847inline bool operator != (
const lx_real &a,
const lx_cinterval &b)
noexcept
850inline bool operator != (
const lx_cinterval &a,
const real &b)
noexcept
852inline bool operator != (
const real &a,
const lx_cinterval &b)
noexcept
855inline bool operator != (
const lx_cinterval &a,
const interval &b)
noexcept
857inline bool operator != (
const interval &a,
const lx_cinterval &b)
noexcept
860inline bool operator != (
const lx_cinterval &a,
const cinterval &b)
noexcept
862inline bool operator != (
const cinterval &a,
const lx_cinterval &b)
noexcept
865inline bool operator != (
const lx_cinterval &a,
const complex &b)
noexcept
867inline bool operator != (
const complex &a,
const lx_cinterval &b)
noexcept
870inline bool operator != (
const lx_cinterval &a,
const l_complex &b)
noexcept
872inline bool operator != (
const l_complex &a,
const lx_cinterval &b)
noexcept
875inline bool operator != (
const lx_cinterval &a,
const lx_complex &b)
noexcept
877inline bool operator != (
const lx_complex &a,
const lx_cinterval &b)
noexcept
884inline bool operator < (
const lx_cinterval & a,
const lx_cinterval & b)
noexcept
886 if (Inf(a.re) <= Inf(b.re) || Sup(a.re) >= Sup(b.re))
888 if (Inf(a.im) <= Inf(b.im) || Sup(a.im) >= Sup(b.im))
894inline bool operator > (
const lx_cinterval & a,
const lx_cinterval & b)
noexcept
897inline bool operator <= (
const lx_cinterval & a,
const lx_cinterval & b)
noexcept
899 if (Inf(a.re) < Inf(b.re) || Sup(a.re) > Sup(b.re))
901 if (Inf(a.im) < Inf(b.im) || Sup(a.im) > Sup(b.im))
907inline bool operator >= (
const lx_cinterval & a,
const lx_cinterval & b)
noexcept
911inline bool operator <(
const l_cinterval & a,
const lx_cinterval & b)
noexcept
912 {
return lx_cinterval(a) < b; }
913inline bool operator >(
const l_cinterval & a,
const lx_cinterval & b)
noexcept
914 {
return lx_cinterval(a) > b; }
915inline bool operator <=(
const l_cinterval & a,
const lx_cinterval & b)
noexcept
916 {
return lx_cinterval(a) <= b; }
917inline bool operator >=(
const l_cinterval & a,
const lx_cinterval & b)
noexcept
918 {
return lx_cinterval(a) >= b; }
920inline bool operator <(
const lx_cinterval & a,
const l_cinterval & b)
noexcept
921 {
return a < lx_cinterval(b); }
922inline bool operator >(
const lx_cinterval & a,
const l_cinterval & b)
noexcept
923 {
return a > lx_cinterval(b); }
924inline bool operator <=(
const lx_cinterval & a,
const l_cinterval & b)
noexcept
925 {
return a <= lx_cinterval(b); }
926inline bool operator >=(
const lx_cinterval & a,
const l_cinterval & b)
noexcept
927 {
return a >= lx_cinterval(b); }
929inline bool operator <(
const cinterval & a,
const lx_cinterval & b)
noexcept
930 {
return lx_cinterval(a) < b; }
931inline bool operator >(
const cinterval & a,
const lx_cinterval & b)
noexcept
932 {
return lx_cinterval(a) > b; }
933inline bool operator <=(
const cinterval & a,
const lx_cinterval & b)
noexcept
934 {
return lx_cinterval(a) <= b; }
935inline bool operator >=(
const cinterval & a,
const lx_cinterval & b)
noexcept
936 {
return lx_cinterval(a) >= b; }
938inline bool operator <(
const lx_cinterval & a,
const cinterval & b)
noexcept
939 {
return a < lx_cinterval(b); }
940inline bool operator >(
const lx_cinterval & a,
const cinterval & b)
noexcept
941 {
return a > lx_cinterval(b); }
942inline bool operator <=(
const lx_cinterval & a,
const cinterval & b)
noexcept
943 {
return a <= lx_cinterval(b); }
944inline bool operator >=(
const lx_cinterval & a,
const cinterval & b)
noexcept
945 {
return a >= lx_cinterval(b); }
947inline bool operator <(
const lx_interval & a,
const lx_cinterval & b)
noexcept
948 {
return lx_cinterval(a) < b; }
949inline bool operator >(
const lx_interval & a,
const lx_cinterval & b)
noexcept
950 {
return lx_cinterval(a) > b; }
951inline bool operator <=(
const lx_interval & a,
const lx_cinterval & b)
noexcept
952 {
return lx_cinterval(a) <= b; }
953inline bool operator >=(
const lx_interval & a,
const lx_cinterval & b)
noexcept
954 {
return lx_cinterval(a) >= b; }
956inline bool operator <(
const lx_cinterval & a,
const lx_interval & b)
noexcept
957 {
return a < lx_cinterval(b); }
958inline bool operator >(
const lx_cinterval & a,
const lx_interval & b)
noexcept
959 {
return a > lx_cinterval(b); }
960inline bool operator <=(
const lx_cinterval & a,
const lx_interval & b)
noexcept
961 {
return a <= lx_cinterval(b); }
962inline bool operator >=(
const lx_cinterval & a,
const lx_interval & b)
noexcept
963 {
return a >= lx_cinterval(b); }
965inline bool operator <(
const l_interval & a,
const lx_cinterval & b)
noexcept
966 {
return lx_cinterval(a) < b; }
967inline bool operator >(
const l_interval & a,
const lx_cinterval & b)
noexcept
968 {
return lx_cinterval(a) > b; }
969inline bool operator <=(
const l_interval & a,
const lx_cinterval & b)
noexcept
970 {
return lx_cinterval(a) <= b; }
971inline bool operator >=(
const l_interval & a,
const lx_cinterval & b)
noexcept
972 {
return lx_cinterval(a) >= b; }
974inline bool operator <(
const lx_cinterval & a,
const l_interval & b)
noexcept
975 {
return a < lx_cinterval(b); }
976inline bool operator >(
const lx_cinterval & a,
const l_interval & b)
noexcept
977 {
return a > lx_cinterval(b); }
978inline bool operator <=(
const lx_cinterval & a,
const l_interval & b)
noexcept
979 {
return a <= lx_cinterval(b); }
980inline bool operator >=(
const lx_cinterval & a,
const l_interval & b)
noexcept
981 {
return a >= lx_cinterval(b); }
983inline bool operator <(
const interval & a,
const lx_cinterval & b)
noexcept
984 {
return lx_cinterval(a) < b; }
985inline bool operator >(
const interval & a,
const lx_cinterval & b)
noexcept
986 {
return lx_cinterval(a) > b; }
987inline bool operator <=(
const interval & a,
const lx_cinterval & b)
noexcept
988 {
return lx_cinterval(a) <= b; }
989inline bool operator >=(
const interval & a,
const lx_cinterval & b)
noexcept
990 {
return lx_cinterval(a) >= b; }
992inline bool operator <(
const lx_cinterval & a,
const interval & b)
noexcept
993 {
return a < lx_cinterval(b); }
994inline bool operator >(
const lx_cinterval & a,
const interval & b)
noexcept
995 {
return a > lx_cinterval(b); }
996inline bool operator <=(
const lx_cinterval & a,
const interval & b)
noexcept
997 {
return a <= lx_cinterval(b); }
998inline bool operator >=(
const lx_cinterval & a,
const interval & b)
noexcept
999 {
return a >= lx_cinterval(b); }
1001inline bool operator <(
const lx_real & a,
const lx_cinterval & b)
noexcept
1002 {
return lx_cinterval(a) < b; }
1003inline bool operator <=(
const lx_real & a,
const lx_cinterval & b)
noexcept
1004 {
return lx_cinterval(a) <= b; }
1005inline bool operator >(
const lx_cinterval & a,
const lx_real & b)
noexcept
1006 {
return a > lx_cinterval(b); }
1007inline bool operator >=(
const lx_cinterval & a,
const lx_real & b)
noexcept
1008 {
return a >= lx_cinterval(b); }
1010inline bool operator <(
const l_real & a,
const lx_cinterval & b)
noexcept
1011 {
return lx_cinterval(a) < b; }
1012inline bool operator <=(
const l_real & a,
const lx_cinterval & b)
noexcept
1013 {
return lx_cinterval(a) <= b; }
1014inline bool operator >(
const lx_cinterval & a,
const l_real & b)
noexcept
1015 {
return a > lx_cinterval(b); }
1016inline bool operator >=(
const lx_cinterval & a,
const l_real & b)
noexcept
1017 {
return a >= lx_cinterval(b); }
1019inline bool operator <(
const real & a,
const lx_cinterval & b)
noexcept
1020 {
return lx_cinterval(a) < b; }
1021inline bool operator <=(
const real & a,
const lx_cinterval & b)
noexcept
1022 {
return lx_cinterval(a) <= b; }
1023inline bool operator >(
const lx_cinterval & a,
const real & b)
noexcept
1024 {
return a > lx_cinterval(b); }
1025inline bool operator >=(
const lx_cinterval & a,
const real & b)
noexcept
1026 {
return a >= lx_cinterval(b); }
1028inline bool operator <(
const complex & a,
const lx_cinterval & b)
noexcept
1029 {
return lx_cinterval(a) < b; }
1030inline bool operator <=(
const complex & a,
const lx_cinterval & b)
noexcept
1031 {
return lx_cinterval(a) <= b; }
1032inline bool operator >(
const lx_cinterval & a,
const complex & b)
noexcept
1033 {
return a > lx_cinterval(b); }
1034inline bool operator >=(
const lx_cinterval & a,
const complex & b)
noexcept
1035 {
return a >= lx_cinterval(b); }
1037inline bool operator <(
const l_complex & a,
const lx_cinterval & b)
noexcept
1038 {
return lx_cinterval(a) < b; }
1039inline bool operator <=(
const l_complex & a,
const lx_cinterval & b)
noexcept
1040 {
return lx_cinterval(a) <= b; }
1041inline bool operator >(
const lx_cinterval & a,
const l_complex & b)
noexcept
1042 {
return a > lx_cinterval(b); }
1043inline bool operator >=(
const lx_cinterval & a,
const l_complex & b)
noexcept
1044 {
return a >= lx_cinterval(b); }
1046inline bool operator <(
const lx_complex & a,
const lx_cinterval & b)
noexcept
1047 {
return lx_cinterval(a) < b; }
1048inline bool operator <=(
const lx_complex & a,
const lx_cinterval & b)
noexcept
1049 {
return lx_cinterval(a) <= b; }
1050inline bool operator >(
const lx_cinterval & a,
const lx_complex & b)
noexcept
1051 {
return a > lx_cinterval(b); }
1052inline bool operator >=(
const lx_cinterval & a,
const lx_complex & b)
noexcept
1053 {
return a >= lx_cinterval(b); }
1057inline lx_cinterval operator & (
const lx_cinterval& a,
1058 const lx_cinterval& b)
noexcept
1060 lx_cinterval tmp = a;
1061 SetInf(tmp.re, max(Inf(a.re),Inf(b.re)));
1062 SetInf(tmp.im, max(Inf(a.im),Inf(b.im)));
1063 SetSup(tmp.re, min(Sup(a.re),Sup(b.re)));
1064 SetSup(tmp.im, min(Sup(a.im),Sup(b.im)));
1065 if (Inf(tmp.re) > Sup(tmp.re) || Inf(tmp.im) > Sup(tmp.im))
1066 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
1067 "lx_cinterval operator &(const lx_cinterval& a,const lx_cinterval& b)"));
1071inline lx_cinterval & operator &= (lx_cinterval& a,
const lx_cinterval& b)
1074inline lx_cinterval operator & (
const lx_cinterval& a,
const lx_real& b)
1075 noexcept {
return a & lx_cinterval(b,lx_real(0.0)); }
1076inline lx_cinterval operator & (
const lx_real& a,
const lx_cinterval& b )
1077 noexcept {
return lx_cinterval(a,lx_real(0.0)) & b; }
1078inline lx_cinterval & operator &= (lx_cinterval& a,
const lx_real& b)
1079 noexcept {
return a = a & lx_cinterval(b); }
1080inline lx_cinterval operator & (
const lx_cinterval& a,
const l_real& b)
1081 noexcept {
return a & lx_cinterval(b); }
1082inline lx_cinterval operator & (
const l_real& a,
const lx_cinterval& b )
1083 noexcept {
return lx_cinterval(a) & b; }
1084inline lx_cinterval & operator &= (lx_cinterval& a,
const l_real& b)
1085 noexcept {
return a = a & lx_cinterval(b); }
1086inline lx_cinterval operator & (
const lx_cinterval& a,
const real& b)
1087 noexcept {
return a & lx_cinterval(b); }
1088inline lx_cinterval operator & (
const real& a,
const lx_cinterval& b )
1089 noexcept {
return lx_cinterval(a) & b; }
1090inline lx_cinterval & operator &= (lx_cinterval& a,
const real& b)
1091 noexcept {
return a = a & lx_cinterval(b); }
1092inline lx_cinterval operator & (
const lx_cinterval& a,
const l_cinterval& b)
1093 noexcept {
return a & lx_cinterval(b); }
1094inline lx_cinterval operator & (
const l_cinterval& a,
const lx_cinterval& b)
1095 noexcept {
return lx_cinterval(a) & b; }
1096inline lx_cinterval & operator &= (lx_cinterval& a,
const l_cinterval& b)
1097 noexcept {
return a = a & lx_cinterval(b); }
1098inline lx_cinterval operator & (
const lx_cinterval& a,
const cinterval& b)
1099 noexcept {
return a & lx_cinterval(b); }
1100inline lx_cinterval operator & (
const cinterval& a,
const lx_cinterval& b)
1101 noexcept {
return lx_cinterval(a) & b; }
1102inline lx_cinterval & operator &= (lx_cinterval& a,
const cinterval& b)
1103 noexcept {
return a = a & lx_cinterval(b); }
1104inline lx_cinterval operator & (
const lx_cinterval& a,
const lx_interval& b)
1105 noexcept {
return a & lx_cinterval(b); }
1106inline lx_cinterval operator & (
const lx_interval& a,
const lx_cinterval& b)
1107 noexcept {
return lx_cinterval(a) & b; }
1108inline lx_cinterval & operator &= (lx_cinterval& a,
const lx_interval& b)
1109 noexcept {
return a = a & lx_cinterval(b); }
1110inline lx_cinterval operator & (
const lx_cinterval& a,
const l_interval& b)
1111 noexcept {
return a & lx_cinterval(b); }
1112inline lx_cinterval operator & (
const l_interval& a,
const lx_cinterval& b)
1113 noexcept {
return lx_cinterval(a) & b; }
1114inline lx_cinterval & operator &= (lx_cinterval& a,
const l_interval& b)
1115 noexcept {
return a = a & lx_cinterval(b); }
1116inline lx_cinterval operator & (
const lx_cinterval& a,
const interval& b)
1117 noexcept {
return a & lx_cinterval(b); }
1118inline lx_cinterval operator & (
const interval& a,
const lx_cinterval& b)
1119 noexcept {
return lx_cinterval(a) & b; }
1120inline lx_cinterval & operator &= (lx_cinterval& a,
const interval& b)
1121 noexcept {
return a = a & lx_cinterval(b); }
1122inline lx_cinterval operator & (
const lx_cinterval& a,
const lx_complex& b)
1123 noexcept {
return a & lx_cinterval(b); }
1124inline lx_cinterval operator & (
const lx_complex& a,
const lx_cinterval& b)
1125 noexcept {
return lx_cinterval(a) & b; }
1126inline lx_cinterval & operator &= (lx_cinterval& a,
const lx_complex& b)
1127 noexcept {
return a = a & lx_cinterval(b); }
1128inline lx_cinterval operator & (
const lx_cinterval& a,
const l_complex& b)
1129 noexcept {
return a & lx_cinterval(b); }
1130inline lx_cinterval operator & (
const l_complex& a,
const lx_cinterval& b)
1131 noexcept {
return lx_cinterval(a) & b; }
1132inline lx_cinterval & operator &= (lx_cinterval& a,
const l_complex& b)
1133 noexcept {
return a = a & lx_cinterval(b); }
1134inline lx_cinterval operator & (
const lx_cinterval& a,
const complex& b)
1135 noexcept {
return a & lx_cinterval(b); }
1136inline lx_cinterval operator & (
const complex& a,
const lx_cinterval& b)
1137 noexcept {
return lx_cinterval(a) & b; }
1138inline lx_cinterval & operator &= (lx_cinterval& a,
const complex& b)
1139 noexcept {
return a = a & lx_cinterval(b); }
1141inline lx_cinterval operator & (
const lx_interval& a,
const complex& b)
1142 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1143inline lx_cinterval operator & (
const complex& a,
const lx_interval& b)
1144 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1145inline lx_cinterval operator & (
const lx_interval& a,
const l_complex& b)
1146 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1147inline lx_cinterval operator & (
const l_complex& a,
const lx_interval& b)
1148 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1149inline lx_cinterval operator & (
const lx_interval& a,
const lx_complex& b)
1150 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1151inline lx_cinterval operator & (
const lx_complex& a,
const lx_interval& b)
1152 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1153inline lx_cinterval operator & (
const lx_real& a,
const cinterval& b)
1154 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1155inline lx_cinterval operator & (
const cinterval& a,
const lx_real& b)
1156 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1157inline lx_cinterval operator & (
const lx_real& a,
const l_cinterval& b)
1158 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1159inline lx_cinterval operator & (
const l_cinterval& a,
const lx_real& b)
1160 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1161inline lx_cinterval operator & (
const lx_interval& a,
const cinterval& b)
1162 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1163inline lx_cinterval operator & (
const cinterval& a,
const lx_interval& b)
1164 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1165inline lx_cinterval operator & (
const lx_interval& a,
const l_cinterval& b)
1166 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1167inline lx_cinterval operator & (
const l_cinterval& a,
const lx_interval& b)
1168 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1170inline lx_cinterval operator & (
const l_interval& a,
const lx_complex& b)
1171 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1172inline lx_cinterval operator & (
const lx_complex& a,
const l_interval& b)
1173 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1174inline lx_cinterval operator & (
const l_cinterval& a,
const lx_complex& b)
1175 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1176inline lx_cinterval operator & (
const lx_complex& a,
const l_cinterval& b)
1177 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1179inline lx_cinterval operator & (
const interval& a,
const lx_complex& b)
1180 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1181inline lx_cinterval operator & (
const lx_complex& a,
const interval& b)
1182 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1183inline lx_cinterval operator & (
const cinterval& a,
const lx_complex& b)
1184 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1185inline lx_cinterval operator & (
const lx_complex& a,
const cinterval& b)
1186 noexcept {
return lx_cinterval(a) & lx_cinterval(b); }
1191inline lx_cinterval operator | (
const lx_cinterval& a,
1192 const lx_cinterval& b)
noexcept
1194 lx_cinterval tmp = a;
1195 SetInf(tmp.re, min(Inf(a.re), Inf(b.re)));
1196 SetInf(tmp.im, min(Inf(a.im), Inf(b.im)));
1197 SetSup(tmp.re, max(Sup(a.re), Sup(b.re)));
1198 SetSup(tmp.im, max(Sup(a.im), Sup(b.im)));
1202inline lx_cinterval & operator |= (lx_cinterval& a,
const lx_cinterval& b)
1203 noexcept {
return a = a|b; }
1204inline lx_cinterval operator | (
const lx_cinterval& a,
const lx_real& b)
1205 noexcept {
return a | lx_cinterval(b); }
1206inline lx_cinterval operator | (
const lx_real& a,
const lx_cinterval& b)
1207 noexcept {
return lx_cinterval(a) | b; }
1208inline lx_cinterval & operator |= (lx_cinterval& a,
const lx_real& b)
1209 noexcept {
return a = a|lx_cinterval(b); }
1210inline lx_cinterval operator | (
const lx_cinterval& a,
const l_real& b)
1211 noexcept {
return a | lx_cinterval(b); }
1212inline lx_cinterval operator | (
const l_real& a,
const lx_cinterval& b)
1213 noexcept {
return lx_cinterval(a) | b; }
1214inline lx_cinterval & operator |= (lx_cinterval& a,
const l_real& b)
1215 noexcept {
return a = a|lx_cinterval(b); }
1216inline lx_cinterval operator | (
const lx_cinterval& a,
const real& b)
1217 noexcept {
return a | lx_cinterval(b); }
1218inline lx_cinterval operator | (
const real& a,
const lx_cinterval& b)
1219 noexcept {
return lx_cinterval(a) | b; }
1220inline lx_cinterval & operator |= (lx_cinterval& a,
const real& b)
1221 noexcept {
return a = a|lx_cinterval(b); }
1222inline lx_cinterval operator | (
const lx_cinterval& a,
const l_cinterval& b)
1223 noexcept {
return a | lx_cinterval(b); }
1224inline lx_cinterval operator | (
const l_cinterval& a,
const lx_cinterval& b)
1225 noexcept {
return lx_cinterval(a) | b; }
1226inline lx_cinterval & operator |= (lx_cinterval& a,
const l_cinterval& b)
1227 noexcept {
return a = a|lx_cinterval(b); }
1228inline lx_cinterval operator | (
const lx_cinterval& a,
const cinterval& b)
1229 noexcept {
return a | lx_cinterval(b); }
1230inline lx_cinterval operator | (
const cinterval& a,
const lx_cinterval& b)
1231 noexcept {
return lx_cinterval(a) | b; }
1232inline lx_cinterval & operator |= (lx_cinterval& a,
const cinterval& b)
1233 noexcept {
return a = a | lx_cinterval(b); }
1234inline lx_cinterval operator | (
const lx_cinterval& a,
const lx_interval& b)
1235 noexcept {
return a | lx_cinterval(b); }
1236inline lx_cinterval operator | (
const lx_interval& a,
const lx_cinterval& b)
1237 noexcept {
return lx_cinterval(a) | b; }
1238inline lx_cinterval & operator |= (lx_cinterval& a,
const lx_interval& b)
1239 noexcept {
return a = a | lx_cinterval(b); }
1240inline lx_cinterval operator | (
const lx_cinterval& a,
const l_interval& b)
1241 noexcept {
return a | lx_cinterval(b); }
1242inline lx_cinterval operator | (
const l_interval& a,
const lx_cinterval& b)
1243 noexcept {
return lx_cinterval(a) | b; }
1244inline lx_cinterval & operator |= (lx_cinterval& a,
const l_interval& b)
1245 noexcept {
return a = a | lx_cinterval(b); }
1246inline lx_cinterval operator | (
const lx_cinterval& a,
const interval& b)
1247 noexcept {
return a | lx_cinterval(b); }
1248inline lx_cinterval operator | (
const interval& a,
const lx_cinterval& b)
1249 noexcept {
return lx_cinterval(a) | b; }
1250inline lx_cinterval & operator |= (lx_cinterval& a,
const interval& b)
1251 noexcept {
return a = a | lx_cinterval(b); }
1252inline lx_cinterval operator | (
const lx_cinterval& a,
const lx_complex& b)
1253 noexcept {
return a | lx_cinterval(b); }
1254inline lx_cinterval operator | (
const lx_complex& a,
const lx_cinterval& b)
1255 noexcept {
return lx_cinterval(a) | b; }
1256inline lx_cinterval & operator |= (lx_cinterval& a,
const lx_complex& b)
1257 noexcept {
return a = a | lx_cinterval(b); }
1258inline lx_cinterval operator | (
const lx_cinterval& a,
const l_complex& b)
1259 noexcept {
return a | lx_cinterval(b); }
1260inline lx_cinterval operator | (
const l_complex& a,
const lx_cinterval& b)
1261 noexcept {
return lx_cinterval(a) | b; }
1262inline lx_cinterval & operator |= (lx_cinterval& a,
const l_complex& b)
1263 noexcept {
return a = a | lx_cinterval(b); }
1264inline lx_cinterval operator | (
const lx_cinterval& a,
const complex& b)
1265 noexcept {
return a | lx_cinterval(b); }
1266inline lx_cinterval operator | (
const complex& a,
const lx_cinterval& b)
1267 noexcept {
return lx_cinterval(a) | b; }
1268inline lx_cinterval & operator |= (lx_cinterval& a,
const complex& b)
1269 noexcept {
return a = a | lx_cinterval(b); }
1271inline lx_cinterval operator | (
const lx_interval& a,
const complex& b)
1272 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1273inline lx_cinterval operator | (
const complex& a,
const lx_interval& b)
1274 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1275inline lx_cinterval operator | (
const lx_interval& a,
const l_complex& b)
1276 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1277inline lx_cinterval operator | (
const l_complex& a,
const lx_interval& b)
1278 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1279inline lx_cinterval operator | (
const lx_interval& a,
const lx_complex& b)
1280 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1281inline lx_cinterval operator | (
const lx_complex& a,
const lx_interval& b)
1282 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1283inline lx_cinterval operator | (
const lx_real& a,
const cinterval& b)
1284 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1285inline lx_cinterval operator | (
const cinterval& a,
const lx_real& b)
1286 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1287inline lx_cinterval operator | (
const lx_real& a,
const l_cinterval& b)
1288 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1289inline lx_cinterval operator | (
const l_cinterval& a,
const lx_real& b)
1290 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1291inline lx_cinterval operator | (
const lx_interval& a,
const cinterval& b)
1292 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1293inline lx_cinterval operator | (
const cinterval& a,
const lx_interval& b)
1294 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1295inline lx_cinterval operator | (
const lx_interval& a,
const l_cinterval& b)
1296 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1297inline lx_cinterval operator | (
const l_cinterval& a,
const lx_interval& b)
1298 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1301inline lx_cinterval operator | (
const lx_real& a,
const complex& b)
1302 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1303inline lx_cinterval operator | (
const complex& a,
const lx_real& b)
1304 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1305inline lx_cinterval operator | (
const lx_real& a,
const l_complex& b)
1306 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1307inline lx_cinterval operator | (
const l_complex& a,
const lx_real& b)
1308 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1309inline lx_cinterval operator | (
const lx_real& a,
const lx_complex& b)
1310 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1311inline lx_cinterval operator | (
const lx_complex& a,
const lx_real& b)
1312 noexcept {
return lx_cinterval(a) | lx_cinterval(b); }
1317inline lx_cinterval & SetInf(lx_cinterval& a,
const lx_complex& b)
1323 if (Inf(a.re) > Sup(a.re) || Inf(a.im) > Sup(a.im))
1324 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
"lx_cinterval & SetInf(lx_cinterval& a, const lx_complex& b)"));
1329inline lx_cinterval & SetInf(lx_cinterval& a,
const l_complex& b)
1335 if (Inf(a.re) > Sup(a.re) || Inf(a.im) > Sup(a.im))
1336 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
"lx_cinterval & SetInf(lx_cinterval& a, const l_complex& b)"));
1341inline lx_cinterval & SetInf(lx_cinterval& a,
const complex& b)
1347 if (Inf(a.re) > Sup(a.re) || Inf(a.im) > Sup(a.im))
1348 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
"lx_cinterval & SetInf(lx_cinterval& a, const complex& b)"));
1353inline lx_cinterval & SetInf(lx_cinterval& a,
const lx_real & b)
1359 if (Inf(a.re) > Sup(a.re) || Inf(a.im) > Sup(a.im))
1360 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
"inline lx_cinterval & SetInf(lx_cinterval& a,const lx_real & b)"));
1365inline lx_cinterval & SetInf(lx_cinterval& a,
const l_real & b)
1371 if (Inf(a.re) > Sup(a.re) || Inf(a.im) > Sup(a.im))
1372 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
1373 "inline lx_cinterval & SetInf(lx_cinterval& a,const l_real & b)"));
1378inline lx_cinterval & SetInf(lx_cinterval& a,
const real & b)
1384 if (Inf(a.re) > Sup(a.re) || Inf(a.im) > Sup(a.im))
1385 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
1386 "inline lx_cinterval & SetInf(lx_cinterval& a,const real & b)"));
1391inline lx_cinterval & SetSup(lx_cinterval& a,
const lx_complex& b)
1397 if (Inf(a.re) > Sup(a.re) || Inf(a.im) > Sup(a.im))
1398 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
1399 "inline lx_cinterval & SetSup(lx_cinterval& a, const lx_complex& b)"));
1405inline lx_cinterval & SetSup(lx_cinterval& a,
const l_complex& b)
1411 if (Inf(a.re) > Sup(a.re) || Inf(a.im) > Sup(a.im))
1412 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
1413 "inline lx_cinterval & SetSup(lx_cinterval& a, const l_complex& b)"));
1418inline lx_cinterval & SetSup(lx_cinterval& a,
const complex& b)
1424 if (Inf(a.re) > Sup(a.re) || Inf(a.im) > Sup(a.im))
1425 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
1426 "inline lx_cinterval & SetSup(lx_cinterval& a, const complex& b)"));
1431inline lx_cinterval & SetSup(lx_cinterval& a,
const lx_real & b)
1437 if (Inf(a.re) > Sup(a.re) || Inf(a.im) > Sup(a.im))
1438 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
1439 "inline lx_cinterval & SetSup(lx_cinterval& a, const lx_real& b)"));
1444inline lx_cinterval & SetSup(lx_cinterval& a,
const l_real & b)
1450 if (Inf(a.re) > Sup(a.re) || Inf(a.im) > Sup(a.im))
1451 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
1452 "inline lx_cinterval & SetSup(lx_cinterval& a, const l_real& b)"));
1457inline lx_cinterval & SetSup(lx_cinterval& a,
const real & b)
1463 if (Inf(a.re) > Sup(a.re) || Inf(a.im) > Sup(a.im))
1464 cxscthrow(ERROR_CINTERVAL_EMPTY_INTERVAL(
1465 "inline lx_cinterval & SetSup(lx_cinterval& a, const real& b)"));
1470inline bool IsEmpty(
const lx_cinterval& a)
noexcept
1471{
return (IsEmpty(a.re) || IsEmpty(a.im)); }
1478inline std::ostream& operator << (std::ostream& s,
const lx_cinterval& a)
1489inline std::string & operator << (std::string &s,
const lx_cinterval& a)
The Scalar Type cinterval.
The Scalar Type interval.
The Multiple-Precision Data Type l_cinterval.
The Multiple-Precision Data Type l_complex.
The Multiple-Precision Data Type l_interval.
The Multiple-Precision Data Type l_real.
The namespace cxsc, providing all functionality of the class library C-XSC.
cvector diam(const cimatrix_subv &mv) noexcept
Returns the diameter of the matrix.
real expo_Re(const lx_cinterval &a) noexcept
Returns the exponent n of the real part of the complex interval.
real expo_Im(const lx_cinterval &a) noexcept
Returns the exponent n of the imaginary part of the complex interval.
ivector abs(const cimatrix_subv &mv) noexcept
Returns the absolute value of the matrix.
void times2pown(cinterval &x, int n) noexcept
Fast multiplication of reference parameter [z] with .
cinterval sqr(const cinterval &z) noexcept
Calculates .
l_interval li_part_Re(const lx_cinterval &) noexcept
Returns the l_interval of the real part of the complex interval.
cvector mid(const cimatrix_subv &mv) noexcept
Returns the middle of the matrix.
interval sqrtx2y2(const interval &x, const interval &y) noexcept
Calculates .
l_interval li_part_Im(const lx_cinterval &) noexcept
Returns the l_interval of the imaginary part of the complex interval.