Add RNG
[clnl] / bin / runcmd.scala
1 #!/bin/sh
2 exec scalas "$0" "$@"
3 !#
4
5 /***
6   scalaVersion := "2.10.3"
7
8   libraryDependencies ++= Seq(
9     "asm" % "asm-all" % "3.3.1",
10     "org.picocontainer" % "picocontainer" % "2.13.6",
11     "org.nlogo" % "NetLogo" % "6.0.0-M3" from "http://ccl.northwestern.edu/devel/6.0.0-M3/NetLogo.jar",
12     "org.nlogo" % "NetLogoHeadless" % "6.0.0-M3" from "http://ccl.northwestern.edu/devel/6.0.0-M3/NetLogoHeadless.jar"
13   )
14 */
15
16 import org.nlogo.headless.HeadlessWorkspace
17 import org.nlogo.mirror
18 import org.nlogo.api
19 import org.nlogo.nvm
20 import org.nlogo.util.Utils.url2String
21
22 val workspace = HeadlessWorkspace.newInstance
23 workspace.silent = true
24 workspace.openFromSource(url2String(api.ModelReader.emptyModelPath))
25 /*
26 workspace.runCompiledCommands(new api.SimpleJobOwner("test", workspace.world.mainRNG, api.AgentKind.Observer), workspace.compileCommands("resize-world -2 2 -2 2 crt 1", api.AgentKind.Observer))
27 mirror.Mirrorables.allMirrorables(workspace.world).map( x => {
28   System.out.print("(")
29   System.out.print(x.kind)
30   System.out.print(" ")
31   System.out.print(x.agentKey.id)
32   System.out.print(" (")
33   x.kind.Variables.values.toSeq.map( k => {
34     System.out.print("(" + k + " ")
35     x.getVariable(k.id) match {
36       case s: java.lang.String => System.out.print("\"s\"")
37       case v => System.out.print(v)
38     }
39     System.out.print(") ")
40   })
41   System.out.println(")")
42   
43   })*/
44
45 workspace.runCompiledCommands(new api.SimpleJobOwner("test", workspace.world.mainRNG, api.AgentKind.Observer), workspace.compileCommands("random-seed 15", api.AgentKind.Observer))
46 for(_ <- 1 to 40)
47   System.out.println(workspace.runCompiledReporter(new api.SimpleJobOwner("test", workspace.world.mainRNG, api.AgentKind.Observer), workspace.compileReporter("random-float 30")))
48
49 val m = new org.nlogo.util.MersenneTwisterFast();
50 m.setSeed(15);
51 for(_ <- 1 to 40)
52   System.out.println(30d * m.nextDouble())
53
54 workspace.dispose