Exemplo n.º 1
0
int main()
{
#if __LDBL_MANT_DIG__ == 113
    // qNaN - any = qNaN
    if (test__subtf3(makeQNaN128(),
                     0x1.23456789abcdefp+5L,
                     UINT64_C(0x7fff800000000000),
                     UINT64_C(0x0)))
        return 1;
    // NaN - any = NaN
    if (test__subtf3(makeNaN128(UINT64_C(0x800030000000)),
                     0x1.23456789abcdefp+5L,
                     UINT64_C(0x7fff800000000000),
                     UINT64_C(0x0)))
        return 1;
    // inf - any = inf
    if (test__subtf3(makeInf128(),
                     0x1.23456789abcdefp+5L,
                     UINT64_C(0x7fff000000000000),
                     UINT64_C(0x0)))
        return 1;
    // any - any
    if (test__subtf3(0x1.234567829a3bcdef5678ade36734p+5L,
                     0x1.ee9d7c52354a6936ab8d7654321fp-1L,
                     UINT64_C(0x40041b8af1915166),
                     UINT64_C(0xa44a7bca780a166c)))
        return 1;

#else
    printf("skipped\n");

#endif
    return 0;
}
Exemplo n.º 2
0
int main()
{
#if __LDBL_MANT_DIG__ == 113
    // qNaN / any = qNaN
    if (test__divtf3(makeQNaN128(),
                     0x1.23456789abcdefp+5L,
                     UINT64_C(0x7fff800000000000),
                     UINT64_C(0x0)))
        return 1;
    // NaN / any = NaN
    if (test__divtf3(makeNaN128(UINT64_C(0x800030000000)),
                     0x1.23456789abcdefp+5L,
                     UINT64_C(0x7fff800000000000),
                     UINT64_C(0x0)))
        return 1;
    // inf / any = inf
    if (test__divtf3(makeInf128(),
                     0x1.23456789abcdefp+5L,
                     UINT64_C(0x7fff000000000000),
                     UINT64_C(0x0)))
        return 1;
    // any / any
    if (test__divtf3(0x1.a23b45362464523375893ab4cdefp+5L,
                     0x1.eedcbaba3a94546558237654321fp-1L,
                     UINT64_C(0x4004b0b72924d407),
                     UINT64_C(0x0717e84356c6eba2)))
        return 1;
    if (test__divtf3(0x1.a2b34c56d745382f9abf2c3dfeffp-50L,
                     0x1.ed2c3ba15935332532287654321fp-9L,
                     UINT64_C(0x3fd5b2af3f828c9b),
                     UINT64_C(0x40e51f64cde8b1f2)))
        return 15;
    if (test__divtf3(0x1.2345f6aaaa786555f42432abcdefp+456L,
                     0x1.edacbba9874f765463544dd3621fp+6400L,
                     UINT64_C(0x28c62e15dc464466),
                     UINT64_C(0xb5a07586348557ac)))
        return 1;
    if (test__divtf3(0x1.2d3456f789ba6322bc665544edefp-234L,
                     0x1.eddcdba39f3c8b7a36564354321fp-4455L,
                     UINT64_C(0x507b38442b539266),
                     UINT64_C(0x22ce0f1d024e1252)))
        return 1;
    if (test__divtf3(0x1.2345f6b77b7a8953365433abcdefp+234L,
                     0x1.edcba987d6bb3aa467754354321fp-4055L,
                     UINT64_C(0x50bf2e02f0798d36),
                     UINT64_C(0x5e6fcb6b60044078)))
        return 1;

#else
    printf("skipped\n");

#endif
    return 0;
}
Exemplo n.º 3
0
int main()
{
#if __LDBL_MANT_DIG__ == 113
    // qNaN
    if (test__trunctfdf2(makeQNaN128(),
                         UINT64_C(0x7ff8000000000000)))
        return 1;
    // NaN
    if (test__trunctfdf2(makeNaN128(UINT64_C(0x810000000000)),
                         UINT64_C(0x7ff8100000000000)))
        return 1;
    // inf
    if (test__trunctfdf2(makeInf128(),
                         UINT64_C(0x7ff0000000000000)))
        return 1;
    // zero
    if (test__trunctfdf2(0.0L, UINT64_C(0x0)))
        return 1;

    if (test__trunctfdf2(0x1.af23456789bbaaab347645365cdep+5L,
                         UINT64_C(0x404af23456789bbb)))
        return 1;
    if (test__trunctfdf2(0x1.dedafcff354b6ae9758763545432p-9L,
                         UINT64_C(0x3f6dedafcff354b7)))
        return 1;
    if (test__trunctfdf2(0x1.2f34dd5f437e849b4baab754cdefp+4534L,
                         UINT64_C(0x7ff0000000000000)))
        return 1;
    if (test__trunctfdf2(0x1.edcbff8ad76ab5bf46463233214fp-435L,
                         UINT64_C(0x24cedcbff8ad76ab)))
        return 1;

#else
    printf("skipped\n");

#endif
    return 0;
}