Any ideas when Foundation on Linux will support arc4random_uniform? This is
kind of an important function.
There doesn't seem to be any decent substitute without requiring the
installation of libbsd-dev, which turns out to be messy. Currently I am
doing this, but glibc random with mod does not produce good quality
numbers, due to modulo bias.
Has anyone come up with a better solution to get a true uniform
distribution that isn't super messy?
import Foundation
#if os(Linux)
import Glibc
#endif
public func random_uniform(range: Int) -> Int {
guard range > 0 else { return 0 }
#if os(Linux)
return Int(random()) % range
#else
return Int(arc4random_uniform(UInt32(range)))
#endif
}
Thanks, Ed
_______________________________________________
swift-users mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-users