本文整理汇总了C++中BigFloat::Precision方法的典型用法代码示例。如果您正苦于以下问题:C++ BigFloat::Precision方法的具体用法?C++ BigFloat::Precision怎么用?C++ BigFloat::Precision使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BigFloat
的用法示例。
在下文中一共展示了BigFloat::Precision方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SafeMin
inline BigFloat SafeMin( const BigFloat& alpha )
{
// TODO: Decide how to only recompute this when the precision changes
const BigFloat one = BigFloat(1,alpha.Precision());
const BigFloat eps = Epsilon(alpha);
const BigFloat minVal = Min(alpha);
const BigFloat invMax = one/Max(alpha);
return ( invMax>minVal ? invMax*(one+eps) : minVal );
}
示例2: one
inline BigFloat Epsilon<BigFloat>( const BigFloat& alpha )
{
// NOTE: This 'precision' is the number of bits in the mantissa
auto p = alpha.Precision();
// epsilon = b^{-(p-1)} / 2 = 2^{-p}
BigFloat one(1,p);
return one >> p;
}
示例3:
inline Int NumMantissaBits<BigFloat>( const BigFloat& alpha )
{ return alpha.Precision(); }
示例4: inf
inline BigFloat Infinity<BigFloat>( const BigFloat& alpha )
{
BigFloat inf(0,alpha.Precision());
mpfr_set_inf( inf.Pointer(), 1 );
return inf;
}