 }
 
 extension Float : RandomType {
+	/// Produces a random `Float` value in the range `[Float.min, Float.max]`.
 	public static func random<G : RandomGeneneratorType>(rng : G) -> (Float, G) {
 		let (x, rng_) : (Int32, G) = randomBound(rng)
 		let twoto24 = Int32(2) ^ Int32(24)

		return (Double(mask53 & (x)) / Double(twoto53), rng_)
	}

	public static func randomInRange<G : RandomGeneneratorType>(range : (Double, Double), gen : G) -> (Double, G) {
		let (l, h) = range
		if l > h {

}

extension UInt : RandomType {
	/// Returns a random `UInt` value using the given range and generator.
	public static func randomInRange<G : RandomGeneneratorType>(range : (UInt, UInt), gen : G) -> (UInt, G) {
		let (minl, maxl) = range
		let (bb, gg) = Int64.randomInRange((Int64(Int(bitPattern: minl)), Int64(Int(bitPattern: maxl))), gen: gen)
