summaryrefslogtreecommitdiff
path: root/src/3rdparty/squirrel/samples/list.nut
diff options
context:
space:
mode:
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");