Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Manifest-Version: 1.0
- Extension-Name: noise
- Class-Manager: org.xyz.extensions.NoiseExtension
- NetLogo-Extension-API-Version: 5.0 <--there is a crlf here
- test/
- test.nlogo
- noise/
- noise.jar
- package org.xyz.extensions;
- import org.nlogo.api.*;
- public class NoiseExtension extends DefaultClassManager {
- public void load(PrimitiveManager primitiveManager) {
- primitiveManager.addPrimitive(
- "first-n-integers", new org.xyz.extensions.NoiseGenerator());
- }
- }
- package org.xyz.extensions;
- import org.nlogo.api.*;
- public class NoiseGenerator extends DefaultReporter {
- public Syntax getSyntax() {
- return Syntax.reporterSyntax(
- new int[] {Syntax.NumberType()}, Syntax.ListType());
- }
- public Object report(Argument args[], Context context) throws ExtensionException {
- // create a NetLogo list for the result
- LogoListBuilder list = new LogoListBuilder();
- int n ;
- // use typesafe helper method from
- // org.nlogo.api.Argument to access argument
- try {
- n = args[0].getIntValue();
- }
- catch(LogoException e) {
- throw new ExtensionException( e.getMessage() ) ;
- }
- if (n < 0) {
- // signals a NetLogo runtime error to the modeler
- throw new ExtensionException
- ("input must be positive");
- }
- // populate the list. note that we use Double objects; NetLogo
- // numbers are always Doubles
- for (int i = 0; i < n; i++) {
- list.add(Double.valueOf(i));
- }
- return list.toLogoList();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement