Skip to content

Instantly share code, notes, and snippets.

@aryamansharda
Last active September 8, 2020 04:10
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/d53fb9e8dd5504a920ca8adec193e818 to your computer and use it in GitHub Desktop.
Save aryamansharda/d53fb9e8dd5504a920ca8adec193e818 to your computer and use it in GitHub Desktop.
Linear Congruential Generator
import Foundation
final class LCG {
static func generate(modulus: Int, multiplier: Int, increment: Int, seed: Int) -> Int {
return (multiplier * seed + increment) % modulus
}
}
// Generating 100 random numbers using LCG
var seed = 0
for _ in 0..<100 {
let randomNumber = LCG.generate(modulus: 2147483648, multiplier: 1103515245, increment: 12345, seed: seed)
seed = randomNumber
print(randomNumber)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment