void do_tests() { mixed code; // array constants code = __TREE__ ( sizeof( ({ 1, 3, 3 }) ) ); ASSERT(same(code, ({ "number", 3 }))); code = __TREE__ ( ({ 1, 3, 3 })[0] ); ASSERT(same(code, ({ "number", 1 }))); code = __TREE__ ( ({ 1, 4, 9 })[<2] ); ASSERT(same(code, ({ "number", 4 }))); code = __TREE__ { int i; for (; i < 5; i++) ; }; ASSERT(same(code, ({ "two values", 0, ({ "loop", 1, 0, ({ "opcode_2", "loop_cond_number", 1, 5 }), ({ "opcode_1", "loop_incr", 1 }) }) }) )); code = __TREE__( !code ? 1 : 2 ); ASSERT(same(code, ({ "if", ({ "number", 2 }), ({ "number", 1 }), ({ "opcode_1", "local", 0 }) }) )); ASSERT(5/3 == 1); ASSERT(1/8.0 == 0.125); ASSERT(1.0/2 == 0.5); ASSERT(1.0/2.0 == 0.5); }