And why not also support other types?

It would require a substantial amount of resources from the NetLogo team in order to change this. On the other side of things, what substantial advantage would it serve for NetLogo to be able to handle ints or longs?

On 4/22/2014 3:19 PM, [email protected] wrote:
And why not also support other types? There is nothing lost in conversion int -> 
long -> double.

Dne úterý, 22. dubna 2014 22:16:28 UTC+2 Jason Bertsche napsal(a):
NetLogo numbers must always be doubles, because much of the NetLogo

internals assumes as much.  If that assumption isn't met, bad things

will happen.  Fortunately, it's pretty easy to always just give NetLogo

doubles.



On 4/22/2014 3:12 PM, [email protected] wrote:

Hi, I' trying to pass number (int or long) from java etension as an argument to 
task but have some issues with it. I tried both int and long and got two 
different errors. When I cast the int/long into double then it works.
long:
```java
class Callbacks$Actuators{
      public void attack(long id) {
          attack.perform(ctx, new Object[] {id});
      }
}
```
```
let tattack task [
      let cislo int ?1
]
```
```
INT expected input to be a number but got the number <Long> instead.
error while zombie 85 running INT
    called by (command task from: procedure SETUP)
    called by procedure STEP
    called by Button 'Step'
```
int:
```java
class Callbacks$Actuators{
      public void attack(int id) {
          attack.perform(ctx, new Object[] {id});
      }
}
```
```
to step
    gbui:tick
    ask humans [ gbui:ai-perform ]
    ask zombies [ gbui:ai-perform ]
    decay
    reap
    tick
end
```
```
error (RuntimeException)
   while observer running ASK
    called by procedure STEP
    called by Button 'Step'
NetLogo is unable to supply you with more details about this error.  Please 
report the problem
at https://github.com/NetLogo/NetLogo/issues, or to [email protected], 
and paste the
contents of this window into your report.
java.lang.RuntimeException: java.lang.Integer: 7
   at scala.sys.package$.error(package.scala:27)
   at org.nlogo.api.Dump$.logoObject(Dump.scala:43)
   at org.nlogo.api.Dump.logoObject(Dump.scala)
   at 
org.nlogo.nvm.ArgumentTypeException.getMessage(ArgumentTypeException.java:47)
   at 
org.nlogo.nvm.StackTraceBuilder$$anonfun$1.apply(StackTraceBuilder.scala:35)
   at 
org.nlogo.nvm.StackTraceBuilder$$anonfun$1.apply(StackTraceBuilder.scala:33)
   at scala.Option.map(Option.scala:133)
   at org.nlogo.nvm.StackTraceBuilder$.build(StackTraceBuilder.scala:33)
   at org.nlogo.nvm.StackTraceBuilder.build(StackTraceBuilder.scala)
   at org.nlogo.nvm.Context.buildRuntimeErrorMessage(Context.java:349)
   at org.nlogo.nvm.EngineException.fillInStackTrace(EngineException.java:83)
   at org.nlogo.nvm.CommandTask.perform(Task.scala:87)
   at org.nlogo.nvm.CommandTask.perform(Task.scala:69)
   at eu.janinko.etsza.ai.Callbacks$Actuators.attack(Callbacks.java:114)
   at eu.janinko.etsza.ai.agents.Zombie.act(Zombie.java:65)
   at eu.janinko.etsza.ai.agents.Zombie.perform(Zombie.java:46)
   at eu.janinko.etsza.primitives.AIPerform.perform(AIPerform.java:35)
   at org.nlogo.prim._extern.perform(_extern.java:54)
   at org.nlogo.nvm.Context.runExclusive(Context.java:119)
   at org.nlogo.nvm.ExclusiveJob.run(ExclusiveJob.java:57)
   at org.nlogo.nvm.Context.runExclusiveJob(Context.java:162)
   at org.nlogo.prim._asm_procedurestep_ask_2.perform(:1)
   at org.nlogo.nvm.Context.stepConcurrent(Context.java:91)
   at org.nlogo.nvm.ConcurrentJob.step(ConcurrentJob.java:82)
   at 
org.nlogo.job.JobThread.org$nlogo$job$JobThread$$runPrimaryJobs(JobThread.scala:143)
   at org.nlogo.job.JobThread$$anonfun$run$1.apply$mcV$sp(JobThread.scala:78)
   at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
   at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
   at scala.util.control.Exception$Catch.apply(Exception.scala:88)
   at org.nlogo.util.Exceptions$.handling(Exceptions.scala:41)
   at org.nlogo.job.JobThread.run(JobThread.scala:75)
```

--
You received this message because you are subscribed to the Google Groups 
"netlogo-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to