Lines Matching refs:APFloat
57 using llvm::APFloat;
599 OptionalDiagnostic &operator<<(const APFloat &F) { in operator <<()
608 llvm::APFloat::semanticsPrecision(F.getSemantics()); in operator <<()
1308 APFloat FloatReal, FloatImag;
1310 ComplexValue() : FloatReal(APFloat::Bogus()), FloatImag(APFloat::Bogus()) {} in ComplexValue()
1314 APFloat &getComplexFloatReal() { return FloatReal; } in getComplexFloatReal()
1315 APFloat &getComplexFloatImag() { return FloatImag; } in getComplexFloatImag()
1610 static bool EvaluateFloat(const Expr *E, APFloat &Result, EvalInfo &Info);
2075 QualType SrcType, const APFloat &Value, in HandleFloatToIntCast()
2083 if (Value.convertToInteger(Result, llvm::APFloat::rmTowardZero, &ignored) in HandleFloatToIntCast()
2084 & APFloat::opInvalidOp) in HandleFloatToIntCast()
2091 APFloat &Result) { in HandleFloatToFloatCast()
2092 APFloat Value = Result; in HandleFloatToFloatCast()
2095 APFloat::rmNearestTiesToEven, &ignored) in HandleFloatToFloatCast()
2096 & APFloat::opOverflow) in HandleFloatToFloatCast()
2116 QualType DestType, APFloat &Result) { in HandleIntToFloatCast()
2117 Result = APFloat(Info.Ctx.getFloatTypeSemantics(DestType), 1); in HandleIntToFloatCast()
2119 APFloat::rmNearestTiesToEven) in HandleIntToFloatCast()
2120 & APFloat::opOverflow) in HandleIntToFloatCast()
2321 APFloat &LHS, BinaryOperatorKind Opcode, in handleFloatFloatBinOp()
2322 const APFloat &RHS) { in handleFloatFloatBinOp()
2328 LHS.multiply(RHS, APFloat::rmNearestTiesToEven); in handleFloatFloatBinOp()
2331 LHS.add(RHS, APFloat::rmNearestTiesToEven); in handleFloatFloatBinOp()
2334 LHS.subtract(RHS, APFloat::rmNearestTiesToEven); in handleFloatFloatBinOp()
2337 LHS.divide(RHS, APFloat::rmNearestTiesToEven); in handleFloatFloatBinOp()
2987 bool found(APFloat &Value, QualType SubobjType) { in found()
3047 bool found(APFloat &Value, QualType SubobjType) { in found()
3457 APFloat FValue(0.0); in found()
3468 bool found(APFloat &Value, QualType SubobjType) { in found()
3618 bool found(APFloat &Value, QualType SubobjType) { in found()
3624 APFloat One(Value.getSemantics(), 1); in found()
3626 Value.add(One, APFloat::rmNearestTiesToEven); in found()
3628 Value.subtract(One, APFloat::rmNearestTiesToEven); in found()
6995 APFloat FloatResult(0.0); in VisitCastExpr()
7020 if (&Sem == &APFloat::x87DoubleExtended()) in VisitCastExpr()
7028 Elts.push_back(APValue(APFloat(Sem, Elt))); in VisitCastExpr()
7084 llvm::APFloat f(0.0); in VisitInitListExpr()
7089 f = APFloat::getZero(Info.Ctx.getFloatTypeSemantics(EltTy)); in VisitInitListExpr()
7107 APValue(APFloat::getZero(Info.Ctx.getFloatTypeSemantics(EltTy))); in ZeroInitialization()
8290 APFloat Val(0.0); in VisitBuiltinCallExpr()
8295 case APFloat::fcNaN: Arg = 0; break; in VisitBuiltinCallExpr()
8296 case APFloat::fcInfinity: Arg = 1; break; in VisitBuiltinCallExpr()
8297 case APFloat::fcNormal: Arg = Val.isDenormal() ? 3 : 2; break; in VisitBuiltinCallExpr()
8298 case APFloat::fcZero: Arg = 4; break; in VisitBuiltinCallExpr()
8304 APFloat Val(0.0); in VisitBuiltinCallExpr()
8310 APFloat Val(0.0); in VisitBuiltinCallExpr()
8316 APFloat Val(0.0); in VisitBuiltinCallExpr()
8322 APFloat Val(0.0); in VisitBuiltinCallExpr()
8328 APFloat Val(0.0); in VisitBuiltinCallExpr()
9137 LHS.FloatImag = APFloat(LHS.FloatReal.getSemantics()); in EvaluateComparisonBinaryOperator()
9149 RHS.FloatImag = APFloat(RHS.FloatReal.getSemantics()); in EvaluateComparisonBinaryOperator()
9154 APFloat::cmpResult CR_r = in EvaluateComparisonBinaryOperator()
9156 APFloat::cmpResult CR_i = in EvaluateComparisonBinaryOperator()
9158 bool IsEqual = CR_r == APFloat::cmpEqual && CR_i == APFloat::cmpEqual; in EvaluateComparisonBinaryOperator()
9170 APFloat RHS(0.0), LHS(0.0); in EvaluateComparisonBinaryOperator()
9182 case APFloat::cmpEqual: in EvaluateComparisonBinaryOperator()
9184 case APFloat::cmpLessThan: in EvaluateComparisonBinaryOperator()
9186 case APFloat::cmpGreaterThan: in EvaluateComparisonBinaryOperator()
9188 case APFloat::cmpUnordered: in EvaluateComparisonBinaryOperator()
9841 APFloat F(0.0); in VisitCastExpr()
9927 APFloat &Result;
9929 FloatExprEvaluator(EvalInfo &info, APFloat &result) in FloatExprEvaluator()
9938 Result = APFloat::getZero(Info.Ctx.getFloatTypeSemantics(E->getType())); in ZeroInitialization()
9956 static bool EvaluateFloat(const Expr* E, APFloat& Result, EvalInfo &Info) { in EvaluateFloat()
9965 llvm::APFloat &Result) { in TryEvaluateBuiltinNaN()
9981 Result = llvm::APFloat::getSNaN(Sem, false, &fill); in TryEvaluateBuiltinNaN()
9983 Result = llvm::APFloat::getQNaN(Sem, false, &fill); in TryEvaluateBuiltinNaN()
9991 Result = llvm::APFloat::getQNaN(Sem, false, &fill); in TryEvaluateBuiltinNaN()
9993 Result = llvm::APFloat::getSNaN(Sem, false, &fill); in TryEvaluateBuiltinNaN()
10014 Result = llvm::APFloat::getInf(Sem); in VisitCallExpr()
10057 APFloat RHS(0.); in VisitCallExpr()
10090 Result = llvm::APFloat::getZero(Sem); in VisitUnaryImag()
10111 APFloat RHS(0.0); in VisitBinaryOperator()
10197 APFloat Zero = APFloat::getZero(Info.Ctx.getFloatTypeSemantics(ElemTy)); in ZeroInitialization()
10214 APFloat &Imag = Result.FloatImag; in VisitImaginaryLiteral()
10218 Result.FloatReal = APFloat(Imag.getSemantics()); in VisitImaginaryLiteral()
10297 APFloat &Real = Result.FloatReal; in VisitCastExpr()
10302 Result.FloatImag = APFloat(Real.getSemantics()); in VisitCastExpr()
10384 APFloat &Real = Result.FloatReal; in VisitBinaryOperator()
10388 Result.FloatImag = APFloat(Real.getSemantics()); in VisitBinaryOperator()
10399 APFloat &Real = RHS.FloatReal; in VisitBinaryOperator()
10403 RHS.FloatImag = APFloat(Real.getSemantics()); in VisitBinaryOperator()
10414 APFloat::rmNearestTiesToEven); in VisitBinaryOperator()
10419 APFloat::rmNearestTiesToEven); in VisitBinaryOperator()
10428 APFloat::rmNearestTiesToEven); in VisitBinaryOperator()
10434 APFloat::rmNearestTiesToEven); in VisitBinaryOperator()
10448 APFloat &A = LHS.getComplexFloatReal(); in VisitBinaryOperator()
10449 APFloat &B = LHS.getComplexFloatImag(); in VisitBinaryOperator()
10450 APFloat &C = RHS.getComplexFloatReal(); in VisitBinaryOperator()
10451 APFloat &D = RHS.getComplexFloatImag(); in VisitBinaryOperator()
10452 APFloat &ResR = Result.getComplexFloatReal(); in VisitBinaryOperator()
10453 APFloat &ResI = Result.getComplexFloatImag(); in VisitBinaryOperator()
10464 APFloat AC = A * C; in VisitBinaryOperator()
10465 APFloat BD = B * D; in VisitBinaryOperator()
10466 APFloat AD = A * D; in VisitBinaryOperator()
10467 APFloat BC = B * C; in VisitBinaryOperator()
10473 A = APFloat::copySign( in VisitBinaryOperator()
10474 APFloat(A.getSemantics(), A.isInfinity() ? 1 : 0), A); in VisitBinaryOperator()
10475 B = APFloat::copySign( in VisitBinaryOperator()
10476 APFloat(B.getSemantics(), B.isInfinity() ? 1 : 0), B); in VisitBinaryOperator()
10478 C = APFloat::copySign(APFloat(C.getSemantics()), C); in VisitBinaryOperator()
10480 D = APFloat::copySign(APFloat(D.getSemantics()), D); in VisitBinaryOperator()
10484 C = APFloat::copySign( in VisitBinaryOperator()
10485 APFloat(C.getSemantics(), C.isInfinity() ? 1 : 0), C); in VisitBinaryOperator()
10486 D = APFloat::copySign( in VisitBinaryOperator()
10487 APFloat(D.getSemantics(), D.isInfinity() ? 1 : 0), D); in VisitBinaryOperator()
10489 A = APFloat::copySign(APFloat(A.getSemantics()), A); in VisitBinaryOperator()
10491 B = APFloat::copySign(APFloat(B.getSemantics()), B); in VisitBinaryOperator()
10497 A = APFloat::copySign(APFloat(A.getSemantics()), A); in VisitBinaryOperator()
10499 B = APFloat::copySign(APFloat(B.getSemantics()), B); in VisitBinaryOperator()
10501 C = APFloat::copySign(APFloat(C.getSemantics()), C); in VisitBinaryOperator()
10503 D = APFloat::copySign(APFloat(D.getSemantics()), D); in VisitBinaryOperator()
10507 ResR = APFloat::getInf(A.getSemantics()) * (A * C - B * D); in VisitBinaryOperator()
10508 ResI = APFloat::getInf(A.getSemantics()) * (A * D + B * C); in VisitBinaryOperator()
10529 APFloat &A = LHS.getComplexFloatReal(); in VisitBinaryOperator()
10530 APFloat &B = LHS.getComplexFloatImag(); in VisitBinaryOperator()
10531 APFloat &C = RHS.getComplexFloatReal(); in VisitBinaryOperator()
10532 APFloat &D = RHS.getComplexFloatImag(); in VisitBinaryOperator()
10533 APFloat &ResR = Result.getComplexFloatReal(); in VisitBinaryOperator()
10534 APFloat &ResI = Result.getComplexFloatImag(); in VisitBinaryOperator()
10541 B = APFloat::getZero(A.getSemantics()); in VisitBinaryOperator()
10544 APFloat MaxCD = maxnum(abs(C), abs(D)); in VisitBinaryOperator()
10547 C = scalbn(C, -DenomLogB, APFloat::rmNearestTiesToEven); in VisitBinaryOperator()
10548 D = scalbn(D, -DenomLogB, APFloat::rmNearestTiesToEven); in VisitBinaryOperator()
10550 APFloat Denom = C * C + D * D; in VisitBinaryOperator()
10552 APFloat::rmNearestTiesToEven); in VisitBinaryOperator()
10554 APFloat::rmNearestTiesToEven); in VisitBinaryOperator()
10557 ResR = APFloat::getInf(ResR.getSemantics(), C.isNegative()) * A; in VisitBinaryOperator()
10558 ResI = APFloat::getInf(ResR.getSemantics(), C.isNegative()) * B; in VisitBinaryOperator()
10561 A = APFloat::copySign( in VisitBinaryOperator()
10562 APFloat(A.getSemantics(), A.isInfinity() ? 1 : 0), A); in VisitBinaryOperator()
10563 B = APFloat::copySign( in VisitBinaryOperator()
10564 APFloat(B.getSemantics(), B.isInfinity() ? 1 : 0), B); in VisitBinaryOperator()
10565 ResR = APFloat::getInf(ResR.getSemantics()) * (A * C + B * D); in VisitBinaryOperator()
10566 ResI = APFloat::getInf(ResI.getSemantics()) * (B * C - A * D); in VisitBinaryOperator()
10568 C = APFloat::copySign( in VisitBinaryOperator()
10569 APFloat(C.getSemantics(), C.isInfinity() ? 1 : 0), C); in VisitBinaryOperator()
10570 D = APFloat::copySign( in VisitBinaryOperator()
10571 APFloat(D.getSemantics(), D.isInfinity() ? 1 : 0), D); in VisitBinaryOperator()
10572 ResR = APFloat::getZero(ResR.getSemantics()) * (A * C + B * D); in VisitBinaryOperator()
10573 ResI = APFloat::getZero(ResI.getSemantics()) * (B * C - A * D); in VisitBinaryOperator()
10763 llvm::APFloat F(0.0); in Evaluate()
10956 bool Expr::EvaluateAsFloat(APFloat &Result, const ASTContext &Ctx, in EvaluateAsFloat()
11460 llvm::APFloat::rmTowardZero, in CheckICE()
11461 &Ignored) & APFloat::opInvalidOp) in CheckICE()