X-Git-Url: http://git.kpe.io/?p=kmrcl.git;a=blobdiff_plain;f=random.lisp;h=756cc5f38d902c6a6926587595cd2c0f6dc18b11;hp=cf173fc83b74ee36cbc2aa57451c7954eeb92c3a;hb=373a64e9369c2e96c465eb462a035884c7e08fa6;hpb=5e5cc3c20a925d8af5de153a118fdaf0792dd7e2 diff --git a/random.lisp b/random.lisp index cf173fc..756cc5f 100644 --- a/random.lisp +++ b/random.lisp @@ -3,38 +3,39 @@ ;;;; FILE IDENTIFICATION ;;;; ;;;; Name: random.lisp -;;;; Purpose: Random number functions for GENUTILS package +;;;; Purpose: Random number functions for KMRCL package ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: random.lisp,v 1.1 2002/10/06 13:21:47 kevin Exp $ +;;;; $Id$ ;;;; -;;;; This file, part of Genutils, is Copyright (c) 2002 by Kevin M. Rosenberg +;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; -;;;; Genutils users are granted the rights to distribute and use this software -;;;; as governed by the terms of the GNU General Public License. +;;;; KMRCL users are granted the rights to distribute and use this software +;;;; as governed by the terms of the Lisp Lesser GNU Public License +;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. ;;;; ************************************************************************* -(in-package :genutils) +(in-package #:kmrcl) (defun seed-random-generator () "Evaluate a random number of items" - (let ((randfile (make-pathname - :directory '(:absolute "dev") - :name "urandom"))) + (let ((randfile (make-pathname + :directory '(:absolute "dev") + :name "urandom"))) (setf *random-state* (make-random-state t)) (if (probe-file randfile) - (with-open-file - (rfs randfile :element-type 'unsigned-byte) - (let* - ;; ((seed (char-code (read-char rfs)))) - ((seed (read-byte rfs))) - ;;(format t "Randomizing!~%") - (loop - for item from 1 to seed - do (loop - for it from 0 to (+ (read-byte rfs) 5) - do (random 65536)))))))) + (with-open-file + (rfs randfile :element-type 'unsigned-byte) + (let* + ;; ((seed (char-code (read-char rfs)))) + ((seed (read-byte rfs))) + ;;(format t "Randomizing!~%") + (loop + for item from 1 to seed + do (loop + for it from 0 to (+ (read-byte rfs) 5) + do (random 65536)))))))) (defmacro random-choice (&rest exprs)