Opened 5 years ago

Closed 5 years ago

#8692 closed Bugs (fixed)

setting mpfr precision uses wrong precision and trashes value

Reported by: claude@… Owned by: John Maddock
Milestone: To Be Determined Component: multiprecision
Version: Boost Development Trunk Severity: Problem
Keywords: Cc:

Description Two bugs in boost/multiprecision/mpfr.hpp:920-923

  1. set_prec trashes the value, should use prec_round
  2. precision is converted from bits to digits10, should be from digits10 to bits
void precision(unsigned digits10) BOOST_NOEXCEPT
  mpfr_set_prec(this->m_data, multiprecision::detail::digits2_2_10((digits10)));

should be more like

void precision(unsigned digits10) BOOST_NOEXCEPT
  mpfr_prec_round(this->m_data, multiprecision::detail::digits10_2_2((digits10)), GMP_RNDN);

Change History (2)

comment:1 Changed 5 years ago by John Maddock

(In [84763]) Apply patch from #8692. Refs #8692.

comment:2 Changed 5 years ago by John Maddock

Resolution: fixed
Status: newclosed

(In [84799]) Merge fixes for from Trunk. Fixes #8692. Fixes #8670. Fixes #8667.

Note: See TracTickets for help on using tickets.