Subject: Re: [Boost-bugs] [Boost C++ Libraries] #12527: cpp_bin_float: Anal fixation. Part 3. Double rounding when result of convert_to<double>() is a subnormal
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-11-14 10:29:08
#12527: cpp_bin_float: Anal fixation. Part 3. Double rounding when result of
convert_to<double>() is a subnormal
-------------------------------+----------------------------
Reporter: Michael Shatz | Owner: johnmaddock
Type: Bugs | Status: reopened
Milestone: To Be Determined | Component: multiprecision
Version: Boost 1.62.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+----------------------------
Comment (by anonymous):
Nod. I started experimenting with an improved version last night - like
yours it calls ldexp exactly once for float and double conversions (at
least on 64-bit GCC), and it's *much* faster. Unfortunately I ran out of
time before tracking down a few bugs. There's also a strange issue when
the bit count is between 65 and 128 when it runs approx 10x slower! I
suspect {{{__int128 -> double}}} conversion is the bottleneck, but I'll
investigate more later in the week. Other than that, it's more or less
constant time regardless of the bit count.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/12527#comment:16> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC