Add strictmath library
authorFrank Duncan <frank@kank.net>
Tue, 19 Apr 2016 14:36:26 +0000 (09:36 -0500)
committerFrank Duncan <frank@kank.net>
Wed, 20 Apr 2016 00:18:12 +0000 (19:18 -0500)
15 files changed:
.travis.yml
README.md
bin/all.lisp
bin/buildlinuxexec.sh
bin/buildosxexec.sh
bin/buildtravisexec.sh
bin/buildwindowsexec.sh
bin/travis.lisp [deleted file]
deps/common-lisp/ieee-floats-92e481a.tar.gz [new file with mode: 0644]
deps/common-lisp/strictmath_0.1.tar.gz [new file with mode: 0644]
src/main/clnl.asd
src/main/clnl.internal.asd [deleted file]
src/main/nvm.lisp
src/test/clnl-test.asd
src/test/clnl-test.internal.asd [deleted file]

index 58afb74859074c829d4c94b1436f302802241c8f..39f79ca907536cdd14779e0ee94c3d4bfee376c9 100644 (file)
@@ -6,7 +6,7 @@ addons:
 before_install:
   - export DISPLAY=:99.0
   - /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x24
-  - wget http://frank.kank.net/travissbcl/clnl/076c72b/$(git rev-parse HEAD)/travissbcl
+  - wget http://frank.kank.net/travissbcl/clnl/213ed30/$(git rev-parse HEAD)/travissbcl
   - chmod +x travissbcl
 script:
-  - ./travissbcl --script bin/travis.lisp
+  - ./travissbcl --script bin/all.lisp
index 910cfdf27343cc4883c670578b9efc00261d88a7..c5b7d585e29b36f275b47197d34c6fe07a3eff66 100644 (file)
--- a/README.md
+++ b/README.md
@@ -21,6 +21,8 @@ If you'd like to run it from source, you're going to need a few things:
   * mt19937
   * nibbles
   * trivial-features
+  * strictmath
+  * ieee-floats
 
 [bin/nl](bin/nl) and [bin/run.lisp](bin/run.lisp) have been added for convenience to run the netlogo instance.  It boots up the ncurses command line with an opengl view.  Not very many commands are implemented, but it should alert you to that.  A good test is
 
