diff options
Diffstat (limited to 'src/3rdparty/squirrel/samples/list.nut')
-rw-r--r-- | src/3rdparty/squirrel/samples/list.nut | 39 |
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"); |