Lines Matching full:flags

17   RealFlags flags;  in Add()  local
18 Part reSum{re_.Add(that.re_, rounding).AccumulateFlags(flags)}; in Add()
19 Part imSum{im_.Add(that.im_, rounding).AccumulateFlags(flags)}; in Add()
20 return {Complex{reSum, imSum}, flags}; in Add()
26 RealFlags flags; in Subtract() local
27 Part reDiff{re_.Subtract(that.re_, rounding).AccumulateFlags(flags)}; in Subtract()
28 Part imDiff{im_.Subtract(that.im_, rounding).AccumulateFlags(flags)}; in Subtract()
29 return {Complex{reDiff, imDiff}, flags}; in Subtract()
36 RealFlags flags; in Multiply() local
37 Part ac{re_.Multiply(that.re_, rounding).AccumulateFlags(flags)}; in Multiply()
38 Part bd{im_.Multiply(that.im_, rounding).AccumulateFlags(flags)}; in Multiply()
39 Part ad{re_.Multiply(that.im_, rounding).AccumulateFlags(flags)}; in Multiply()
40 Part bc{im_.Multiply(that.re_, rounding).AccumulateFlags(flags)}; in Multiply()
41 Part acbd{ac.Subtract(bd, rounding).AccumulateFlags(flags)}; in Multiply()
42 Part adbc{ad.Add(bc, rounding).AccumulateFlags(flags)}; in Multiply()
43 return {Complex{acbd, adbc}, flags}; in Multiply()
52 RealFlags flags; in Divide() local
53 Part cc{that.re_.Multiply(that.re_, rounding).AccumulateFlags(flags)}; in Divide()
54 Part dd{that.im_.Multiply(that.im_, rounding).AccumulateFlags(flags)}; in Divide()
55 Part ccPdd{cc.Add(dd, rounding).AccumulateFlags(flags)}; in Divide()
56 if (!flags.test(RealFlag::Overflow) && !flags.test(RealFlag::Underflow)) { in Divide()
59 Part ac{re_.Multiply(that.re_, rounding).AccumulateFlags(flags)}; in Divide()
60 Part ad{re_.Multiply(that.im_, rounding).AccumulateFlags(flags)}; in Divide()
61 Part bc{im_.Multiply(that.re_, rounding).AccumulateFlags(flags)}; in Divide()
62 Part bd{im_.Multiply(that.im_, rounding).AccumulateFlags(flags)}; in Divide()
63 Part acPbd{ac.Add(bd, rounding).AccumulateFlags(flags)}; in Divide()
64 Part bcSad{bc.Subtract(ad, rounding).AccumulateFlags(flags)}; in Divide()
65 Part re{acPbd.Divide(ccPdd, rounding).AccumulateFlags(flags)}; in Divide()
66 Part im{bcSad.Divide(ccPdd, rounding).AccumulateFlags(flags)}; in Divide()
67 if (!flags.test(RealFlag::Overflow) && !flags.test(RealFlag::Underflow)) { in Divide()
68 return {Complex{re, im}, flags}; in Divide()
72 flags.clear(); in Divide()
76 scale = that.im_.Divide(that.re_, rounding).AccumulateFlags(flags); in Divide()
78 scale = that.re_.Divide(that.im_, rounding).AccumulateFlags(flags); in Divide()
82 Part dS{scale.Multiply(that.im_, rounding).AccumulateFlags(flags)}; in Divide()
83 den = dS.Add(that.re_, rounding).AccumulateFlags(flags); in Divide()
85 Part cS{scale.Multiply(that.re_, rounding).AccumulateFlags(flags)}; in Divide()
86 den = cS.Add(that.im_, rounding).AccumulateFlags(flags); in Divide()
88 Part aS{scale.Multiply(re_, rounding).AccumulateFlags(flags)}; in Divide()
89 Part bS{scale.Multiply(im_, rounding).AccumulateFlags(flags)}; in Divide()
92 re1 = re_.Add(bS, rounding).AccumulateFlags(flags); in Divide()
93 im1 = im_.Subtract(aS, rounding).AccumulateFlags(flags); in Divide()
95 re1 = aS.Add(im_, rounding).AccumulateFlags(flags); in Divide()
96 im1 = bS.Subtract(re_, rounding).AccumulateFlags(flags); in Divide()
98 Part re{re1.Divide(den, rounding).AccumulateFlags(flags)}; in Divide()
99 Part im{im1.Divide(den, rounding).AccumulateFlags(flags)}; in Divide()
100 return {Complex{re, im}, flags}; in Divide()