<div dir="ltr">I&#39;m not sure what you mean David. That function was just part of my attempt at presenting a solution to Antonino&#39;s question (that particular function is from Antonino&#39;s code).<div>Below is my solution to Antonino&#39;s problem again, including a perhaps clearer comment in that function:</div><div><br></div><div><div>protocol Float80Convertible : BinaryFloatingPoint {</div><div>    init(_ value: Float80)</div><div>    var float80: Float80 { get }</div><div>}</div><div>extension Double : Float80Convertible {</div><div>    var float80: Float80 { return Float80(self) }</div><div>}</div><div>extension Float : Float80Convertible {</div><div>    var float80: Float80 { return Float80(self) }</div><div>}</div><div><br></div><div>func maxPrecisionCalculation(input:Float80) -&gt; Float80 {</div><div>    return inpu</div><div>    // In the actual use case, this would of course not just</div><div>    // return input. Instead it would perform some computation</div><div>    // that (in contrast to just returning input) actually needs</div><div>    // the high precision of Float80.</div><div>}</div><div><br></div><div>func someComplexCalculation&lt;T:Float80Convertible&gt;(input: T) -&gt; T {</div><div>    let input80 = input.float80</div><div>    let output80 = maxPrecisionCalculation(input: input80)</div><div>    return T(output80)</div><div>}</div></div><div><br></div><div>/Jens</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 1, 2017 at 11:59 PM, David Sweeris <span dir="ltr">&lt;<a href="mailto:davesweeris@mac.com" target="_blank">davesweeris@mac.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><span class=""><br><br><div>On Dec 1, 2017, at 13:18, Jens Persson via swift-users &lt;<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a>&gt; wrote:<br><br></div><blockquote type="cite"><div dir="ltr"><div>func maxPrecisionCalculation(input:<wbr>Float80) -&gt; Float80 {</div><div>    return input // but something actually reauiring high precision ...</div><div>}</div></div></blockquote><br></span><div>AFAIK, Float80 <i>is</i> the high precision format on macOS (well, Intel macs, anyway... can’t recall if Swift can target OSs old enough to run on PPC macs). I’d avoid using it, though. AFAIK it’s an x86-only format (it might even be Intel-only... 5-10 minutes of googling didn’t give me a clear answer on whether AMD’s CPUs support it).</div><div><br></div><div>I don’t know what we do with it on ARM targets, and I’m not at my computer to try to figure out.</div><div><br></div><div>Unless maybe the x86 or ARM vector extensions support 128 or 256 bit floats? I don’t think they do, but I’m not 100% on that.</div><div><br></div><div>- Dave Sweeris</div></div></blockquote></div><br></div>