<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 09/09/2013 11:49 AM, Richard Hadsell
wrote:<br>
</div>
<blockquote cite="mid:522DEE07.20207@blueskystudios.com" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
This may not be necessary. I found another clue here, in section
1.1: <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://sourceware.org/newlib/libm.html">https://sourceware.org/newlib/libm.html</a><br>
<br>
When I tested the initial value of libm's <code>_LIB_VERSION, I
found that my G++ version starts up with _IEEE_, the fastest
mode (no exception handling, no warnings, ignoring errno. The
Clang++ version starts up with _POSIX_, which sets errno
correctly.<br>
<br>
I will test our code's behavior, when I set </code><code>_LIB_VERSION
to </code><code>_IEEE_ explicitly, and I'll let you know if
this explains the difference.<br>
</code> </blockquote>
Unfortunately, that did not help. The version change did not
improve the behavior of exp2 -- it is still slower than pow. I will
have to stick with my workaround, giving pow a const double with the
value 2.0 instead of a literal 2.0.<br>
<br>
You may continue to consider how Clang++ could be controlled to
avoid converting to the slower function.<br>
<br>
<pre class="moz-signature" cols="256">--
Dick Hadsell 203-992-6320 Fax: 203-992-6001
Reply-to: <a class="moz-txt-link-abbreviated" href="mailto:hadsell@blueskystudios.com">hadsell@blueskystudios.com</a>
Blue Sky Studios <a class="moz-txt-link-freetext" href="http://www.blueskystudios.com">http://www.blueskystudios.com</a>
1 American Lane, Greenwich, CT 06831-2560
</pre>
</body>
</html>