[swift-evolution] [Proposal] Random Unification
Jens Persson
jens at bitcycle.com
Wed Jan 10 16:07:42 CST 2018
On Tue, Jan 9, 2018 at 10:07 PM, Jonathan Hull via swift-evolution <
swift-evolution at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20180110/b8d7de41/attachment.html>
More information about the swift-evolution
mailing list