示例#1
0
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;
}
示例#2
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;
}
示例#3
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;
}
示例#4
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;
}
示例#5
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;
}
示例#8
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;
}
示例#9
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;
}
示例#10
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;
}
示例#11
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;
}
示例#12
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;
}
示例#14
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;
}
示例#15
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;
}
示例#16
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;
}
示例#20
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;
}
示例#21
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;
}
示例#22
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;
}
示例#23
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;
}
示例#24
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;
}