Fix types/initforms
[reversi.git] / edge-table-storage.lisp
index d09f4166aeea8ee23859da69464b7b18693cb734..f8d3b1036ca665e30fb27ef32dd7b8fec9450075 100644 (file)
@@ -1,62 +1,64 @@
 ;;;;***************************************************************************
 ;;;;
 ;;;; FILE IDENTIFICATION
-;;;; 
+;;;;
 ;;;;  Name:           edge-table-storage.lisp
 ;;;;  Purpose:        Store precompiled edge table for reversi
 ;;;;  Programer:      Kevin Rosenberg
 ;;;;  Date Started:   1 Nov 2001
 ;;;;
-;;;; $Id: edge-table-storage.lisp,v 1.3 2002/10/25 12:39:15 kevin Exp $
+;;;; $Id$
 ;;;;
-;;;; This file is Copyright (c) 2002 by Kevin M. Rosenberg
+;;;; This file is Copyright (c) 2001-2003 by Kevin M. Rosenberg
 ;;;;
 ;;;; Reversi 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 :reversi)
+(in-package #:reversi)
 
 (defparameter *et-path* nil)
 
 (eval-when (:load-toplevel :execute)
   (let ((precompiled-path (make-pathname
-                          :directory '(:absolute "usr" "share" "common-lisp"
-                                                 "source" "reversi")
-                          :name "edge-table"
-                          :type "dat")))
+                           :directory '(:absolute "usr" "share" "common-lisp"
+                                                  "source" "reversi")
+                           :name "edge-table"
+                           :type "dat")))
     (if (probe-file precompiled-path)
-       (setq *et-path* precompiled-path)
+        (setq *et-path* precompiled-path)
       (setq *et-path* (make-pathname
-                      :directory (pathname-directory *load-truename*)
-                      :host (pathname-host *load-truename*)
-                      :device (pathname-device *load-truename*)
-                      :name "edge-table"
-                      :type "dat"))))
+                       :directory (pathname-directory *load-truename*)
+                       :host (pathname-host *load-truename*)
+                       :device (pathname-device *load-truename*)
+                       :name "edge-table"
+                       :type "dat"))))
 
-  (defun store-edge-table (et &optional (path *et-path*)) 
+  (defun store-edge-table (et &optional (path *et-path*))
+    (declare (type edge-table et))
     (with-open-file (stream path :direction :output
-                           :if-exists :supersede)
+                            :if-exists :supersede)
       (print (length et) stream)
       (dotimes (i (length et))
-       (declare (fixnum i))
-       (print (aref et i) stream))))
-  
+        (declare (fixnum i))
+        (print (aref et i) stream))))
+
   (defun load-edge-table (&optional (path *et-path*))
     (when (probe-file path)
       (with-open-file (stream path :direction :input)
-       (let* ((length (read stream))
-              (et (make-array length :element-type 'fixnum)))
-                     (dotimes (i length)
-                       (declare (fixnum i))
-                       (setf (aref et i) (read stream)))
-                     et))))
-  
+        (let* ((length (read stream))
+               (et (make-array length :element-type 'fixnum)))
+          (declare (type (simple-array fixnum (*)) et))
+          (dotimes (i length)
+            (declare (fixnum i))
+            (setf (aref et i) (read stream)))
+          et))))
+
   (unless (probe-file *et-path*)
     (format *trace-output* ";; Recompiling edge-table, this make take several minutes")
     (store-edge-table (make-edge-table)))
-  
+
   (unless *edge-table*
     (setq *edge-table* (load-edge-table))))