examples/example.rkt
#lang racket
;;; Science Collection
;;; example.rkt
;;; Copyright (c) 2004-2011 M. Douglas Williams
;;;
;;; This file is part of the Science Collection.
;;;
;;; The Science Collection is free software: you can redistribute it and/or
;;; modify it under the terms of the GNU Lesser General Public License as
;;; published by the Free Software Foundation, either version 3 of the License
;;; or (at your option) any later version.
;;;
;;; The Science Collection is distributed in the hope that it will be useful,
;;; but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY
;;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
;;; License for more details.
;;;
;;; You should have received a copy of the GNU Lesser General Public License
;;; along with the Science Collection.  If not, see
;;; <http://www.gnu.org/licenses/>.
;;;
;;; -----------------------------------------------------------------------------
;;;

(require (planet williams/science/random-source)
         (planet williams/science/discrete-histogram-with-graphics))

(let ((s (make-random-source))
      (h (make-discrete-histogram)))
  (random-source-randomize! s)
  (for ((i (in-range 10000)))
    (let ((die1 (+ (random-uniform-int 6) 1))
          (die2 (+ (random-uniform-int 6) 1)))
      (discrete-histogram-increment! h (+ die1 die2))))
  (discrete-histogram-plot h "Histogram of the Sum of Two Dice"))