Skip to content

Instantly share code, notes, and snippets.

@aryamansharda
Created September 8, 2020 00:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aryamansharda/8bc6378a75685bd36face2ef2d656940 to your computer and use it in GitHub Desktop.
Save aryamansharda/8bc6378a75685bd36face2ef2d656940 to your computer and use it in GitHub Desktop.
LinearCongruentialGenerator+Range.swift
// Simulating 1,000,000 random values in a given range
let upperBound: Double = 80
let lowerBound: Double = 30
let modulus = 2147483648
var seed = 0
for _ in 1...1000000 {
let randomNumber = LCG.generate(modulus: modulus, multiplier: 1103515245, increment: 12345, seed: seed)
seed = randomNumber
let scalar = Double(randomNumber) / Double(modulus - 1)
let mappedNumber = Int((upperBound - lowerBound) * scalar + lowerBound)
print(mappedNumber)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment