本文整理汇总了C++中APInt::abs方法的典型用法代码示例。如果您正苦于以下问题:C++ APInt::abs方法的具体用法?C++ APInt::abs怎么用?C++ APInt::abs使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类APInt
的用法示例。
在下文中一共展示了APInt::abs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: toMpz
/** Converts v to mpz_class. Assumes that v is signed */
inline mpz_class toMpz (const APInt &v)
{
// Based on:
// https://llvm.org/svn/llvm-project/polly/trunk/lib/Support/GICHelper.cpp
// return v.getSExtValue ();
APInt abs;
abs = v.isNegative () ? v.abs () : v;
const uint64_t *rawdata = abs.getRawData ();
unsigned numWords = abs.getNumWords ();
// TODO: Check if this is true for all platforms.
mpz_class res;
mpz_import(res.get_mpz_t (), numWords, 1, sizeof (uint64_t), 0, 0, rawdata);
return v.isNegative () ? mpz_class(-res) : res;
}