index a790a209a27c0524f8723038edf8bd405ed4d88b..029e6b70a104e96636a7cf3ff5455aa718141716 100644 (file)
@@ -1,5 +1,10 @@
-(when (not (find-package :clnl)) (asdf:load-system :clnl))
-(when (not (find-package :clnl-test)) (asdf:load-system :clnl-test))
+(setf *compile-print* nil)
+(require 'asdf)
+(asdf:initialize-source-registry `(:source-registry (:tree ,(car (directory "src"))) :INHERIT-CONFIGURATION))
+(asdf:load-system :clnl)
+(asdf:load-system :clnl-test)
+#-travis(asdf:load-system :style-checker)
+#-travis(asdf:load-system :docgen)
 
 (format t "~%~c[1;33mRunning Tests~c[0m~%" #\Esc #\Esc)
 (when (not (clnl-test:run-all-tests))
index 06f0cd81d322072a31cff531e8eb578d602570fc..37c6d8a230ac257ac88e6ce8c337606ae1710198 100755 (executable)
@@ -24,7 +24,9 @@ mkdir -p tmp/deps/
   tar zxf ../../deps/common-lisp/mt19937-latest.tar.gz &&
   tar zxf ../../deps/common-lisp/nibbles-v0.12.tar.gz &&
   tar zxf ../../deps/common-lisp/trivial-features_0.8.tar.gz &&
-  tar zxf ../../deps/common-lisp/cl-charms-9bb94ef.tar.gz
+  tar zxf ../../deps/common-lisp/cl-charms-9bb94ef.tar.gz &&
+  tar zxf ../../deps/common-lisp/ieee-floats-92e481a.tar.gz &&
+  tar zxf ../../deps/common-lisp/strictmath_0.1.tar.gz
 )
 
 SBCL_HOME="" tmp/sbcl/bin/sbcl --core tmp/sbcl/lib/sbcl/sbcl.core \
index e0465ee4ab297cc402a20185d45cc28737fdfd74..963973e8f3a021f55e18e06a6c59126ed6d7a7a1 100755 (executable)
@@ -28,7 +28,9 @@ mkdir -p tmp/deps/
   tar zxf ../../deps/common-lisp/mt19937-latest.tar.gz &&
   tar zxf ../../deps/common-lisp/nibbles-v0.12.tar.gz &&
   tar zxf ../../deps/common-lisp/trivial-features_0.8.tar.gz &&
-  tar zxf ../../deps/common-lisp/cl-charms-9bb94ef.tar.gz
+  tar zxf ../../deps/common-lisp/cl-charms-9bb94ef.tar.gz &&
+  tar zxf ../../deps/common-lisp/ieee-floats-92e481a.tar.gz &&
+  tar zxf ../../deps/common-lisp/strictmath_0.1.tar.gz
 )
 
 SBCL_HOME="" tmp/sbcl/bin/sbcl --core tmp/sbcl/lib/sbcl/sbcl.core --no-sysinit --no-userinit \
index 7791491cf1c4e355a706e09eec55920353ae527b..28dfd6094c4d1da27cf8cb644e503aa6643872db 100755 (executable)
@@ -26,7 +26,9 @@ mkdir -p tmp/deps/
   tar zxf ../../deps/common-lisp/trivial-features_0.8.tar.gz &&
   tar zxf ../../deps/common-lisp/cl-charms-9bb94ef.tar.gz &&
   tar zxf ../../deps/common-lisp/style-checker_0.1.tar.gz &&
-  tar zxf ../../deps/common-lisp/docgen_0.1.tar.gz
+  tar zxf ../../deps/common-lisp/docgen_0.1.tar.gz &&
+  tar zxf ../../deps/common-lisp/ieee-floats-92e481a.tar.gz &&
+  tar zxf ../../deps/common-lisp/strictmath_0.1.tar.gz
 )
 
 SBCL_HOME="" tmp/sbcl/bin/sbcl --core tmp/sbcl/lib/sbcl/sbcl.core \
@@ -41,14 +43,16 @@ SBCL_HOME="" tmp/sbcl/bin/sbcl --core tmp/sbcl/lib/sbcl/sbcl.core \
   --eval "(asdf:load-system :cl-charms)" \
   --eval "(asdf:load-system :style-checker)" \
   --eval "(asdf:load-system :docgen)" \
+  --eval "(asdf:load-system :strictmath)" \
   --eval "(asdf:clear-output-translations)" \
+  --eval "(push :travis *features*)" \
   --eval '(sb-ext:save-lisp-and-die "travissbcl" :executable t)' \
 
 chmod +x travissbcl
 travisname=travissbcl-$(git rev-parse --short HEAD)
 mv travissbcl $travisname
 
-echo "You should upload via the command: scp $travisname nami:/opt/travis/sbcls/clnl/"
+echo "You should upload via the command: scp $travisname nami:/var/travis/sbcls/clnl/"
 echo "You should also set travisname in .travis.yml to $travisname"
 
 rm -rf tmp
index b2484884bf4ef0786472aa4ff26885573a9f369f..45ffe76841630e9df78190aebd5221d67552a1ba 100755 (executable)
@@ -35,7 +35,9 @@ mkdir -p tmp/deps/
   tar zxf ../../deps/common-lisp/mt19937-latest.tar.gz &&
   tar zxf ../../deps/common-lisp/nibbles-v0.12.tar.gz &&
   tar zxf ../../deps/common-lisp/trivial-features_0.8.tar.gz &&
-  tar zxf ../../deps/common-lisp/cl-charms-9bb94ef.tar.gz
+  tar zxf ../../deps/common-lisp/cl-charms-9bb94ef.tar.gz &&
+  tar zxf ../../deps/common-lisp/ieee-floats-92e481a.tar.gz &&
+  tar zxf ../../deps/common-lisp/strictmath_0.1.tar.gz
 )
 
 cur_dir=$(cygpath -d $PWD)
diff --git a/bin/travis.lisp b/bin/travis.lisp
deleted file mode 100644 (file)
index a5dc59c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-(setf *compile-print* nil)
-(require 'asdf)
-;(setf asdf:*central-registry* (list #p"deps/"))
-(asdf:initialize-source-registry `(:source-registry (:tree ,(car (directory "src"))) :IGNORE-INHERITED-CONFIGURATION))
-(asdf:load-system :clnl.internal)
-(asdf:load-system :clnl-test.internal)
-
-(load "bin/all.lisp")
diff --git a/deps/common-lisp/ieee-floats-92e481a.tar.gz b/deps/common-lisp/ieee-floats-92e481a.tar.gz
new file mode 100644 (file)
index 0000000..b16584c
Binary files /dev/null and b/deps/common-lisp/ieee-floats-92e481a.tar.gz differ
diff --git a/deps/common-lisp/strictmath_0.1.tar.gz b/deps/common-lisp/strictmath_0.1.tar.gz
new file mode 100644 (file)
index 0000000..fc88c36
Binary files /dev/null and b/deps/common-lisp/strictmath_0.1.tar.gz differ
index 659577f703dfa62bc9b9b9dca8284c0df5a6527a..29e33cc197e89d48a866a768604e65a45b719110 100644 (file)
@@ -1,15 +1,16 @@
-; The systems are split up into two because travis will run more smoothly
-; if we use a custom built sbcl that has all the deps pre-loaded since
-; we are sure those will work just fine :)
-;
-; You should link to this file in your systems directory, or however you
-; handle your asdf configurations.  Then just (asdf:load-system :clnl)
-;
-; There's probably a better way, but I don't know it
-
 (asdf:defsystem clnl
-  :name "Experiment"
-  :version "0.0.0"
-  :maintainer "Frank Duncan (frank@kank.com)"
-  :author "Frank Duncan (frank@kank.com)"
-  :depends-on (:cl-ppcre :mt19937 :cl-opengl :cl-glut :cl-charms :clnl.internal))
+ :name "Experiment"
+ :version "0.0.0"
+ :maintainer "Frank Duncan (frank@kank.com)"
+ :author "Frank Duncan (frank@kank.com)"
+ :components ((:file "package")
+              (:file "model")
+              (:file "lex")
+              (:file "parse")
+              (:file "nvm")
+              (:file "transpile")
+              (:file "random")
+              (:file "interface")
+              (:file "cli")
+              (:file "main"))
+ :depends-on #-travis (:cl-ppcre :mt19937 :cl-opengl :cl-glut :cl-charms :strictmath) #+travis nil)
diff --git a/src/main/clnl.internal.asd b/src/main/clnl.internal.asd
deleted file mode 100644 (file)
index e6614dd..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-; The systems are split up into two because travis will run more smoothly
-; if we use a custom built sbcl that has all the deps pre-loaded since
-; we are sure those will work just fine :)
-;
-; You should link to this file in your systems directory, or however you
-; handle your asdf configurations.  Then just (asdf:load-system :clnl)
-;
-; There's probably a better way, but I don't know it
-
-(asdf:defsystem clnl.internal
-  :serial t
-  :components ((:file "package")
-               (:file "model")
-               (:file "lex")
-               (:file "parse")
-               (:file "nvm")
-               (:file "transpile")
-               (:file "random")
-               (:file "interface")
-               (:file "cli")
-               (:file "main")))
index 37df1cb5de69985fea895d25ee1d4486e70ed372..018ce7e650341d7d1327163b8c0be343e4c1b8fa 100644 (file)
@@ -141,8 +141,12 @@ DESCRIPTION:
 
   See http://ccl.northwestern.edu/netlogo/docs/dictionary.html#forward"
  (when (not (turtle-p *self*)) (error "Gotta call fd in turtle scope, dude (~A)" *self*))
