#define NUM 10000 int testonce; int foobar(int foo) { } string *define_include_dirs() { return ({}); } #define NEW_TEST() gurka=rusage(),foo[foop++]=gurka[0]+gurka[1] #if !defined(LPC4) && !defined(__VERSION__) #define write send_message #endif mixed main() { mixed *gurka; int *foo,foop; mixed a; int e,d; mixed side,b; if(testonce) return 0; testonce=1; side=allocate(30); foo=allocate(30); /* 1, array addition 1 */ a=allocate(10); NEW_TEST(); for(e=0;e<NUM;e++) side[random(1)]=a,a; NEW_TEST(); for(e=0;e<NUM;e++) side[random(1)]=a+a; NEW_TEST(); /* 1, array addition 2 */ a=b=allocate(1); NEW_TEST(); for(e=0;e<NUM/20;e++) side[random(1)]=a=b; NEW_TEST(); for(e=0;e<NUM/20;e++) side[random(1)]=a+=b; side[1]=a; NEW_TEST(); /* 3, string addition */ a="asljkdf;ljksd"; NEW_TEST(); for(e=0;e<NUM;e++) side[random(1)]=a,a; NEW_TEST(); for(e=0;e<NUM;e++) side[random(1)]=a+a; NEW_TEST(); /* 4, int addition */ d=1000; NEW_TEST(); for(e=0;e<NUM;e++) side[random(1)]=d,d; NEW_TEST(); for(e=0;e<NUM;e++) side[random(1)]=d+d; NEW_TEST(); /* 5, loop */ a=1000; NEW_TEST(); NEW_TEST(); for(e=0;e<NUM;e++) a+=a; NEW_TEST(); side[1]=a; /* 6, function call */ a=1000; NEW_TEST(); for(e=0;e<NUM;e++) side[1]=random(1); NEW_TEST(); for(e=0;e<NUM;e++) side[1]=foobar(random(1)); NEW_TEST(); NEW_TEST(); for(e=0;e+1<foop;e+=3) { write("Part "+(e/3)+": "+((foo[e+2]-foo[e+1]*2+foo[e]))+"\n"); } shutdown(); return side; } void create() { main(); } void reset() { main(); } string get_root_uid() { main(); return "Root"; }