$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] sorting floats by casting to integer
From: Phil Endecott (spam_from_boost_dev_at_[hidden])
Date: 2009-07-06 12:17:59
Steven Ross wrote:
> I think I've figured out what's going on with my 23-bit random data: floats
> on x86 have some form of optimization to look at the exponent first, and
> then the coefficient afterwards. On x86 systems, the comparison is
> extremely slow if the exponents are the same.
I still find that implausible.
> With 23-bit random data, all the exponents are the same.
You aren't setting all the exponents to zero are you? If you are then
I think you're generating de-normal values. The idea that comparing
de-normals is slow is plausible; it's the sort of thing that might be
done in microcode or in software on some systems.
(I've just noticed that Volodya has also suggested this explanation...)
Phil.