Pseudorandom number generator image: Difference between revisions
Content added Content deleted
(Added Wren) |
(Added Go) |
||
Line 19: | Line 19: | ||
* Linear congruential generator [https://en.wikipedia.org/wiki/Linear_congruential_generator]. |
* Linear congruential generator [https://en.wikipedia.org/wiki/Linear_congruential_generator]. |
||
=={{header|Go}}== |
|||
The math/rand package uses a custom algorithm attributed to D.P.Mitchell and J.A.Reeds. It doesn't need to be seeded by a prime number. Typically (as here) the seed is generated from the current time. |
|||
The image is saved to a .png file which can then be viewed with a utility such as EOG. |
|||
<lang go>package main |
|||
import ( |
|||
"image" |
|||
"image/color" |
|||
"image/png" |
|||
"log" |
|||
"math/rand" |
|||
"os" |
|||
"time" |
|||
) |
|||
func main() { |
|||
rand.Seed(time.Now().UnixNano()) |
|||
img := image.NewNRGBA(image.Rect(0, 0, 1000, 1000)) |
|||
for x := 0; x < 1000; x++ { |
|||
for y := 0; y < 1000; y++ { |
|||
col := color.RGBA{uint8(rand.Intn(256)), uint8(rand.Intn(256)), uint8(rand.Intn(256)), 255} |
|||
img.Set(x, y, col) |
|||
} |
|||
} |
|||
fileName := "pseudorandom_number_generator.png" |
|||
imgFile, err := os.Create(fileName) |
|||
if err != nil { |
|||
log.Fatal(err) |
|||
} |
|||
defer imgFile.Close() |
|||
if err := png.Encode(imgFile, img); err != nil { |
|||
imgFile.Close() |
|||
log.Fatal(err) |
|||
} |
|||
}</lang> |
|||
=={{header|Java}}== |
=={{header|Java}}== |