本文整理汇总了C++中APInt::sextOrSelf方法的典型用法代码示例。如果您正苦于以下问题:C++ APInt::sextOrSelf方法的具体用法?C++ APInt::sextOrSelf怎么用?C++ APInt::sextOrSelf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类APInt
的用法示例。
在下文中一共展示了APInt::sextOrSelf方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: findShortestPath
// Adds the edge F -> T with weight Weight.
APInt IneqGraph::findShortestPath(Value *F, Value *T) {
DEBUG(dbgs() << "IneqGraph: findShortestPath: " << *F << " ==> " << *T << "\n");
if (isa<ConstantInt>(F) || isa<ConstantInt>(T)) {
APInt RangeF = getUpper(F);
APInt RangeT = getLower(T);
DEBUG(dbgs() << "Ranges: " << RangeF << " and " << RangeT << "\n");
if (RangeF.isMaxSignedValue() || RangeF.isMinSignedValue() ||
RangeT.isMaxSignedValue() || RangeT.isMinSignedValue())
return APInt::getSignedMaxValue(64);
return RangeF.sextOrSelf(64) - RangeT.sextOrSelf(64);
}
GraphNode *FN = getOrCreateNode(F);
GraphNode *TN = getOrCreateNode(T);
return FN->findShortestPath(TN);
}
示例2: assert
Value *IslExprBuilder::createInt(__isl_take isl_ast_expr *Expr) {
assert(isl_ast_expr_get_type(Expr) == isl_ast_expr_int &&
"Expression not of type isl_ast_expr_int");
isl_int Int;
Value *V;
APInt APValue;
IntegerType *T;
isl_int_init(Int);
isl_ast_expr_get_int(Expr, &Int);
APValue = APInt_from_MPZ(Int);
T = getType(Expr);
APValue = APValue.sextOrSelf(T->getBitWidth());
V = ConstantInt::get(T, APValue);
isl_ast_expr_free(Expr);
isl_int_clear(Int);
return V;
}