計算機プログラムの構造と解釈 第二版 P29 問題1.22 1.24

タイトルの問題で、Gaucheにない関数(runtimeとrandom)を使うのでそれを覚え書き。

誰かのブログから取ってきたんだけど、誰のだか忘れた。

;;runtime
(define (runtime)
  (use srfi-11)
  (let-values (((a b) (sys-gettimeofday)))
              (+ 1000000 b)))


randomは結城浩先生の記事を参考にした
http://sicp.g.hatena.ne.jp/hyuki/20060503/mt

;;random;;;;;;;;;;;;;;;;;;;;;;
(use math.mt-random)
(define mt (make <mersenne-twister> :seed (sys-time)))
(define (random n)
  (mt-random-integer mt n)) 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;