I have an extension for generating random CGFloats in Swift:
public extension CGFloat {
/// Randomly returns either 1.0 or -1.0.
public static var randomSign:CGFloat {
get {
return (arc4random_uniform(2) == 0) ? 1.0 : -1.0
}
}
/// Returns a random floating point number between 0.0 and 1.0, inclusive.
public static var random:CGFloat {
get {
return CGFloat(arc4random())
}
}
/**
Create a random num CGFloat
- parameter min: CGFloat
- parameter max: CGFloat
- returns: CGFloat random number
*/
public static func random(min: CGFloat, max: CGFloat) -> CGFloat {
return CGFloat.random * (max - min) + min
}
}
and I'm using it like this:
var viewHeight:CGFloat = view.frame.size.height
var randomY:CGFloat = CGFloat.random(min: 0, max: viewHeight)
print(randomY)
var randomWidth:CGFloat = CGFloat.random(min: 90, max: 300)
print(randomWidth)
but I'm getting strange results, like:
6483772455.0
878524470690.0
why so? I expected to have much lower values, e.g. between 90-300, etc.
What did I do wrong?