summaryrefslogtreecommitdiff
path: root/src/3rdparty/squirrel/samples/list.nut
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-02-25 01:21:50 +0000
committerrubidium <rubidium@openttd.org>2009-02-25 01:21:50 +0000
commit1ad50ce4e6ed74c8eeb89a1f2780e6ed58a72b2b (patch)
tree0955433146cc59335ddaac1d6e08eb177a9ead61 /src/3rdparty/squirrel/samples/list.nut
parent66a8c0a1325e1f8717150dc6bbe1bcb4fb458bef (diff)
downloadopenttd-1ad50ce4e6ed74c8eeb89a1f2780e6ed58a72b2b.tar.xz
(svn r15578) -Change: unexternalise squirrel.
Diffstat (limited to 'src/3rdparty/squirrel/samples/list.nut')
-rw-r--r--src/3rdparty/squirrel/samples/list.nut39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/3rdparty/squirrel/samples/list.nut b/src/3rdparty/squirrel/samples/list.nut
new file mode 100644
index 000000000..8ab1ab517
--- /dev/null
+++ b/src/3rdparty/squirrel/samples/list.nut
@@ -0,0 +1,39 @@
+/*translation of the list test from The Great Computer Language Shootout
+*/
+
+function compare_arr(a1,a2)
+{
+ foreach(i,val in a1)
+ if(val!=a2[i])return null;
+ return 1;
+}
+
+function test()
+{
+ local size=10000
+ local l1=[]; l1.resize(size);
+ for(local i=0;i<size;i+=1) l1[i]=i;
+ local l2=clone l1;
+ local l3=[]
+
+ l2.reverse();
+ while(l2.len()>0)
+ l3.append(l2.pop());
+ while(l3.len()>0)
+ l2.append(l3.pop());
+ l1.reverse();
+
+ if(compare_arr(l1,l2))
+ return l1.len();
+ return null;
+}
+
+local n = ARGS.len()!=0?ARGS[0].tointeger():1
+for(local i=0;i<n;i+=1)
+ if(!test())
+ {
+ print("failed");
+ return;
+ }
+
+print("oki doki");