- (setf (turtle-xcor *self*) (+ (turtle-xcor *self*) (* n (sin (* pi (/ (turtle-heading *self*) 180))))))
- (setf (turtle-ycor *self*) (+ (turtle-ycor *self*) (* n (cos (* pi (/ (turtle-heading *self*) 180)))))))
+ (setf
+  (turtle-xcor *self*)
+  (+ (turtle-xcor *self*) (* n (strictmath:sin (strictmath:to-radians (turtle-heading *self*))))))
+ (setf
+  (turtle-ycor *self*)
+  (+ (turtle-ycor *self*) (* n (strictmath:cos (strictmath:to-radians (turtle-heading *self*)))))))
 
 (defun create-turtles (n)
  "CREATE-TURTLES N => RESULT
index d65a7971fb84fd168d9e37787c10734e8d7ba2ed..abb713dd44160a6706e8e229a0f65dae6b065468 100644 (file)
@@ -1,7 +1,10 @@
-; For why this is the way it is, see src/main/clnl.asd
 (asdf:defsystem clnl-test
   :name "Experiment Tests"
   :maintainer "Frank Duncan (frank@kank.com)"
   :author "Frank Duncan (frank@kank.com)"
   :serial t
-  :depends-on (:ironclad :clnl clnl-test.internal))
+  :components ((:file "package")
+               (:file "main")
+               (:file "simpletests")
+               (:file "viewtests"))
+  :depends-on (#-travis :ironclad :clnl))
diff --git a/src/test/clnl-test.internal.asd b/src/test/clnl-test.internal.asd
deleted file mode 100644 (file)
index a20cf88..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-; For why this is the way it is, see src/main/clnl.asd
-(asdf:defsystem clnl-test.internal
-  :components ((:file "package")
-               (:file "main")
-               (:file "simpletests")
-               (:file "viewtests")))