int main() { #ifdef CRT_HAS_128BIT if (test__popcountti2(0)) return 1; if (test__popcountti2(1)) return 1; if (test__popcountti2(2)) return 1; if (test__popcountti2(0xFFFFFFFFFFFFFFFDLL)) return 1; if (test__popcountti2(0xFFFFFFFFFFFFFFFELL)) return 1; if (test__popcountti2(0xFFFFFFFFFFFFFFFFLL)) return 1; if (test__popcountti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFDLL))) return 1; if (test__popcountti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFELL))) return 1; if (test__popcountti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL))) return 1; int i; for (i = 0; i < 10000; ++i) if (test__popcountti2(((ti_int)rand() << 96) | ((ti_int)rand() << 64) | ((ti_int)rand() << 32) | rand())) return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #if __x86_64 const int N = (int)(sizeof(ti_int) * CHAR_BIT); if (test__clzti2(0x00000001, N-1)) return 1; if (test__clzti2(0x00000002, N-2)) return 1; if (test__clzti2(0x00000003, N-2)) return 1; if (test__clzti2(0x00000004, N-3)) return 1; if (test__clzti2(0x00000005, N-3)) return 1; if (test__clzti2(0x0000000A, N-4)) return 1; if (test__clzti2(0x1000000A, N*3/4+3)) return 1; if (test__clzti2(0x2000000A, N*3/4+2)) return 1; if (test__clzti2(0x6000000A, N*3/4+1)) return 1; if (test__clzti2(0x8000000AuLL, N*3/4)) return 1; if (test__clzti2(0x000005008000000AuLL, 85)) return 1; if (test__clzti2(0x020005008000000AuLL, 70)) return 1; if (test__clzti2(0x720005008000000AuLL, 65)) return 1; if (test__clzti2(0x820005008000000AuLL, 64)) return 1; if (test__clzti2(make_ti(0x0000000080000000LL, 0x8000000800000000LL), 32)) return 1; if (test__clzti2(make_ti(0x0000000100000000LL, 0x8000000800000000LL), 31)) return 1; if (test__clzti2(make_ti(0x1000000100000000LL, 0x8000000800000000LL), 3)) return 1; if (test__clzti2(make_ti(0x7000000100000000LL, 0x8000000800000000LL), 1)) return 1; if (test__clzti2(make_ti(0x8000000100000000LL, 0x8000000800000000LL), 0)) return 1; #else printf("skipped\n"); #endif printf("PASS\n"); return 0; }
int main() { #ifdef CRT_HAS_128BIT if (test__divti3(0, 1, 0)) return 1; if (test__divti3(0, -1, 0)) return 1; if (test__divti3(2, 1, 2)) return 1; if (test__divti3(2, -1, -2)) return 1; if (test__divti3(-2, 1, -2)) return 1; if (test__divti3(-2, -1, 2)) return 1; if (test__divti3(make_ti(0x8000000000000000LL, 0), 1, make_ti(0x8000000000000000LL, 0))) return 1; if (test__divti3(make_ti(0x8000000000000000LL, 0), -1, make_ti(0x8000000000000000LL, 0))) return 1; if (test__divti3(make_ti(0x8000000000000000LL, 0), -2, make_ti(0x4000000000000000LL, 0))) return 1; if (test__divti3(make_ti(0x8000000000000000LL, 0), 2, make_ti(0xC000000000000000LL, 0))) return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #ifdef CRT_HAS_128BIT // test__subvti3(make_ti(0x8000000000000000LL, 0), 1); // should abort // test__subvti3(0, make_ti(0x8000000000000000LL, 0)); // should abort // test__subvti3(1, make_ti(0x8000000000000000LL, 0)); // should abort // test__subvti3(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), -1); // should abort // test__subvti3(-2, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL)); // should abort if (test__subvti3(make_ti(0x8000000000000000LL, 0), -1)) return 1; if (test__subvti3(make_ti(0x8000000000000000LL, 0), 0)) return 1; if (test__subvti3(-1, make_ti(0x8000000000000000LL, 0))) return 1; if (test__subvti3(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), 1)) return 1; if (test__subvti3(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), 0)) return 1; if (test__subvti3(1, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL))) return 1; if (test__subvti3(0, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL))) return 1; if (test__subvti3(-1, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL))) return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #if __x86_64 if (test__ffsti2(0x00000000, 0)) return 1; if (test__ffsti2(0x00000001, 1)) return 1; if (test__ffsti2(0x00000002, 2)) return 1; if (test__ffsti2(0x00000003, 1)) return 1; if (test__ffsti2(0x00000004, 3)) return 1; if (test__ffsti2(0x00000005, 1)) return 1; if (test__ffsti2(0x0000000A, 2)) return 1; if (test__ffsti2(0x10000000, 29)) return 1; if (test__ffsti2(0x20000000, 30)) return 1; if (test__ffsti2(0x60000000, 30)) return 1; if (test__ffsti2(0x80000000uLL, 32)) return 1; if (test__ffsti2(0x0000050000000000uLL, 41)) return 1; if (test__ffsti2(0x0200080000000000uLL, 44)) return 1; if (test__ffsti2(0x7200000000000000uLL, 58)) return 1; if (test__ffsti2(0x8000000000000000uLL, 64)) return 1; if (test__ffsti2(make_ti(0x8000000800000000uLL, 0), 100)) return 1; if (test__ffsti2(make_ti(0x8000000000000000uLL, 0), 128)) return 1; #else printf("skipped\n"); #endif printf("PASS\n"); return 0; }
int main() { #ifdef CRT_HAS_128BIT if (test__ctzti2(0x00000001, 0)) return 1; if (test__ctzti2(0x00000002, 1)) return 1; if (test__ctzti2(0x00000003, 0)) return 1; if (test__ctzti2(0x00000004, 2)) return 1; if (test__ctzti2(0x00000005, 0)) return 1; if (test__ctzti2(0x0000000A, 1)) return 1; if (test__ctzti2(0x10000000, 28)) return 1; if (test__ctzti2(0x20000000, 29)) return 1; if (test__ctzti2(0x60000000, 29)) return 1; if (test__ctzti2(0x80000000uLL, 31)) return 1; if (test__ctzti2(0x0000050000000000uLL, 40)) return 1; if (test__ctzti2(0x0200080000000000uLL, 43)) return 1; if (test__ctzti2(0x7200000000000000uLL, 57)) return 1; if (test__ctzti2(0x8000000000000000uLL, 63)) return 1; if (test__ctzti2(make_ti(0x00000000A0000000LL, 0x0000000000000000LL), 93)) return 1; if (test__ctzti2(make_ti(0xF000000000000000LL, 0x0000000000000000LL), 124)) return 1; if (test__ctzti2(make_ti(0x8000000000000000LL, 0x0000000000000000LL), 127)) return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #if __LDBL_MANT_DIG__ == 113 if (test__fixtfti(makeInf128(), make_ti(0x7fffffffffffffffLL, 0xffffffffffffffffLL))) return 1; if (test__fixtfti(0, make_ti(0x0LL, 0x0LL))) return 1; if (test__fixtfti(0x1.23456789abcdefp+5L, make_ti(0x0LL, 0x24LL))) return 1; if (test__fixtfti(0x1.23456789abcdefp-3L, make_ti(0x0LL, 0x0LL))) return 1; if (test__fixtfti(0x1.23456789abcdef12345678p+20L, make_ti(0x0LL, 0x123456LL))) return 1; if (test__fixtfti(0x1.23456789abcdef123456789abcdep+112L, make_ti(0x123456789abcdLL, 0xef123456789abcdeLL))) return 1; if (test__fixtfti(-0x1.23456789abcdef123456789abcdep+112L, make_ti(0xFFFEDCBA98765432LL, 0x10EDCBA987654322LL))) return 1; if (test__fixtfti(0x1.23456789abcdefp+256L, make_ti(0x7fffffffffffffffLL, 0xffffffffffffffffLL))) return 1; if (test__fixtfti(-0x1.23456789abcdefp+20L, make_ti(0xffffffffffffffffLL, 0xffffffffffedcbaaLL))) return 1; if (test__fixtfti(-0x1.23456789abcdefp+256L, make_ti(0x8000000000000000LL, 0x0))) return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #if __x86_64 if (test__modti3(0, 1, 0)) return 1; if (test__modti3(0, -1, 0)) return 1; if (test__modti3(5, 3, 2)) return 1; if (test__modti3(5, -3, 2)) return 1; if (test__modti3(-5, 3, -2)) return 1; if (test__modti3(-5, -3, -2)) return 1; if (test__modti3(0x8000000000000000LL, 1, 0x0LL)) return 1; if (test__modti3(0x8000000000000000LL, -1, 0x0LL)) return 1; if (test__modti3(0x8000000000000000LL, 2, 0x0LL)) return 1; if (test__modti3(0x8000000000000000LL, -2, 0x0LL)) return 1; if (test__modti3(0x8000000000000000LL, 3, 2)) return 1; if (test__modti3(0x8000000000000000LL, -3, 2)) return 1; if (test__modti3(make_ti(0x8000000000000000LL, 0), 1, 0x0LL)) return 1; if (test__modti3(make_ti(0x8000000000000000LL, 0), -1, 0x0LL)) return 1; if (test__modti3(make_ti(0x8000000000000000LL, 0), 2, 0x0LL)) return 1; if (test__modti3(make_ti(0x8000000000000000LL, 0), -2, 0x0LL)) return 1; if (test__modti3(make_ti(0x8000000000000000LL, 0), 3, -2)) return 1; if (test__modti3(make_ti(0x8000000000000000LL, 0), -3, -2)) return 1; #else printf("skipped\n"); #endif printf("PASS\n"); return 0; }
int main() { #if __LDBL_MANT_DIG__ == 113 if (test__fixunstfti(makeInf128(), make_ti(0xffffffffffffffffLL, 0xffffffffffffffffLL))) return 1; if (test__fixunstfti(0.0, 0)) return 1; if (test__fixunstfti(0.5, 0)) return 1; if (test__fixunstfti(0.99, 0)) return 1; if (test__fixunstfti(1.0, 1)) return 1; if (test__fixunstfti(1.5, 1)) return 1; if (test__fixunstfti(1.99, 1)) return 1; if (test__fixunstfti(2.0, 2)) return 1; if (test__fixunstfti(2.01, 2)) return 1; if (test__fixunstfti(-0.01, 0)) return 1; if (test__fixunstfti(-0.99, 0)) return 1; if (test__fixunstfti(0x1.p+128, make_ti(0xffffffffffffffffLL, 0xffffffffffffffffLL))) return 1; if (test__fixunstfti(0x1.FFFFFEp+126, make_ti(0x7fffff8000000000LL, 0x0))) return 1; if (test__fixunstfti(0x1.FFFFFEp+127, make_ti(0xffffff0000000000LL, 0x0))) return 1; if (test__fixunstfti(0x1.FFFFFEp+128, make_ti(0xffffffffffffffffLL, 0xffffffffffffffffLL))) return 1; if (test__fixunstfti(0x1.FFFFFEp+129, make_ti(0xffffffffffffffffLL, 0xffffffffffffffffLL))) return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #ifdef CRT_HAS_128BIT if (test__cmpti2(0, 0, 1)) return 1; if (test__cmpti2(1, 1, 1)) return 1; if (test__cmpti2(2, 2, 1)) return 1; if (test__cmpti2(0x7FFFFFFF, 0x7FFFFFFF, 1)) return 1; if (test__cmpti2(0x80000000, 0x80000000, 1)) return 1; if (test__cmpti2(0x80000001, 0x80000001, 1)) return 1; if (test__cmpti2(0xFFFFFFFF, 0xFFFFFFFF, 1)) return 1; if (test__cmpti2(0x000000010000000LL, 0x000000010000000LL, 1)) return 1; if (test__cmpti2(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL, 1)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000300000001LL, 0)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000300000002LL, 0)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000300000003LL, 0)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000100000001LL, 2)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000100000002LL, 2)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000100000003LL, 2)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000200000001LL, 2)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000200000002LL, 1)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000200000003LL, 0)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(3, 1), 0)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(3, 2), 0)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(3, 3), 0)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(1, 1), 2)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(1, 2), 2)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(1, 3), 2)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(2, 1), 2)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(2, 2), 1)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(2, 3), 0)) return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #ifdef CRT_HAS_128BIT if (test__mulvti3(0, 0, 0)) return 1; if (test__mulvti3(0, 1, 0)) return 1; if (test__mulvti3(1, 0, 0)) return 1; if (test__mulvti3(0, 10, 0)) return 1; if (test__mulvti3(10, 0, 0)) return 1; if (test__mulvti3(0, 81985529216486895LL, 0)) return 1; if (test__mulvti3(81985529216486895LL, 0, 0)) return 1; if (test__mulvti3(0, -1, 0)) return 1; if (test__mulvti3(-1, 0, 0)) return 1; if (test__mulvti3(0, -10, 0)) return 1; if (test__mulvti3(-10, 0, 0)) return 1; if (test__mulvti3(0, -81985529216486895LL, 0)) return 1; if (test__mulvti3(-81985529216486895LL, 0, 0)) return 1; if (test__mulvti3(1, 1, 1)) return 1; if (test__mulvti3(1, 10, 10)) return 1; if (test__mulvti3(10, 1, 10)) return 1; if (test__mulvti3(1, 81985529216486895LL, 81985529216486895LL)) return 1; if (test__mulvti3(81985529216486895LL, 1, 81985529216486895LL)) return 1; if (test__mulvti3(1, -1, -1)) return 1; if (test__mulvti3(1, -10, -10)) return 1; if (test__mulvti3(-10, 1, -10)) return 1; if (test__mulvti3(1, -81985529216486895LL, -81985529216486895LL)) return 1; if (test__mulvti3(-81985529216486895LL, 1, -81985529216486895LL)) return 1; if (test__mulvti3(3037000499LL, 3037000499LL, 9223372030926249001ULL)) return 1; if (test__mulvti3(-3037000499LL, 3037000499LL, -9223372030926249001LL)) return 1; if (test__mulvti3(3037000499LL, -3037000499LL, -9223372030926249001LL)) return 1; if (test__mulvti3(-3037000499LL, -3037000499LL, 9223372030926249001ULL)) return 1; if (test__mulvti3(4398046511103LL, 2097152LL, 9223372036852678656LL)) return 1; if (test__mulvti3(-4398046511103LL, 2097152LL, -9223372036852678656LL)) return 1; if (test__mulvti3(4398046511103LL, -2097152LL, -9223372036852678656LL)) return 1; if (test__mulvti3(-4398046511103LL, -2097152LL, 9223372036852678656LL)) return 1; if (test__mulvti3(2097152LL, 4398046511103LL, 9223372036852678656ULL)) return 1; if (test__mulvti3(-2097152LL, 4398046511103LL, -9223372036852678656LL)) return 1; if (test__mulvti3(2097152LL, -4398046511103LL, -9223372036852678656LL)) return 1; if (test__mulvti3(-2097152LL, -4398046511103LL, 9223372036852678656LL)) return 1; if (test__mulvti3(make_ti(0x00000000000000B5LL, 0x04F333F9DE5BE000LL), make_ti(0x0000000000000000LL, 0x00B504F333F9DE5BLL), make_ti(0x7FFFFFFFFFFFF328LL, 0xDF915DA296E8A000LL))) return 1; // if (test__mulvti3(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), // -2, // make_ti(0x8000000000000000LL, 0x0000000000000001LL))) // abort // return 1; // if (test__mulvti3(-2, // make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), // make_ti(0x8000000000000000LL, 0x0000000000000001LL))) // abort // return 1; if (test__mulvti3(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), -1, make_ti(0x8000000000000000LL, 0x0000000000000001LL))) return 1; if (test__mulvti3(-1, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), make_ti(0x8000000000000000LL, 0x0000000000000001LL))) return 1; if (test__mulvti3(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), 0, 0)) return 1; if (test__mulvti3(0, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), 0)) return 1; if (test__mulvti3(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), 1, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL))) return 1; if (test__mulvti3(1, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL))) return 1; // if (test__mulvti3(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), // 2, // make_ti(0x8000000000000000LL, 0x0000000000000001LL))) // abort // return 1; // if (test__mulvti3(2, // make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), // make_ti(0x8000000000000000LL, 0x0000000000000001LL))) // abort // return 1; // if (test__mulvti3(make_ti(0x8000000000000000LL, 0x0000000000000000LL), // -2, // make_ti(0x8000000000000000LL, 0x0000000000000000LL))) // abort // return 1; // if (test__mulvti3(-2, // make_ti(0x8000000000000000LL, 0x0000000000000000LL), // make_ti(0x8000000000000000LL, 0x0000000000000000LL))) // abort // return 1; // if (test__mulvti3(make_ti(0x8000000000000000LL, 0x0000000000000000LL), // -1, // make_ti(0x8000000000000000LL, 0x0000000000000000LL))) // abort // return 1; // if (test__mulvti3(-1, // make_ti(0x8000000000000000LL, 0x0000000000000000LL), // make_ti(0x8000000000000000LL, 0x0000000000000000LL))) // abort // return 1; if (test__mulvti3(make_ti(0x8000000000000000LL, 0x0000000000000000LL), 0, 0)) return 1; if (test__mulvti3(0, make_ti(0x8000000000000000LL, 0x0000000000000000LL), 0)) return 1; if (test__mulvti3(make_ti(0x8000000000000000LL, 0x0000000000000000LL), 1, make_ti(0x8000000000000000LL, 0x0000000000000000LL))) return 1; if (test__mulvti3(1, make_ti(0x8000000000000000LL, 0x0000000000000000LL), make_ti(0x8000000000000000LL, 0x0000000000000000LL))) return 1; // if (test__mulvti3(make_ti(0x8000000000000000LL, 0x0000000000000000LL), // 2, // make_ti(0x8000000000000000LL, 0x0000000000000000LL))) // abort // return 1; // if (test__mulvti3(2, // make_ti(0x8000000000000000LL, 0x0000000000000000LL), // make_ti(0x8000000000000000LL, 0x0000000000000000LL))) // abort // return 1; // if (test__mulvti3(make_ti(0x8000000000000000LL, 0x0000000000000001LL), // -2, // make_ti(0x8000000000000000LL, 0x0000000000000001LL))) // abort // return 1; // if (test__mulvti3(-2, // make_ti(0x8000000000000000LL, 0x0000000000000001LL), // make_ti(0x8000000000000000LL, 0x0000000000000001LL))) // abort // return 1; if (test__mulvti3(make_ti(0x8000000000000000LL, 0x0000000000000001LL), -1, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL))) return 1; if (test__mulvti3(-1, make_ti(0x8000000000000000LL, 0x0000000000000001LL), make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL))) return 1; if (test__mulvti3(make_ti(0x8000000000000000LL, 0x0000000000000001LL), 0, 0)) return 1; if (test__mulvti3(0, make_ti(0x8000000000000000LL, 0x0000000000000001LL), 0)) return 1; if (test__mulvti3(make_ti(0x8000000000000000LL, 0x0000000000000001LL), 1, make_ti(0x8000000000000000LL, 0x0000000000000001LL))) return 1; if (test__mulvti3(1, make_ti(0x8000000000000000LL, 0x0000000000000001LL), make_ti(0x8000000000000000LL, 0x0000000000000001LL))) return 1; // if (test__mulvti3(make_ti(0x8000000000000000LL, 0x0000000000000001LL), // 2, // make_ti(0x8000000000000000LL, 0x0000000000000000LL))) // abort // return 1; // if (test__mulvti3(2, // make_ti(0x8000000000000000LL, 0x0000000000000001LL), // make_ti(0x8000000000000000LL, 0x0000000000000000LL))) // abort // return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #ifdef CRT_HAS_128BIT if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 0, make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 1, make_ti(0x7F6E5D4C3B2A190ALL, 0xFF6E5D4C3B2A190ALL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 2, make_ti(0x3FB72EA61D950C85LL, 0x7FB72EA61D950C85LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 3, make_ti(0x1FDB97530ECA8642LL, 0xBFDB97530ECA8642LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 4, make_ti(0x0FEDCBA987654321LL, 0x5FEDCBA987654321LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 28, make_ti(0x0000000FEDCBA987LL, 0x6543215FEDCBA987LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 29, make_ti(0x00000007F6E5D4C3LL, 0xB2A190AFF6E5D4C3LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 30, make_ti(0x00000003FB72EA61LL, 0xD950C857FB72EA61LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 31, make_ti(0x00000001FDB97530LL, 0xECA8642BFDB97530LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 32, make_ti(0x00000000FEDCBA98LL, 0x76543215FEDCBA98LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 33, make_ti(0x000000007F6E5D4CLL, 0x3B2A190AFF6E5D4CLL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 34, make_ti(0x000000003FB72EA6LL, 0x1D950C857FB72EA6LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 35, make_ti(0x000000001FDB9753LL, 0x0ECA8642BFDB9753LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 36, make_ti(0x000000000FEDCBA9LL, 0x876543215FEDCBA9LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 60, make_ti(0x000000000000000FLL, 0xEDCBA9876543215FLL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 61, make_ti(0x0000000000000007LL, 0xF6E5D4C3B2A190AFLL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 62, make_ti(0x0000000000000003LL, 0xFB72EA61D950C857LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 63, make_ti(0x0000000000000001LL, 0xFDB97530ECA8642BLL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 64, make_ti(0x0000000000000000LL, 0xFEDCBA9876543215LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 65, make_ti(0x0000000000000000LL, 0x7F6E5D4C3B2A190ALL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 66, make_ti(0x0000000000000000LL, 0x3FB72EA61D950C85LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 67, make_ti(0x0000000000000000LL, 0x1FDB97530ECA8642LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 68, make_ti(0x0000000000000000LL, 0x0FEDCBA987654321LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 92, make_ti(0x0000000000000000LL, 0x0000000FEDCBA987LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 93, make_ti(0x0000000000000000LL, 0x00000007F6E5D4C3LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 94, make_ti(0x0000000000000000LL, 0x00000003FB72EA61LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 95, make_ti(0x0000000000000000LL, 0x00000001FDB97530LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 96, make_ti(0x0000000000000000LL, 0x00000000FEDCBA98LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 97, make_ti(0x0000000000000000LL, 0x000000007F6E5D4CLL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 98, make_ti(0x0000000000000000LL, 0x000000003FB72EA6LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 99, make_ti(0x0000000000000000LL, 0x000000001FDB9753LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 100, make_ti(0x0000000000000000LL, 0x000000000FEDCBA9LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 124, make_ti(0x0000000000000000LL, 0x000000000000000FLL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 125, make_ti(0x0000000000000000LL, 0x0000000000000007LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 126, make_ti(0x0000000000000000LL, 0x0000000000000003LL))) return 1; if (test__lshrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 127, make_ti(0x0000000000000000LL, 0x0000000000000001LL))) return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #if __x86_64 if (test__cmpti2(0, 0, 1)) return 1; if (test__cmpti2(1, 1, 1)) return 1; if (test__cmpti2(2, 2, 1)) return 1; if (test__cmpti2(0x7FFFFFFF, 0x7FFFFFFF, 1)) return 1; if (test__cmpti2(0x80000000, 0x80000000, 1)) return 1; if (test__cmpti2(0x80000001, 0x80000001, 1)) return 1; if (test__cmpti2(0xFFFFFFFF, 0xFFFFFFFF, 1)) return 1; if (test__cmpti2(0x000000010000000LL, 0x000000010000000LL, 1)) return 1; if (test__cmpti2(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL, 1)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000300000001LL, 0)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000300000002LL, 0)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000300000003LL, 0)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000100000001LL, 2)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000100000002LL, 2)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000100000003LL, 2)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000200000001LL, 2)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000200000002LL, 1)) return 1; if (test__cmpti2(0x0000000200000002LL, 0x0000000200000003LL, 0)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(3, 1), 0)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(3, 2), 0)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(3, 3), 0)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(1, 1), 2)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(1, 2), 2)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(1, 3), 2)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(2, 1), 2)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(2, 2), 1)) return 1; if (test__cmpti2(make_ti(2, 2), make_ti(2, 3), 0)) return 1; #endif return 0; }
int main() { #ifdef CRT_HAS_128BIT if (test__floattidf(0, 0.0)) return 1; if (test__floattidf(1, 1.0)) return 1; if (test__floattidf(2, 2.0)) return 1; if (test__floattidf(20, 20.0)) return 1; if (test__floattidf(-1, -1.0)) return 1; if (test__floattidf(-2, -2.0)) return 1; if (test__floattidf(-20, -20.0)) return 1; if (test__floattidf(0x7FFFFF8000000000LL, 0x1.FFFFFEp+62)) return 1; if (test__floattidf(0x7FFFFFFFFFFFF800LL, 0x1.FFFFFFFFFFFFEp+62)) return 1; if (test__floattidf(0x7FFFFF0000000000LL, 0x1.FFFFFCp+62)) return 1; if (test__floattidf(0x7FFFFFFFFFFFF000LL, 0x1.FFFFFFFFFFFFCp+62)) return 1; if (test__floattidf(make_ti(0x8000008000000000LL, 0), -0x1.FFFFFEp+126)) return 1; if (test__floattidf(make_ti(0x8000000000000800LL, 0), -0x1.FFFFFFFFFFFFEp+126)) return 1; if (test__floattidf(make_ti(0x8000010000000000LL, 0), -0x1.FFFFFCp+126)) return 1; if (test__floattidf(make_ti(0x8000000000001000LL, 0), -0x1.FFFFFFFFFFFFCp+126)) return 1; if (test__floattidf(make_ti(0x8000000000000000LL, 0), -0x1.000000p+127)) return 1; if (test__floattidf(make_ti(0x8000000000000001LL, 0), -0x1.000000p+127)) return 1; if (test__floattidf(0x0007FB72E8000000LL, 0x1.FEDCBAp+50)) return 1; if (test__floattidf(0x0007FB72EA000000LL, 0x1.FEDCBA8p+50)) return 1; if (test__floattidf(0x0007FB72EB000000LL, 0x1.FEDCBACp+50)) return 1; if (test__floattidf(0x0007FB72EBFFFFFFLL, 0x1.FEDCBAFFFFFFCp+50)) return 1; if (test__floattidf(0x0007FB72EC000000LL, 0x1.FEDCBBp+50)) return 1; if (test__floattidf(0x0007FB72E8000001LL, 0x1.FEDCBA0000004p+50)) return 1; if (test__floattidf(0x0007FB72E6000000LL, 0x1.FEDCB98p+50)) return 1; if (test__floattidf(0x0007FB72E7000000LL, 0x1.FEDCB9Cp+50)) return 1; if (test__floattidf(0x0007FB72E7FFFFFFLL, 0x1.FEDCB9FFFFFFCp+50)) return 1; if (test__floattidf(0x0007FB72E4000001LL, 0x1.FEDCB90000004p+50)) return 1; if (test__floattidf(0x0007FB72E4000000LL, 0x1.FEDCB9p+50)) return 1; if (test__floattidf(0x023479FD0E092DC0LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floattidf(0x023479FD0E092DA1LL, 0x1.1A3CFE870496Dp+57)) return 1; if (test__floattidf(0x023479FD0E092DB0LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floattidf(0x023479FD0E092DB8LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floattidf(0x023479FD0E092DB6LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floattidf(0x023479FD0E092DBFLL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floattidf(0x023479FD0E092DC1LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floattidf(0x023479FD0E092DC7LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floattidf(0x023479FD0E092DC8LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floattidf(0x023479FD0E092DCFLL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floattidf(0x023479FD0E092DD0LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floattidf(0x023479FD0E092DD1LL, 0x1.1A3CFE870496Fp+57)) return 1; if (test__floattidf(0x023479FD0E092DD8LL, 0x1.1A3CFE870496Fp+57)) return 1; if (test__floattidf(0x023479FD0E092DDFLL, 0x1.1A3CFE870496Fp+57)) return 1; if (test__floattidf(0x023479FD0E092DE0LL, 0x1.1A3CFE870496Fp+57)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DC0LL, 0), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DA1LL, 1), 0x1.1A3CFE870496Dp+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DB0LL, 2), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DB8LL, 3), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DB6LL, 4), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DBFLL, 5), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DC1LL, 6), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DC7LL, 7), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DC8LL, 8), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DCFLL, 9), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DD0LL, 0), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DD1LL, 11), 0x1.1A3CFE870496Fp+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DD8LL, 12), 0x1.1A3CFE870496Fp+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DDFLL, 13), 0x1.1A3CFE870496Fp+121)) return 1; if (test__floattidf(make_ti(0x023479FD0E092DE0LL, 14), 0x1.1A3CFE870496Fp+121)) return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #ifdef CRT_HAS_128BIT if (test__fixdfti(0.0, 0)) return 1; if (test__fixdfti(0.5, 0)) return 1; if (test__fixdfti(0.99, 0)) return 1; if (test__fixdfti(1.0, 1)) return 1; if (test__fixdfti(1.5, 1)) return 1; if (test__fixdfti(1.99, 1)) return 1; if (test__fixdfti(2.0, 2)) return 1; if (test__fixdfti(2.01, 2)) return 1; if (test__fixdfti(-0.5, 0)) return 1; if (test__fixdfti(-0.99, 0)) return 1; if (test__fixdfti(-1.0, -1)) return 1; if (test__fixdfti(-1.5, -1)) return 1; if (test__fixdfti(-1.99, -1)) return 1; if (test__fixdfti(-2.0, -2)) return 1; if (test__fixdfti(-2.01, -2)) return 1; if (test__fixdfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000LL)) return 1; if (test__fixdfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000LL)) return 1; if (test__fixdfti(-0x1.FFFFFEp+62, make_ti(0xFFFFFFFFFFFFFFFFLL, 0x8000008000000000LL))) return 1; if (test__fixdfti(-0x1.FFFFFCp+62, make_ti(0xFFFFFFFFFFFFFFFFLL, 0x8000010000000000LL))) return 1; if (test__fixdfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00LL)) return 1; if (test__fixdfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800LL)) return 1; if (test__fixdfti(-0x1.FFFFFFFFFFFFFp+62, make_ti(0xFFFFFFFFFFFFFFFFLL, 0x8000000000000400LL))) return 1; if (test__fixdfti(-0x1.FFFFFFFFFFFFEp+62, make_ti(0xFFFFFFFFFFFFFFFFLL, 0x8000000000000800LL))) return 1; if (test__fixdfti(0x1.FFFFFFFFFFFFFp+126, make_ti(0x7FFFFFFFFFFFFC00LL, 0))) return 1; if (test__fixdfti(0x1.FFFFFFFFFFFFEp+126, make_ti(0x7FFFFFFFFFFFF800LL, 0))) return 1; if (test__fixdfti(-0x1.FFFFFFFFFFFFFp+126, make_ti(0x8000000000000400LL, 0))) return 1; if (test__fixdfti(-0x1.FFFFFFFFFFFFEp+126, make_ti(0x8000000000000800LL, 0))) return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #if __x86_64 if (test__muloti4(0, 0, 0, 0)) return 1; if (test__muloti4(0, 1, 0, 0)) return 1; if (test__muloti4(1, 0, 0, 0)) return 1; if (test__muloti4(0, 10, 0, 0)) return 1; if (test__muloti4(10, 0, 0, 0)) return 1; if (test__muloti4(0, 81985529216486895LL, 0, 0)) return 1; if (test__muloti4(81985529216486895LL, 0, 0, 0)) return 1; if (test__muloti4(0, -1, 0, 0)) return 1; if (test__muloti4(-1, 0, 0, 0)) return 1; if (test__muloti4(0, -10, 0, 0)) return 1; if (test__muloti4(-10, 0, 0, 0)) return 1; if (test__muloti4(0, -81985529216486895LL, 0, 0)) return 1; if (test__muloti4(-81985529216486895LL, 0, 0, 0)) return 1; if (test__muloti4(1, 1, 1, 0)) return 1; if (test__muloti4(1, 10, 10, 0)) return 1; if (test__muloti4(10, 1, 10, 0)) return 1; if (test__muloti4(1, 81985529216486895LL, 81985529216486895LL, 0)) return 1; if (test__muloti4(81985529216486895LL, 1, 81985529216486895LL, 0)) return 1; if (test__muloti4(1, -1, -1, 0)) return 1; if (test__muloti4(1, -10, -10, 0)) return 1; if (test__muloti4(-10, 1, -10, 0)) return 1; if (test__muloti4(1, -81985529216486895LL, -81985529216486895LL, 0)) return 1; if (test__muloti4(-81985529216486895LL, 1, -81985529216486895LL, 0)) return 1; if (test__muloti4(3037000499LL, 3037000499LL, 9223372030926249001LL, 0)) return 1; if (test__muloti4(-3037000499LL, 3037000499LL, -9223372030926249001LL, 0)) return 1; if (test__muloti4(3037000499LL, -3037000499LL, -9223372030926249001LL, 0)) return 1; if (test__muloti4(-3037000499LL, -3037000499LL, 9223372030926249001LL, 0)) return 1; if (test__muloti4(4398046511103LL, 2097152LL, 9223372036852678656LL, 0)) return 1; if (test__muloti4(-4398046511103LL, 2097152LL, -9223372036852678656LL, 0)) return 1; if (test__muloti4(4398046511103LL, -2097152LL, -9223372036852678656LL, 0)) return 1; if (test__muloti4(-4398046511103LL, -2097152LL, 9223372036852678656LL, 0)) return 1; if (test__muloti4(2097152LL, 4398046511103LL, 9223372036852678656LL, 0)) return 1; if (test__muloti4(-2097152LL, 4398046511103LL, -9223372036852678656LL, 0)) return 1; if (test__muloti4(2097152LL, -4398046511103LL, -9223372036852678656LL, 0)) return 1; if (test__muloti4(-2097152LL, -4398046511103LL, 9223372036852678656LL, 0)) return 1; if (test__muloti4(make_ti(0x00000000000000B5LL, 0x04F333F9DE5BE000LL), make_ti(0x0000000000000000LL, 0x00B504F333F9DE5BLL), make_ti(0x7FFFFFFFFFFFF328LL, 0xDF915DA296E8A000LL), 0)) return 1; if (test__muloti4(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), -2, make_ti(0x8000000000000000LL, 0x0000000000000001LL), 1)) return 1; if (test__muloti4(-2, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), make_ti(0x8000000000000000LL, 0x0000000000000001LL), 1)) return 1; if (test__muloti4(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), -1, make_ti(0x8000000000000000LL, 0x0000000000000001LL), 0)) return 1; if (test__muloti4(-1, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), make_ti(0x8000000000000000LL, 0x0000000000000001LL), 0)) return 1; if (test__muloti4(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), 0, 0, 0)) return 1; if (test__muloti4(0, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), 0, 0)) return 1; if (test__muloti4(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), 1, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), 0)) return 1; if (test__muloti4(1, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), 0)) return 1; if (test__muloti4(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), 2, make_ti(0x8000000000000000LL, 0x0000000000000001LL), 1)) return 1; if (test__muloti4(2, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), make_ti(0x8000000000000000LL, 0x0000000000000001LL), 1)) return 1; if (test__muloti4(make_ti(0x8000000000000000LL, 0x0000000000000000LL), -2, make_ti(0x8000000000000000LL, 0x0000000000000000LL), 1)) return 1; if (test__muloti4(-2, make_ti(0x8000000000000000LL, 0x0000000000000000LL), make_ti(0x8000000000000000LL, 0x0000000000000000LL), 1)) return 1; if (test__muloti4(make_ti(0x8000000000000000LL, 0x0000000000000000LL), -1, make_ti(0x8000000000000000LL, 0x0000000000000000LL), 1)) return 1; if (test__muloti4(-1, make_ti(0x8000000000000000LL, 0x0000000000000000LL), make_ti(0x8000000000000000LL, 0x0000000000000000LL), 1)) return 1; if (test__muloti4(make_ti(0x8000000000000000LL, 0x0000000000000000LL), 0, 0, 0)) return 1; if (test__muloti4(0, make_ti(0x8000000000000000LL, 0x0000000000000000LL), 0, 0)) return 1; if (test__muloti4(make_ti(0x8000000000000000LL, 0x0000000000000000LL), 1, make_ti(0x8000000000000000LL, 0x0000000000000000LL), 0)) return 1; if (test__muloti4(1, make_ti(0x8000000000000000LL, 0x0000000000000000LL), make_ti(0x8000000000000000LL, 0x0000000000000000LL), 0)) return 1; if (test__muloti4(make_ti(0x8000000000000000LL, 0x0000000000000000LL), 2, make_ti(0x8000000000000000LL, 0x0000000000000000LL), 1)) return 1; if (test__muloti4(2, make_ti(0x8000000000000000LL, 0x0000000000000000LL), make_ti(0x8000000000000000LL, 0x0000000000000000LL), 1)) return 1; if (test__muloti4(make_ti(0x8000000000000000LL, 0x0000000000000001LL), -2, make_ti(0x8000000000000000LL, 0x0000000000000001LL), 1)) return 1; if (test__muloti4(-2, make_ti(0x8000000000000000LL, 0x0000000000000001LL), make_ti(0x8000000000000000LL, 0x0000000000000001LL), 1)) return 1; if (test__muloti4(make_ti(0x8000000000000000LL, 0x0000000000000001LL), -1, make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), 0)) return 1; if (test__muloti4(-1, make_ti(0x8000000000000000LL, 0x0000000000000001LL), make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), 0)) return 1; if (test__muloti4(make_ti(0x8000000000000000LL, 0x0000000000000001LL), 0, 0, 0)) return 1; if (test__muloti4(0, make_ti(0x8000000000000000LL, 0x0000000000000001LL), 0, 0)) return 1; if (test__muloti4(make_ti(0x8000000000000000LL, 0x0000000000000001LL), 1, make_ti(0x8000000000000000LL, 0x0000000000000001LL), 0)) return 1; if (test__muloti4(1, make_ti(0x8000000000000000LL, 0x0000000000000001LL), make_ti(0x8000000000000000LL, 0x0000000000000001LL), 0)) return 1; if (test__muloti4(make_ti(0x8000000000000000LL, 0x0000000000000001LL), 2, make_ti(0x8000000000000000LL, 0x0000000000000000LL), 1)) return 1; if (test__muloti4(2, make_ti(0x8000000000000000LL, 0x0000000000000001LL), make_ti(0x8000000000000000LL, 0x0000000000000000LL), 1)) return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #if __x86_64 if (test__floattixf(0, 0.0)) return 1; if (test__floattixf(1, 1.0)) return 1; if (test__floattixf(2, 2.0)) return 1; if (test__floattixf(20, 20.0)) return 1; if (test__floattixf(-1, -1.0)) return 1; if (test__floattixf(-2, -2.0)) return 1; if (test__floattixf(-20, -20.0)) return 1; if (test__floattixf(0x7FFFFF8000000000LL, 0x1.FFFFFEp+62)) return 1; if (test__floattixf(0x7FFFFFFFFFFFF800LL, 0x1.FFFFFFFFFFFFEp+62)) return 1; if (test__floattixf(0x7FFFFF0000000000LL, 0x1.FFFFFCp+62)) return 1; if (test__floattixf(0x7FFFFFFFFFFFF000LL, 0x1.FFFFFFFFFFFFCp+62)) return 1; if (test__floattixf(make_ti(0x8000008000000000LL, 0), -0x1.FFFFFEp+126)) return 1; if (test__floattixf(make_ti(0x8000000000000800LL, 0), -0x1.FFFFFFFFFFFFEp+126)) return 1; if (test__floattixf(make_ti(0x8000010000000000LL, 0), -0x1.FFFFFCp+126)) return 1; if (test__floattixf(make_ti(0x8000000000001000LL, 0), -0x1.FFFFFFFFFFFFCp+126)) return 1; if (test__floattixf(make_ti(0x8000000000000000LL, 0), -0x1.000000p+127)) return 1; if (test__floattixf(make_ti(0x8000000000000001LL, 0), -0x1.FFFFFFFFFFFFFFFCp+126L)) return 1; if (test__floattixf(0x0007FB72E8000000LL, 0x1.FEDCBAp+50)) return 1; if (test__floattixf(0x0007FB72EA000000LL, 0x1.FEDCBA8p+50)) return 1; if (test__floattixf(0x0007FB72EB000000LL, 0x1.FEDCBACp+50)) return 1; if (test__floattixf(0x0007FB72EBFFFFFFLL, 0x1.FEDCBAFFFFFFCp+50)) return 1; if (test__floattixf(0x0007FB72EC000000LL, 0x1.FEDCBBp+50)) return 1; if (test__floattixf(0x0007FB72E8000001LL, 0x1.FEDCBA0000004p+50)) return 1; if (test__floattixf(0x0007FB72E6000000LL, 0x1.FEDCB98p+50)) return 1; if (test__floattixf(0x0007FB72E7000000LL, 0x1.FEDCB9Cp+50)) return 1; if (test__floattixf(0x0007FB72E7FFFFFFLL, 0x1.FEDCB9FFFFFFCp+50)) return 1; if (test__floattixf(0x0007FB72E4000001LL, 0x1.FEDCB90000004p+50)) return 1; if (test__floattixf(0x0007FB72E4000000LL, 0x1.FEDCB9p+50)) return 1; if (test__floattixf(0x023479FD0E092DC0LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floattixf(0x023479FD0E092DA1LL, 0x1.1A3CFE870496D08p+57L)) return 1; if (test__floattixf(0x023479FD0E092DB0LL, 0x1.1A3CFE870496D8p+57L)) return 1; if (test__floattixf(0x023479FD0E092DB8LL, 0x1.1A3CFE870496DCp+57L)) return 1; if (test__floattixf(0x023479FD0E092DB6LL, 0x1.1A3CFE870496DBp+57L)) return 1; if (test__floattixf(0x023479FD0E092DBFLL, 0x1.1A3CFE870496DF8p+57L)) return 1; if (test__floattixf(0x023479FD0E092DC1LL, 0x1.1A3CFE870496E08p+57L)) return 1; if (test__floattixf(0x023479FD0E092DC7LL, 0x1.1A3CFE870496E38p+57L)) return 1; if (test__floattixf(0x023479FD0E092DC8LL, 0x1.1A3CFE870496E4p+57L)) return 1; if (test__floattixf(0x023479FD0E092DCFLL, 0x1.1A3CFE870496E78p+57L)) return 1; if (test__floattixf(0x023479FD0E092DD0LL, 0x1.1A3CFE870496E8p+57L)) return 1; if (test__floattixf(0x023479FD0E092DD1LL, 0x1.1A3CFE870496E88p+57L)) return 1; if (test__floattixf(0x023479FD0E092DD8LL, 0x1.1A3CFE870496ECp+57L)) return 1; if (test__floattixf(0x023479FD0E092DDFLL, 0x1.1A3CFE870496EF8p+57L)) return 1; if (test__floattixf(0x023479FD0E092DE0LL, 0x1.1A3CFE870496Fp+57)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DC0LL, 0), 0x1.1A3CFE870496Ep+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DA1LL, 1), 0x1.1A3CFE870496D08p+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DB0LL, 2), 0x1.1A3CFE870496D8p+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DB8LL, 3), 0x1.1A3CFE870496DCp+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DB6LL, 4), 0x1.1A3CFE870496DBp+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DBFLL, 5), 0x1.1A3CFE870496DF8p+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DC1LL, 6), 0x1.1A3CFE870496E08p+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DC7LL, 7), 0x1.1A3CFE870496E38p+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DC8LL, 8), 0x1.1A3CFE870496E4p+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DCFLL, 9), 0x1.1A3CFE870496E78p+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DD0LL, 0), 0x1.1A3CFE870496E8p+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DD1LL, 11), 0x1.1A3CFE870496E88p+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DD8LL, 12), 0x1.1A3CFE870496ECp+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DDFLL, 13), 0x1.1A3CFE870496EF8p+121L)) return 1; if (test__floattixf(make_ti(0x023479FD0E092DE0LL, 14), 0x1.1A3CFE870496Fp+121L)) return 1; if (test__floattixf(make_ti(0, 0xFFFFFFFFFFFFFFFFLL), 0x1.FFFFFFFFFFFFFFFEp+63L)) return 1; if (test__floattixf(make_ti(0x0000123456789012LL, 0x3456100000000001LL), 0x1.2345678901234562p+108L)) return 1; if (test__floattixf(make_ti(0x0000123456789012LL, 0x3456200000000000LL), 0x1.2345678901234562p+108L)) return 1; if (test__floattixf(make_ti(0x0000123456789012LL, 0x34562FFFFFFFFFFFLL), 0x1.2345678901234562p+108L)) return 1; if (test__floattixf(make_ti(0x0000123456789012LL, 0x3456300000000000LL), 0x1.2345678901234564p+108L)) return 1; if (test__floattixf(make_ti(0x0000123456789012LL, 0x3456400000000000LL), 0x1.2345678901234564p+108L)) return 1; if (test__floattixf(make_ti(0x0000123456789012LL, 0x34564FFFFFFFFFFFLL), 0x1.2345678901234564p+108L)) return 1; if (test__floattixf(make_ti(0x0000123456789012LL, 0x3456500000000000LL), 0x1.2345678901234564p+108L)) return 1; if (test__floattixf(make_ti(0x0000123456789012LL, 0x3456500000000001LL), 0x1.2345678901234566p+108L)) return 1; if (test__floattixf(make_ti(0x0000123456789012LL, 0x34566FFFFFFFFFFFLL), 0x1.2345678901234566p+108L)) return 1; #endif return 0; }
int main() { #if __x86_64 if (test__floatuntidf(0, 0.0)) return 1; if (test__floatuntidf(1, 1.0)) return 1; if (test__floatuntidf(2, 2.0)) return 1; if (test__floatuntidf(20, 20.0)) return 1; if (test__floatuntidf(0x7FFFFF8000000000LL, 0x1.FFFFFEp+62)) return 1; if (test__floatuntidf(0x7FFFFFFFFFFFF800LL, 0x1.FFFFFFFFFFFFEp+62)) return 1; if (test__floatuntidf(0x7FFFFF0000000000LL, 0x1.FFFFFCp+62)) return 1; if (test__floatuntidf(0x7FFFFFFFFFFFF000LL, 0x1.FFFFFFFFFFFFCp+62)) return 1; if (test__floatuntidf(make_ti(0x8000008000000000LL, 0), 0x1.000001p+127)) return 1; if (test__floatuntidf(make_ti(0x8000000000000800LL, 0), 0x1.0000000000001p+127)) return 1; if (test__floatuntidf(make_ti(0x8000010000000000LL, 0), 0x1.000002p+127)) return 1; if (test__floatuntidf(make_ti(0x8000000000001000LL, 0), 0x1.0000000000002p+127)) return 1; if (test__floatuntidf(make_ti(0x8000000000000000LL, 0), 0x1.000000p+127)) return 1; if (test__floatuntidf(make_ti(0x8000000000000001LL, 0), 0x1.0000000000000002p+127)) return 1; if (test__floatuntidf(0x0007FB72E8000000LL, 0x1.FEDCBAp+50)) return 1; if (test__floatuntidf(0x0007FB72EA000000LL, 0x1.FEDCBA8p+50)) return 1; if (test__floatuntidf(0x0007FB72EB000000LL, 0x1.FEDCBACp+50)) return 1; if (test__floatuntidf(0x0007FB72EBFFFFFFLL, 0x1.FEDCBAFFFFFFCp+50)) return 1; if (test__floatuntidf(0x0007FB72EC000000LL, 0x1.FEDCBBp+50)) return 1; if (test__floatuntidf(0x0007FB72E8000001LL, 0x1.FEDCBA0000004p+50)) return 1; if (test__floatuntidf(0x0007FB72E6000000LL, 0x1.FEDCB98p+50)) return 1; if (test__floatuntidf(0x0007FB72E7000000LL, 0x1.FEDCB9Cp+50)) return 1; if (test__floatuntidf(0x0007FB72E7FFFFFFLL, 0x1.FEDCB9FFFFFFCp+50)) return 1; if (test__floatuntidf(0x0007FB72E4000001LL, 0x1.FEDCB90000004p+50)) return 1; if (test__floatuntidf(0x0007FB72E4000000LL, 0x1.FEDCB9p+50)) return 1; if (test__floatuntidf(0x023479FD0E092DC0LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floatuntidf(0x023479FD0E092DA1LL, 0x1.1A3CFE870496Dp+57)) return 1; if (test__floatuntidf(0x023479FD0E092DB0LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floatuntidf(0x023479FD0E092DB8LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floatuntidf(0x023479FD0E092DB6LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floatuntidf(0x023479FD0E092DBFLL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floatuntidf(0x023479FD0E092DC1LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floatuntidf(0x023479FD0E092DC7LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floatuntidf(0x023479FD0E092DC8LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floatuntidf(0x023479FD0E092DCFLL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floatuntidf(0x023479FD0E092DD0LL, 0x1.1A3CFE870496Ep+57)) return 1; if (test__floatuntidf(0x023479FD0E092DD1LL, 0x1.1A3CFE870496Fp+57)) return 1; if (test__floatuntidf(0x023479FD0E092DD8LL, 0x1.1A3CFE870496Fp+57)) return 1; if (test__floatuntidf(0x023479FD0E092DDFLL, 0x1.1A3CFE870496Fp+57)) return 1; if (test__floatuntidf(0x023479FD0E092DE0LL, 0x1.1A3CFE870496Fp+57)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DC0LL, 0), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DA1LL, 1), 0x1.1A3CFE870496Dp+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DB0LL, 2), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DB8LL, 3), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DB6LL, 4), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DBFLL, 5), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DC1LL, 6), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DC7LL, 7), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DC8LL, 8), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DCFLL, 9), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DD0LL, 0), 0x1.1A3CFE870496Ep+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DD1LL, 11), 0x1.1A3CFE870496Fp+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DD8LL, 12), 0x1.1A3CFE870496Fp+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DDFLL, 13), 0x1.1A3CFE870496Fp+121)) return 1; if (test__floatuntidf(make_ti(0x023479FD0E092DE0LL, 14), 0x1.1A3CFE870496Fp+121)) return 1; #endif return 0; }
int main() { #if __x86_64 if (test__floatuntisf(0, 0.0F)) return 1; if (test__floatuntisf(1, 1.0F)) return 1; if (test__floatuntisf(2, 2.0F)) return 1; if (test__floatuntisf(20, 20.0F)) return 1; if (test__floatuntisf(0x7FFFFF8000000000LL, 0x1.FFFFFEp+62F)) return 1; if (test__floatuntisf(0x7FFFFF0000000000LL, 0x1.FFFFFCp+62F)) return 1; if (test__floatuntisf(make_ti(0x8000008000000000LL, 0), 0x1.000001p+127F)) return 1; if (test__floatuntisf(make_ti(0x8000000000000800LL, 0), 0x1.0p+127F)) return 1; if (test__floatuntisf(make_ti(0x8000010000000000LL, 0), 0x1.000002p+127F)) return 1; if (test__floatuntisf(make_ti(0x8000000000000000LL, 0), 0x1.000000p+127F)) return 1; if (test__floatuntisf(0x0007FB72E8000000LL, 0x1.FEDCBAp+50F)) return 1; if (test__floatuntisf(0x0007FB72EA000000LL, 0x1.FEDCBA8p+50F)) return 1; if (test__floatuntisf(0x0007FB72EB000000LL, 0x1.FEDCBACp+50F)) return 1; if (test__floatuntisf(0x0007FB72EC000000LL, 0x1.FEDCBBp+50F)) return 1; if (test__floatuntisf(0x0007FB72E6000000LL, 0x1.FEDCB98p+50F)) return 1; if (test__floatuntisf(0x0007FB72E7000000LL, 0x1.FEDCB9Cp+50F)) return 1; if (test__floatuntisf(0x0007FB72E4000000LL, 0x1.FEDCB9p+50F)) return 1; if (test__floatuntisf(0xFFFFFFFFFFFFFFFELL, 0x1p+64F)) return 1; if (test__floatuntisf(0xFFFFFFFFFFFFFFFFLL, 0x1p+64F)) return 1; if (test__floatuntisf(0x0007FB72E8000000LL, 0x1.FEDCBAp+50F)) return 1; if (test__floatuntisf(0x0007FB72EA000000LL, 0x1.FEDCBAp+50F)) return 1; if (test__floatuntisf(0x0007FB72EB000000LL, 0x1.FEDCBAp+50F)) return 1; if (test__floatuntisf(0x0007FB72EBFFFFFFLL, 0x1.FEDCBAp+50F)) return 1; if (test__floatuntisf(0x0007FB72EC000000LL, 0x1.FEDCBCp+50F)) return 1; if (test__floatuntisf(0x0007FB72E8000001LL, 0x1.FEDCBAp+50F)) return 1; if (test__floatuntisf(0x0007FB72E6000000LL, 0x1.FEDCBAp+50F)) return 1; if (test__floatuntisf(0x0007FB72E7000000LL, 0x1.FEDCBAp+50F)) return 1; if (test__floatuntisf(0x0007FB72E7FFFFFFLL, 0x1.FEDCBAp+50F)) return 1; if (test__floatuntisf(0x0007FB72E4000001LL, 0x1.FEDCBAp+50F)) return 1; if (test__floatuntisf(0x0007FB72E4000000LL, 0x1.FEDCB8p+50F)) return 1; if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCB90000000000001LL), 0x1.FEDCBAp+76F)) return 1; if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBA0000000000000LL), 0x1.FEDCBAp+76F)) return 1; if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBAFFFFFFFFFFFFFLL), 0x1.FEDCBAp+76F)) return 1; if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBB0000000000000LL), 0x1.FEDCBCp+76F)) return 1; if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBB0000000000001LL), 0x1.FEDCBCp+76F)) return 1; if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBBFFFFFFFFFFFFFLL), 0x1.FEDCBCp+76F)) return 1; if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBC0000000000000LL), 0x1.FEDCBCp+76F)) return 1; if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBC0000000000001LL), 0x1.FEDCBCp+76F)) return 1; if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBD0000000000000LL), 0x1.FEDCBCp+76F)) return 1; if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBD0000000000001LL), 0x1.FEDCBEp+76F)) return 1; if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBDFFFFFFFFFFFFFLL), 0x1.FEDCBEp+76F)) return 1; if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBE0000000000000LL), 0x1.FEDCBEp+76F)) return 1; #endif return 0; }
int main() { #ifdef CRT_HAS_128BIT if (test__fixunsdfti(0.0, 0)) return 1; if (test__fixunsdfti(0.5, 0)) return 1; if (test__fixunsdfti(0.99, 0)) return 1; if (test__fixunsdfti(1.0, 1)) return 1; if (test__fixunsdfti(1.5, 1)) return 1; if (test__fixunsdfti(1.99, 1)) return 1; if (test__fixunsdfti(2.0, 2)) return 1; if (test__fixunsdfti(2.01, 2)) return 1; if (test__fixunsdfti(-0.5, 0)) return 1; if (test__fixunsdfti(-0.99, 0)) return 1; #if !TARGET_LIBGCC if (test__fixunsdfti(-1.0, 0)) // libgcc ignores "returns 0 for negative input" spec return 1; if (test__fixunsdfti(-1.5, 0)) return 1; if (test__fixunsdfti(-1.99, 0)) return 1; if (test__fixunsdfti(-2.0, 0)) return 1; if (test__fixunsdfti(-2.01, 0)) return 1; #endif if (test__fixunsdfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000LL)) return 1; if (test__fixunsdfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000LL)) return 1; #if !TARGET_LIBGCC if (test__fixunsdfti(-0x1.FFFFFEp+62, 0)) return 1; if (test__fixunsdfti(-0x1.FFFFFCp+62, 0)) return 1; #endif if (test__fixunsdfti(0x1.FFFFFFFFFFFFFp+63, 0xFFFFFFFFFFFFF800ULL)) return 1; if (test__fixunsdfti(0x1.0000000000000p+63, 0x8000000000000000ULL)) return 1; if (test__fixunsdfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00ULL)) return 1; if (test__fixunsdfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800ULL)) return 1; if (test__fixunsdfti(0x1.FFFFFFFFFFFFFp+127, make_ti(0xFFFFFFFFFFFFF800ULL, 0))) return 1; if (test__fixunsdfti(0x1.0000000000000p+127, make_ti(0x8000000000000000ULL, 0))) return 1; if (test__fixunsdfti(0x1.FFFFFFFFFFFFFp+126, make_ti(0x7FFFFFFFFFFFFC00ULL, 0))) return 1; if (test__fixunsdfti(0x1.FFFFFFFFFFFFEp+126, make_ti(0x7FFFFFFFFFFFF800ULL, 0))) return 1; if (test__fixunsdfti(0x1.0000000000000p+128, make_ti(0xFFFFFFFFFFFFFFFFULL, 0xFFFFFFFFFFFFFFFFULL))) return 1; #if !TARGET_LIBGCC if (test__fixunsdfti(-0x1.FFFFFFFFFFFFFp+62, 0)) return 1; if (test__fixunsdfti(-0x1.FFFFFFFFFFFFEp+62, 0)) return 1; #endif #endif return 0; }
int main() { #ifdef CRT_HAS_128BIT if (test__negti2(0, 0)) return 1; if (test__negti2(1, -1)) return 1; if (test__negti2(-1, 1)) return 1; if (test__negti2(2, -2)) return 1; if (test__negti2(-2, 2)) return 1; if (test__negti2(3, -3)) return 1; if (test__negti2(-3, 3)) return 1; if (test__negti2(make_ti(0x0000000000000000LL, 0x00000000FFFFFFFELL), make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFF00000002LL))) return 1; if (test__negti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFF00000002LL), make_ti(0x0000000000000000LL, 0x00000000FFFFFFFELL))) return 1; if (test__negti2(make_ti(0x0000000000000000LL, 0x00000000FFFFFFFFLL), make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFF00000001LL))) return 1; if (test__negti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFF00000001LL), make_ti(0x0000000000000000LL, 0x00000000FFFFFFFFLL))) return 1; if (test__negti2(make_ti(0x0000000000000000LL, 0x0000000100000000LL), make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFF00000000LL))) return 1; if (test__negti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFF00000000LL), make_ti(0x0000000000000000LL, 0x0000000100000000LL))) return 1; if (test__negti2(make_ti(0x0000000000000000LL, 0x0000000200000000LL), make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFE00000000LL))) return 1; if (test__negti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFE00000000LL), make_ti(0x0000000000000000LL, 0x0000000200000000LL))) return 1; if (test__negti2(make_ti(0x0000000000000000LL, 0x0000000300000000LL), make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFD00000000LL))) return 1; if (test__negti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFD00000000LL), make_ti(0x0000000000000000LL, 0x0000000300000000LL))) return 1; if (test__negti2(make_ti(0x0000000000000000LL, 0x7FFFFFFFFFFFFFFFLL), make_ti(0xFFFFFFFFFFFFFFFFLL, 0x8000000000000001LL))) return 1; if (test__negti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0x8000000000000001LL), make_ti(0x0000000000000000LL, 0x7FFFFFFFFFFFFFFFLL))) return 1; if (test__negti2(make_ti(0x0000000000000000LL, 0x7FFFFFFFFFFFFFFFLL), make_ti(0xFFFFFFFFFFFFFFFFLL, 0x8000000000000001LL))) return 1; if (test__negti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFE00000000LL), make_ti(0x0000000000000000LL, 0x0000000200000000LL))) return 1; if (test__negti2(make_ti(0x0000000000000000LL, 0x0000000200000000LL), make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFE00000000LL))) return 1; if (test__negti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFF00000000LL), make_ti(0x0000000000000000LL, 0x0000000100000000LL))) return 1; if (test__negti2(make_ti(0x0000000000000000LL, 0x0000000100000000LL), make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFF00000000LL))) return 1; if (test__negti2(make_ti(0x8000000000000000LL, 0x0000000000000000LL), make_ti(0x8000000000000000LL, 0x0000000000000000LL))) return 1; if (test__negti2(make_ti(0x8000000000000000LL, 0x0000000000000001LL), make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL))) return 1; if (test__negti2(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL), make_ti(0x8000000000000000LL, 0x0000000000000001LL))) return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #if __x86_64 if (test__negvti2(0)) return 1; if (test__negvti2(1)) return 1; if (test__negvti2(-1)) return 1; if (test__negvti2(2)) return 1; if (test__negvti2(-2)) return 1; if (test__negvti2(3)) return 1; if (test__negvti2(-3)) return 1; if (test__negvti2(make_ti(0x0000000000000000LL, 0x00000000FFFFFFFELL))) return 1; if (test__negvti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFF00000002LL))) return 1; if (test__negvti2(make_ti(0x0000000000000000LL, 0x00000000FFFFFFFFLL))) return 1; if (test__negvti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFF00000001LL))) return 1; if (test__negvti2(make_ti(0x0000000000000000LL, 0x0000000100000000LL))) return 1; if (test__negvti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFF00000000LL))) return 1; if (test__negvti2(make_ti(0x0000000000000000LL, 0x0000000200000000LL))) return 1; if (test__negvti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFE00000000LL))) return 1; if (test__negvti2(make_ti(0x0000000000000000LL, 0x0000000300000000LL))) return 1; if (test__negvti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFD00000000LL))) return 1; if (test__negvti2(make_ti(0x0000000000000000LL, 0x7FFFFFFFFFFFFFFFLL))) return 1; if (test__negvti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0x8000000000000001LL))) return 1; if (test__negvti2(make_ti(0x0000000000000000LL, 0x7FFFFFFFFFFFFFFFLL))) return 1; if (test__negvti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFE00000000LL))) return 1; if (test__negvti2(make_ti(0x0000000000000000LL, 0x0000000200000000LL))) return 1; if (test__negvti2(make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFF00000000LL))) return 1; if (test__negvti2(make_ti(0x0000000000000000LL, 0x0000000100000000LL))) return 1; // if (test__negvti2(make_ti(0x8000000000000000LL, 0x0000000000000000LL))) // abort // return 1; if (test__negvti2(make_ti(0x8000000000000000LL, 0x0000000000000001LL))) return 1; if (test__negvti2(make_ti(0x7FFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL))) return 1; #else printf("skipped\n"); #endif return 0; }
int main() { #ifdef CRT_HAS_128BIT if (test__fixunssfti(0.0F, 0)) return 1; if (test__fixunssfti(0.5F, 0)) return 1; if (test__fixunssfti(0.99F, 0)) return 1; if (test__fixunssfti(1.0F, 1)) return 1; if (test__fixunssfti(1.5F, 1)) return 1; if (test__fixunssfti(1.99F, 1)) return 1; if (test__fixunssfti(2.0F, 2)) return 1; if (test__fixunssfti(2.01F, 2)) return 1; if (test__fixunssfti(-0.5F, 0)) return 1; if (test__fixunssfti(-0.99F, 0)) return 1; #if !TARGET_LIBGCC if (test__fixunssfti(-1.0F, 0)) // libgcc ignores "returns 0 for negative input" spec return 1; if (test__fixunssfti(-1.5F, 0)) return 1; if (test__fixunssfti(-1.99F, 0)) return 1; if (test__fixunssfti(-2.0F, 0)) return 1; if (test__fixunssfti(-2.01F, 0)) return 1; #endif if (test__fixunssfti(0x1.FFFFFEp+63F, 0xFFFFFF0000000000ULL)) return 1; if (test__fixunssfti(0x1.000000p+63F, 0x8000000000000000ULL)) return 1; if (test__fixunssfti(0x1.FFFFFEp+62F, 0x7FFFFF8000000000LL)) return 1; if (test__fixunssfti(0x1.FFFFFCp+62F, 0x7FFFFF0000000000LL)) return 1; if (test__fixunssfti(0x1.FFFFFEp+127F, make_ti(0xFFFFFF0000000000ULL, 0))) return 1; if (test__fixunssfti(0x1.000000p+127F, make_ti(0x8000000000000000ULL, 0))) return 1; if (test__fixunssfti(0x1.FFFFFEp+126F, make_ti(0x7FFFFF8000000000LL, 0))) return 1; if (test__fixunssfti(0x1.FFFFFCp+126F, make_ti(0x7FFFFF0000000000LL, 0))) return 1; #if !TARGET_LIBGCC if (test__fixunssfti(-0x1.FFFFFEp+62F, 0x0000000000000000LL)) return 1; if (test__fixunssfti(-0x1.FFFFFCp+62F, 0x0000000000000000LL)) return 1; if (test__fixunssfti(-0x1.FFFFFEp+126F, 0x0000000000000000LL)) return 1; if (test__fixunssfti(-0x1.FFFFFCp+126F, 0x0000000000000000LL)) return 1; #endif #endif return 0; }
int main() { #ifdef CRT_HAS_128BIT if (test__fixsfti(0.0F, 0)) return 1; if (test__fixsfti(0.5F, 0)) return 1; if (test__fixsfti(0.99F, 0)) return 1; if (test__fixsfti(1.0F, 1)) return 1; if (test__fixsfti(1.5F, 1)) return 1; if (test__fixsfti(1.99F, 1)) return 1; if (test__fixsfti(2.0F, 2)) return 1; if (test__fixsfti(2.01F, 2)) return 1; if (test__fixsfti(-0.5F, 0)) return 1; if (test__fixsfti(-0.99F, 0)) return 1; if (test__fixsfti(-1.0F, -1)) return 1; if (test__fixsfti(-1.5F, -1)) return 1; if (test__fixsfti(-1.99F, -1)) return 1; if (test__fixsfti(-2.0F, -2)) return 1; if (test__fixsfti(-2.01F, -2)) return 1; if (test__fixsfti(0x1.FFFFFEp+62F, 0x7FFFFF8000000000LL)) return 1; if (test__fixsfti(0x1.FFFFFCp+62F, 0x7FFFFF0000000000LL)) return 1; if (test__fixsfti(-0x1.FFFFFEp+62F, make_ti(0xFFFFFFFFFFFFFFFFLL, 0x8000008000000000LL))) return 1; if (test__fixsfti(-0x1.FFFFFCp+62F, make_ti(0xFFFFFFFFFFFFFFFFLL, 0x8000010000000000LL))) return 1; if (test__fixsfti(0x1.FFFFFEp+126F, make_ti(0x7FFFFF8000000000LL, 0))) return 1; if (test__fixsfti(0x1.FFFFFCp+126F, make_ti(0x7FFFFF0000000000LL, 0))) return 1; if (test__fixsfti(-0x1.FFFFFEp+126F, make_ti(0x8000008000000000LL, 0))) return 1; if (test__fixsfti(-0x1.FFFFFCp+126F, make_ti(0x8000010000000000LL, 0))) return 1; #else printf("skipped\n"); #endif return 0; }