I'm not sure what you mean David. That function was just part of my attempt at presenting a solution to Antonino's question (that particular function is from Antonino's code). Below is my solution to Antonino's problem again, including a perhaps clearer comment in that function:
protocol Float80Convertible : BinaryFloatingPoint { init(_ value: Float80) var float80: Float80 { get } } extension Double : Float80Convertible { var float80: Float80 { return Float80(self) } } extension Float : Float80Convertible { var float80: Float80 { return Float80(self) } } func maxPrecisionCalculation(input:Float80) -> Float80 { return inpu // In the actual use case, this would of course not just // return input. Instead it would perform some computation // that (in contrast to just returning input) actually needs // the high precision of Float80. } func someComplexCalculation<T:Float80Convertible>(input: T) -> T { let input80 = input.float80 let output80 = maxPrecisionCalculation(input: input80) return T(output80) } /Jens On Fri, Dec 1, 2017 at 11:59 PM, David Sweeris <daveswee...@mac.com> wrote: > > > On Dec 1, 2017, at 13:18, Jens Persson via swift-users < > swift-users@swift.org> wrote: > > func maxPrecisionCalculation(input:Float80) -> Float80 { > return input // but something actually reauiring high precision ... > } > > > AFAIK, Float80 *is* 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). > > I don’t know what we do with it on ARM targets, and I’m not at my computer > to try to figure out. > > 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. > > - Dave Sweeris >
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users