本文整理汇总了C++中Number::get_i方法的典型用法代码示例。如果您正苦于以下问题:C++ Number::get_i方法的具体用法?C++ Number::get_i怎么用?C++ Number::get_i使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Number
的用法示例。
在下文中一共展示了Number::get_i方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fabs
Number fabs(const Number& num1)
{
switch (num1.type())
{
case Number::INTEGER:
{
integer_type i = b_mp::abs(num1.get_i());
return Number(i);
}
case Number::FLOATING:
{
floating_type f = b_mp::fabs(num1.to_f());
return Number(f);
}
case Number::RATIONAL:
{
rational_type r = b_mp::abs(num1.get_r());
return Number(r);
}
#ifndef PMP_DISABLE_VECTOR
case Number::VECTOR:
{
vector_type v = num1.get_v();
for (size_t i = 0; i < v.size(); ++i)
{
v[i] = abs(v[i]);
}
return Number(v);
}
#endif
default:
assert(0);
return 0;
}
}
示例2: compare
int Number::compare(const Number& num) const
{
#ifndef PMP_DISABLE_VECTOR
if (is_v() || num.is_v())
{
bool comparisons[3];
compare(num, comparisons);
if (comparisons[0]) return -1;
else if (comparisons[1]) return 0;
else if (comparisons[2]) return 1;
else return -2;
}
#endif
floating_type f;
switch (type())
{
case Number::INTEGER:
switch (num.type())
{
case Number::INTEGER:
return get_i().compare(num.get_i());
case Number::FLOATING:
f = to_f();
return f.compare(num.get_f());
case Number::RATIONAL:
f = to_f();
return f.compare(num.to_f());
default:
assert(0);
return 0;
}
case Number::FLOATING:
switch (num.type())
{
case Number::INTEGER:
f = num.to_f();
return get_f().compare(f);
case Number::FLOATING:
return get_f().compare(num.get_f());
case Number::RATIONAL:
return get_f().compare(num.to_f());
default:
assert(0);
return 0;
}
case Number::RATIONAL:
switch (num.type())
{
case Number::INTEGER:
f = num.to_f();
return to_f().compare(f);
case Number::FLOATING:
return to_f().compare(num.get_f());
case Number::RATIONAL:
return to_f().compare(num.to_f());
default:
assert(0);
return 0;
}
default:
assert(0);
return 0;
}
}