clml
clml copied to clipboard
In som test: using relative pathname and a string as directory
in som/examples/test.lisp, test:
-
The argument filename default to a relative pathname, which works only if the current directory happens to be the right one. It needs to use asdf:system-relative-pathname to make sure it always gets it.
-
The last argument to do-som-by-filename is a string, that ends being passed to make-pathname as the directory argumnet. But when make-pathname gets a string as a directoyr, it must be a top level directory, so it gets an error. It needs to pass a proper directory, for example
(pathname-directory (asdf/system:system-relative-pathname "clml.som" "examples/"))
.
I change the definiton of test as below, and then it ran without a problem:
(defun test (&key (filename (asdf/system:system-relative-pathname "clml.som" "examples/animal.dat"))) (declare (optimize (speed 3))) (do-som-by-filename filename "hexa" "gaussian" 24 ;; x size of map 16 ;; y size of map 123 ;; random seed 10000 ;; total length of study 5 ;; alpha x 100 2400 ;; radius x 100 10 (pathname-directory (asdf/system:system-relative-pathname "clml.som" "examples/"))))