mud/fluffos-2.23-ds03/testsuite/single/tests/compiler/constant_expr.c
2020-09-06 05:43:07 -07:00

38 lines
817 B
C

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);
}