<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 8, 2018 at 5:50 PM, Jonathan Wilkes <span dir="ltr"><<a href="mailto:jon.w.wilkes@gmail.com" target="_blank">jon.w.wilkes@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi list,<br>
<br>
We've merged one patch from Pranay's GSoC double precision project,<br>
and I'll be merging another one soon:<br>
<br>
<a href="https://git.purrdata.net/pranay_36/purr-data/commit/d0d6b54deb1b803c67d85bd5d123d3da98faf495" rel="noreferrer" target="_blank">https://git.purrdata.net/<wbr>pranay_36/purr-data/commit/<wbr>d0d6b54deb1b803c67d85bd5d123d3<wbr>da98faf495</a><br>
<br>
I'd like to raise a few questions before we get too deep into the project:<br>
<br>
1. We're using a macro PD_FLOAT_PRECISION to make it possible to set<br>
t_float precision at build time. This is the same macro katja used in<br>
pd double, but I noticed Pd Vanilla changed this to PD_FLOATSIZE. Does<br>
it matter? Related, should we go ahead and use the same macro as Pd<br>
Vanilla here?<br></blockquote><div><br>Pd vanilla has taken a few things from the pd double project but not literally. See commit:<br><br><a href="https://github.com/pure-data/pure-data/commit/68814591c121db8c613cef5d48d854db0c864d7c#diff-5b73ceaccdf7f5af4160c6c1f23ce5cb">https://github.com/pure-data/pure-data/commit/68814591c121db8c613cef5d48d854db0c864d7c#diff-5b73ceaccdf7f5af4160c6c1f23ce5cb</a><br><br>Not
 sure if more precision-related changes were made since then. For 
compatibility it is best to match pd vanilla wherever possible. Pd 
double is only a badly outdated proof of concept after all.<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
2. I'm not sure I understand the comment from the old code:<br>
<br>
/* a test for NANs and denormals.  Should only be necessary on i386. */<br></blockquote><div><br></div><div>That comment may date from the time when ppc and i386 were the major targets for pd.<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
How does x86_64 instruction set change things?<br>
<br>
Also, what does ARM do here?<br></blockquote><div><br></div><div>Current target platforms for pd (including ARM) are IEEE 747 compliant, so it's best to flush explicitly unless you know how to trick the compiler into generating fast math instructions for this. In my experience (a few years ago) gcc flag "-ffast-math" alone didn't do it. Maybe the code must be eligible for autovectorization before the compiler will even consider fast math instructions because they're done on the SIMD registers. Just a guess.<br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
-Jonathan<br>
______________________________<wbr>_________________<br>
L2Ork-dev mailing list<br>
<a href="mailto:L2Ork-dev@disis.music.vt.edu">L2Ork-dev@disis.music.vt.edu</a><br>
<a href="https://disis.music.vt.edu/listinfo/l2ork-dev" rel="noreferrer" target="_blank">https://disis.music.vt.edu/<wbr>listinfo/l2ork-dev</a></blockquote><div><br></div><div>Katja <br></div></div><br></div></div>