1
// randcomp visualizes random number generators
13
"github.com/ajstarks/svgo"
16
var canvas = svg.New(os.Stdout)
25
n, _ = strconv.Atoi(os.Args[1])
28
f, _ := os.Open("/dev/urandom")
35
rand.Seed(int64(time.Now().Nanosecond()) % 1e9)
36
canvas.Start(600, 400)
37
canvas.Title("Random Integer Comparison")
38
canvas.Desc("Comparison of Random integers: the random device & the Go rand package")
39
canvas.Rect(0, 0, width/2, height, "fill:white; stroke:gray")
40
canvas.Rect(width/2, 0, width/2, height, "fill:white; stroke:gray")
42
canvas.Desc("Left: Go rand package (red), Right: /dev/urandom")
43
canvas.Gstyle("stroke:none; fill-opacity:0.5")
44
for i := 0; i < n; i++ {
47
canvas.Circle(rx, ry, 5, canvas.RGB(127, 0, 0))
48
canvas.Circle(int(x[i])+255, int(y[i]), 5, "fill:black")
52
canvas.Desc("Legends")
53
canvas.Gstyle("text-anchor:middle; font-size:18; font-family:Calibri")
54
canvas.Text(128, 280, "Go rand package", "")
55
canvas.Text(384, 280, "/dev/urandom")
56
canvas.Text(256, 280, fmt.Sprintf("n=%d", n), "font-size:12")