Home | History | Annotate | Download | only in AST

Lines Matching refs:APFloat

53 using llvm::APFloat;
369 OptionalDiagnostic &operator<<(const APFloat &F) {
374 // APFloat::toString would automatically print the shortest
378 llvm::APFloat::semanticsPrecision(F.getSemantics());
882 APFloat FloatReal, FloatImag;
884 ComplexValue() : FloatReal(APFloat::Bogus), FloatImag(APFloat::Bogus) {}
888 APFloat
889 APFloat &getComplexFloatImag() { return FloatImag; }
1107 static bool EvaluateFloat(const Expr *E, APFloat &Result, EvalInfo &Info);
1485 QualType SrcType, const APFloat &Value,
1493 if (Value.convertToInteger(Result, llvm::APFloat::rmTowardZero, &ignored)
1494 & APFloat::opInvalidOp)
1501 APFloat &Result) {
1502 APFloat Value = Result;
1505 APFloat::rmNearestTiesToEven, &ignored)
1506 & APFloat::opOverflow)
1525 QualType DestType, APFloat &Result) {
1526 Result = APFloat(Info.Ctx.getFloatTypeSemantics(DestType), 1);
1528 APFloat::rmNearestTiesToEven)
1529 & APFloat::opOverflow)
1726 APFloat &LHS, BinaryOperatorKind Opcode,
1727 const APFloat &RHS) {
1733 LHS.multiply(RHS, APFloat::rmNearestTiesToEven);
1736 LHS.add(RHS, APFloat::rmNearestTiesToEven);
1739 LHS.subtract(RHS, APFloat::rmNearestTiesToEven);
1742 LHS.divide(RHS, APFloat::rmNearestTiesToEven);
2279 bool found(APFloat &Value, QualType SubobjType) {
2339 bool found(APFloat &Value, QualType SubobjType) {
2739 bool found(APFloat &Value, QualType SubobjType) {
2891 bool found(APFloat &Value, QualType SubobjType) {
2897 APFloat One(Value.getSemantics(), 1);
2899 Value.add(One, APFloat::rmNearestTiesToEven);
2901 Value.subtract(One, APFloat::rmNearestTiesToEven);
5335 APFloat F(0.0);
5360 if (&Sem == &APFloat::x87DoubleExtended)
5368 Elts.push_back(APValue(APFloat(Sem, Elt)));
5424 llvm::APFloat f(0.0);
5429 f = APFloat::getZero(Info.Ctx.getFloatTypeSemantics(EltTy));
5447 APValue(APFloat::getZero(Info.Ctx.getFloatTypeSemantics(EltTy)));
6104 APFloat Val(0.0);
6109 case APFloat::fcNaN: Arg = 0; break;
6110 case APFloat::fcInfinity: Arg = 1; break;
6111 case APFloat::fcNormal: Arg = Val.isDenormal() ? 3 : 2; break;
6112 case APFloat::fcZero: Arg = 4; break;
6118 APFloat Val(0.0);
6124 APFloat Val(0.0);
6130 APFloat Val(0.0);
6136 APFloat Val(0.0);
6142 APFloat Val(0.0);
6615 APFloat::cmpResult CR_r =
6617 APFloat::cmpResult CR_i =
6621 return Success((CR_r == APFloat::cmpEqual &&
6622 CR_i == APFloat::cmpEqual), E);
6626 return Success(((CR_r == APFloat::cmpGreaterThan ||
6627 CR_r == APFloat::cmpLessThan ||
6628 CR_r == APFloat::cmpUnordered) ||
6629 (CR_i == APFloat::cmpGreaterThan ||
6630 CR_i == APFloat::cmpLessThan ||
6631 CR_i == APFloat::cmpUnordered)), E);
6648 APFloat RHS(0.0), LHS(0.0);
6657 APFloat::cmpResult CR = LHS.compare(RHS);
6663 return Success(CR == APFloat::cmpLessThan, E);
6665 return Success(CR == APFloat::cmpGreaterThan, E);
6667 return Success(CR == APFloat::cmpLessThan || CR == APFloat::cmpEqual, E);
6669 return Success(CR == APFloat::cmpGreaterThan || CR == APFloat::cmpEqual,
6672 return Success(CR == APFloat::cmpEqual, E);
6674 return Success(CR == APFloat::cmpGreaterThan
6675 || CR == APFloat::cmpLessThan
6676 || CR == APFloat::cmpUnordered, E);
7247 APFloat F(0.0);
7303 APFloat &Result;
7305 FloatExprEvaluator(EvalInfo &info, APFloat &result)
7314 Result = APFloat::getZero(Info.Ctx.getFloatTypeSemantics(E->getType()));
7332 static bool EvaluateFloat(const Expr* E, APFloat& Result, EvalInfo &Info) {
7341 llvm::APFloat &Result) {
7356 APFloat::getSNaN(Sem, false, &fill);
7358 Result = llvm::APFloat::getQNaN(Sem, false, &fill);
7375 Result = llvm::APFloat::getInf(Sem);
7414 APFloat RHS(0.);
7447 Result = llvm::APFloat::getZero(Sem);
7468 APFloat RHS(0.0);
7554 APFloat Zero = APFloat::getZero(Info.Ctx.getFloatTypeSemantics(ElemTy));
7571 APFloat &Imag = Result.FloatImag;
7575 Result.FloatReal = APFloat(Imag.getSemantics());
7650 APFloat &Real = Result.FloatReal;
7655 Result.FloatImag = APFloat(Real.getSemantics());
7745 APFloat::rmNearestTiesToEven);
7747 APFloat::rmNearestTiesToEven);
7756 APFloat::rmNearestTiesToEven);
7758 APFloat::rmNearestTiesToEven);
7767 APFloat &LHS_r = LHS.getComplexFloatReal();
7768 APFloat &LHS_i = LHS.getComplexFloatImag();
7769 APFloat &RHS_r = RHS.getComplexFloatReal();
7770 APFloat &RHS_i = RHS.getComplexFloatImag();
7772 APFloat Tmp = LHS_r;
7773 Tmp.multiply(RHS_r, APFloat::rmNearestTiesToEven);
7776 Tmp.multiply(RHS_i, APFloat::rmNearestTiesToEven);
7777 Result.getComplexFloatReal().subtract(Tmp, APFloat::rmNearestTiesToEven);
7780 Tmp.multiply(RHS_i, APFloat::rmNearestTiesToEven);
7783 Tmp.multiply(RHS_r, APFloat::rmNearestTiesToEven);
7784 Result.getComplexFloatImag().add(Tmp, APFloat::rmNearestTiesToEven);
7798 APFloat &LHS_r = LHS.getComplexFloatReal();
7799 APFloat &LHS_i = LHS.getComplexFloatImag();
7800 APFloat &RHS_r = RHS.getComplexFloatReal();
7801 APFloat &RHS_i = RHS.getComplexFloatImag();
7802 APFloat &Res_r = Result.getComplexFloatReal();
7803 APFloat &Res_i = Result.getComplexFloatImag();
7805 APFloat Den = RHS_r;
7806 Den.multiply(RHS_r, APFloat::rmNearestTiesToEven);
7807 APFloat Tmp = RHS_i;
7808 Tmp.multiply(RHS_i, APFloat::rmNearestTiesToEven);
7809 Den.add(Tmp, APFloat::rmNearestTiesToEven);
7812 Res_r.multiply(RHS_r, APFloat::rmNearestTiesToEven);
7814 Tmp.multiply(RHS_i, APFloat::rmNearestTiesToEven);
7815 Res_r.add(Tmp, APFloat::rmNearestTiesToEven);
7816 Res_r.divide(Den, APFloat::rmNearestTiesToEven);
7819 Res_i.multiply(RHS_r, APFloat::rmNearestTiesToEven);
7821 Tmp.multiply(RHS_i, APFloat::rmNearestTiesToEven);
7822 Res_i.subtract(Tmp, APFloat::rmNearestTiesToEven);
7823 Res_i.divide(Den, APFloat::rmNearestTiesToEven);
7991 llvm::APFloat F(0.0);
8583 llvm::APFloat::rmTowardZero,
8584 &Ignored) & APFloat::opInvalidOp)