
24 Feb
2013
24 Feb
'13
9:50 a.m.
On Sunday 24 February 2013 09:51:27 Antony Polukhin wrote:
2013/2/24 Jeroen Habraken <vexocide@gmail.com>:
On 23 February 2013 18:53, Eric Niebler <eniebler@boost.org> wrote:
lexical_cast is using math::changesign with long double regardless of whether BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS is defined or not. This is causing Boost.Test build problems (see here http://tinyurl.com/af5453h ).
I'm pretty sure this is a bug in lexical_cast, so I've opened a ticket: https://svn.boost.org/trac/boost/ticket/8162
So, portable way of changing sign is just to multiply on -1 ?
You could toggle the most significant bit, if FP numbers have IEEE 754 format (which should be common nowdays). Unlike multiplication, this would keep the precision and is faster.