rusi/test/constexpr.c

56 lines
3.6 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#включить "тест.з"
#включить "stdvv.c"
плав г40 = 1.5;
двойн г41 = 0.0 ? 55 : (0, 1 + 1 * 5.0 / 2 * (двойн)2 * (цел)2.0);
цел главн() {
ПРОВЕРИТЬ(10, ({ переч { десять=1+2+3+4 }; десять; }));
ПРОВЕРИТЬ(1, ({ цел и=0; выбор(3) { случай 5-2+0*3: и++; } и; }));
ПРОВЕРИТЬ(8, ({ цел х[1+1]; размер(х); }));
ПРОВЕРИТЬ(6, ({ символ х[8-2]; размер(х); }));
ПРОВЕРИТЬ(6, ({ символ х[2*3]; размер(х); }));
ПРОВЕРИТЬ(3, ({ символ х[12/4]; размер(х); }));
ПРОВЕРИТЬ(2, ({ символ х[12%10]; размер(х); }));
ПРОВЕРИТЬ(0b100, ({ символ х[0b110&0b101]; размер(х); }));
ПРОВЕРИТЬ(0b111, ({ символ х[0b110|0b101]; размер(х); }));
ПРОВЕРИТЬ(0b110, ({ символ х[0b111^0b001]; размер(х); }));
ПРОВЕРИТЬ(4, ({ символ х[1<<2]; размер(х); }));
ПРОВЕРИТЬ(2, ({ символ х[4>>1]; размер(х); }));
ПРОВЕРИТЬ(2, ({ символ х[(1==1)+1]; размер(х); }));
ПРОВЕРИТЬ(1, ({ символ х[(1!=1)+1]; размер(х); }));
ПРОВЕРИТЬ(1, ({ символ х[(1<1)+1]; размер(х); }));
ПРОВЕРИТЬ(2, ({ символ х[(1<=1)+1]; размер(х); }));
ПРОВЕРИТЬ(2, ({ символ х[1?2:3]; размер(х); }));
ПРОВЕРИТЬ(3, ({ символ х[0?2:3]; размер(х); }));
ПРОВЕРИТЬ(3, ({ символ х[(1,3)]; размер(х); }));
ПРОВЕРИТЬ(2, ({ символ х[!0+1]; размер(х); }));
ПРОВЕРИТЬ(1, ({ символ х[!1+1]; размер(х); }));
ПРОВЕРИТЬ(2, ({ символ х[~-3]; размер(х); }));
ПРОВЕРИТЬ(2, ({ символ х[(5||6)+1]; размер(х); }));
ПРОВЕРИТЬ(1, ({ символ х[(0||0)+1]; размер(х); }));
ПРОВЕРИТЬ(2, ({ символ х[(1&&1)+1]; размер(х); }));
ПРОВЕРИТЬ(1, ({ символ х[(1&&0)+1]; размер(х); }));
ПРОВЕРИТЬ(3, ({ символ х[(цел)3]; размер(х); }));
ПРОВЕРИТЬ(15, ({ символ х[(символ)0xffffff0f]; размер(х); }));
ПРОВЕРИТЬ(0x10f, ({ символ х[(корот)0xffff010f]; размер(х); }));
ПРОВЕРИТЬ(4, ({ символ х[(цел)0xfffffffffff+5]; размер(х); }));
ПРОВЕРИТЬ(8, ({ символ х[(цел*)0+2]; размер(х); }));
ПРОВЕРИТЬ(12, ({ символ х[(цел*)16-1]; размер(х); }));
ПРОВЕРИТЬ(3, ({ символ х[(цел*)16-(цел*)4]; размер(х); }));
ПРОВЕРИТЬ(4, ({ символ х[(-1>>31)+5]; размер(х); }));
ПРОВЕРИТЬ(255, ({ символ х[(беззнак символ)0xffffffff]; размер(х); }));
ПРОВЕРИТЬ(0x800f, ({ символ х[(беззнак корот)0xffff800f]; размер(х); }));
ПРОВЕРИТЬ(1, ({ символ х[(беззнак цел)0xfffffffffff>>31]; размер(х); }));
ПРОВЕРИТЬ(1, ({ символ х[(длин)-1/((длин)1<<62)+1]; размер(х); }));
ПРОВЕРИТЬ(4, ({ символ х[(беззнак длин)-1/((длин)1<<62)+1]; размер(х); }));
ПРОВЕРИТЬ(1, ({ символ х[(беззнак)1<-1]; размер(х); }));
ПРОВЕРИТЬ(1, ({ символ х[(беззнак)1<=-1]; размер(х); }));
ПРОВЕРИТЬ(1, г40==1.5);
ПРОВЕРИТЬ(1, г41==11);
printf("OK\n");
возврат 0;
}