reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
619 bool needsCleanup() const { return Floats != nullptr; } 621 APFloat &getFirst() { return Floats[0]; } 622 const APFloat &getFirst() const { return Floats[0]; } 623 APFloat &getSecond() { return Floats[1]; } 624 const APFloat &getSecond() const { return Floats[1]; }lib/Support/APFloat.cpp
3917 assert(&Floats[0].getSemantics() == &semIEEEdouble); 3918 assert(&Floats[1].getSemantics() == &semIEEEdouble); 3923 Floats(RHS.Floats ? new APFloat[2]{APFloat(RHS.Floats[0]), 3923 Floats(RHS.Floats ? new APFloat[2]{APFloat(RHS.Floats[0]), 3924 APFloat(RHS.Floats[1])} 3930 : Semantics(RHS.Semantics), Floats(std::move(RHS.Floats)) { 3936 if (Semantics == RHS.Semantics && RHS.Floats) { 3937 Floats[0] = RHS.Floats[0]; 3937 Floats[0] = RHS.Floats[0]; 3938 Floats[1] = RHS.Floats[1]; 3938 Floats[1] = RHS.Floats[1]; 3957 Floats[0] = std::move(z); 3958 Floats[1].makeZero(/* Neg = */ false); 3975 Floats[0] = std::move(z); 3976 Floats[1].makeZero(/* Neg = */ false); 3979 Floats[0] = z; 3984 Floats[1] = a; 3985 Status |= Floats[1].subtract(z, RM); 3986 Status |= Floats[1].add(c, RM); 3987 Status |= Floats[1].add(zz, RM); 3990 Floats[1] = c; 3991 Status |= Floats[1].subtract(z, RM); 3992 Status |= Floats[1].add(a, RM); 3993 Status |= Floats[1].add(zz, RM); 4011 Floats[0] = std::move(z); 4012 Floats[1].makeZero(/* Neg = */ false); 4015 Floats[0] = z; 4016 Status |= Floats[0].add(zz, RM); 4017 if (!Floats[0].isFinite()) { 4018 Floats[1].makeZero(/* Neg = */ false); 4021 Floats[1] = std::move(z); 4022 Status |= Floats[1].subtract(Floats[0], RM); 4022 Status |= Floats[1].subtract(Floats[0], RM); 4023 Status |= Floats[1].add(zz, RM); 4063 APFloat A(LHS.Floats[0]), AA(LHS.Floats[1]), C(RHS.Floats[0]), 4063 APFloat A(LHS.Floats[0]), AA(LHS.Floats[1]), C(RHS.Floats[0]), 4063 APFloat A(LHS.Floats[0]), AA(LHS.Floats[1]), C(RHS.Floats[0]), 4064 CC(RHS.Floats[1]); 4069 assert(&Out.Floats[0].getSemantics() == &semIEEEdouble); 4070 assert(&Out.Floats[1].getSemantics() == &semIEEEdouble); 4131 APFloat A = Floats[0], B = Floats[1], C = RHS.Floats[0], D = RHS.Floats[1]; 4131 APFloat A = Floats[0], B = Floats[1], C = RHS.Floats[0], D = RHS.Floats[1]; 4131 APFloat A = Floats[0], B = Floats[1], C = RHS.Floats[0], D = RHS.Floats[1]; 4131 APFloat A = Floats[0], B = Floats[1], C = RHS.Floats[0], D = RHS.Floats[1]; 4136 Floats[0] = T; 4137 Floats[1].makeZero(/* Neg = */ false); 4161 Floats[0] = U; 4163 Floats[1].makeZero(/* Neg = */ false); 4168 Floats[1] = T; 4222 Floats[0].changeSign(); 4223 Floats[1].changeSign(); 4228 auto Result = Floats[0].compareAbsoluteValue(RHS.Floats[0]); 4228 auto Result = Floats[0].compareAbsoluteValue(RHS.Floats[0]); 4231 Result = Floats[1].compareAbsoluteValue(RHS.Floats[1]); 4231 Result = Floats[1].compareAbsoluteValue(RHS.Floats[1]); 4233 auto Against = Floats[0].isNegative() ^ Floats[1].isNegative(); 4233 auto Against = Floats[0].isNegative() ^ Floats[1].isNegative(); 4234 auto RHSAgainst = RHS.Floats[0].isNegative() ^ RHS.Floats[1].isNegative(); 4234 auto RHSAgainst = RHS.Floats[0].isNegative() ^ RHS.Floats[1].isNegative(); 4248 return Floats[0].getCategory(); 4251 bool DoubleAPFloat::isNegative() const { return Floats[0].isNegative(); } 4254 Floats[0].makeInf(Neg); 4255 Floats[1].makeZero(/* Neg = */ false); 4259 Floats[0].makeZero(Neg); 4260 Floats[1].makeZero(/* Neg = */ false); 4265 Floats[0] = APFloat(semIEEEdouble, APInt(64, 0x7fefffffffffffffull)); 4266 Floats[1] = APFloat(semIEEEdouble, APInt(64, 0x7c8ffffffffffffeull)); 4273 Floats[0].makeSmallest(Neg); 4274 Floats[1].makeZero(/* Neg = */ false); 4279 Floats[0] = APFloat(semIEEEdouble, APInt(64, 0x0360000000000000ull)); 4281 Floats[0].changeSign(); 4282 Floats[1].makeZero(/* Neg = */ false); 4286 Floats[0].makeNaN(SNaN, Neg, fill); 4287 Floats[1].makeZero(/* Neg = */ false); 4291 auto Result = Floats[0].compare(RHS.Floats[0]); 4291 auto Result = Floats[0].compare(RHS.Floats[0]); 4294 return Floats[1].compare(RHS.Floats[1]); 4294 return Floats[1].compare(RHS.Floats[1]); 4299 return Floats[0].bitwiseIsEqual(RHS.Floats[0]) && 4299 return Floats[0].bitwiseIsEqual(RHS.Floats[0]) && 4300 Floats[1].bitwiseIsEqual(RHS.Floats[1]); 4300 Floats[1].bitwiseIsEqual(RHS.Floats[1]); 4304 if (Arg.Floats) 4305 return hash_combine(hash_value(Arg.Floats[0]), hash_value(Arg.Floats[1])); 4305 return hash_combine(hash_value(Arg.Floats[0]), hash_value(Arg.Floats[1])); 4312 Floats[0].bitcastToAPInt().getRawData()[0], 4313 Floats[1].bitcastToAPInt().getRawData()[0], 4387 (Floats[0].isDenormal() || Floats[1].isDenormal() || 4387 (Floats[0].isDenormal() || Floats[1].isDenormal() || 4389 Floats[0].compare(Floats[0] + Floats[1]) != cmpEqual); 4389 Floats[0].compare(Floats[0] + Floats[1]) != cmpEqual); 4389 Floats[0].compare(Floats[0] + Floats[1]) != cmpEqual); 4410 return Floats[0].isInteger() && Floats[1].isInteger(); 4410 return Floats[0].isInteger() && Floats[1].isInteger(); 4435 return DoubleAPFloat(semPPCDoubleDouble, scalbn(Arg.Floats[0], Exp, RM), 4436 scalbn(Arg.Floats[1], Exp, RM)); 4442 APFloat First = frexp(Arg.Floats[0], Exp, RM); 4443 APFloat Second = Arg.Floats[1];