On Tue, Jan 9, 2018 at 10:07 PM, Jonathan Hull via swift-evolution < swift-evolution@swift.org> wrote:
> > One additional question. How do you ergonomically get a Double which > doesn’t have a range, but also isn’t NaN? > > Assuming you are ok with signed zero and infinities and "strange" bias as result of IEEE 754: func randomNonNanDouble<R: RandomNumberGenerator>(using generator: R) -> Double { while true { let rndUInt64 = generator.next() let rndDouble = Double(bitPattern: rndUInt64) if rndDouble != Double.nan { return rndDouble } } } /Jens
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution