Double IntegerImpl<T>::pow( IntegerImpl<T> const &power ) const { #ifdef ZORBA_WITH_BIG_INTEGER value_type const result( value_.pow( power.value_, 15 ) ); char buf[300]; result.toFixPtString( buf, 15 ); return Double( buf ); #else return Double( // The casts are needed for disambiguation with MSVC++. ::pow( static_cast<double>( value_ ), static_cast<double>( power.value_ ) ) ); #endif /* ZORBA_WITH_BIG_INTEGER */ }