Exemplo n.º 1
0
        {add(add(sinh(one), add(cosh(one), add(tanh(one), coth(one)))),
             sech(r3)),
         5.773239267559},
        {sub(add(add(asinh(r4), add(acosh(r4), add(atanh(r3), acoth(r4)))),
                 sech(r4)),
             acsch(r4)),
         4.825120290814},
        {SymEngine::abs(log(div(pi, mul(E, integer(2))))), 0.548417294710},
        {SymEngine::atan2(r1, neg(r2)), 2.08867384922582},
        {mul(pi, mul(E, EulerGamma)), 4.92926836742289},
        {pow(mul(EulerGamma, r4), integer(8)), 4813.54354505117582},
        {mul(EulerGamma, integer(10)), 5.7721566490153286},
        {max({r2, r1}), 0.841470984808},
        {min({add(r1, r4), r2}), 0.479425538604},
        {gamma(div(integer(4), integer(3))), 0.892979511569249211},
        {loggamma(div(integer(7), integer(2))), 1.200973602347074224},
        {loggamma(pi), 0.82769459232343710152},
        {add(asech(div(one, integer(2))), real_double(0.1)), 1.41695789692482},
        {r5, 0.841470984807897},
    };

    for (unsigned i = 0; i < vec.size(); i++) {
        double val = eval_double(*vec[i].first);
        std::cout.precision(12);
        std::cout << vec[i].first->__str__() << " ~ " << val << std::endl;
        REQUIRE(::fabs(val - vec[i].second) < 1e-12);
    }

    for (unsigned i = 0; i < vec.size(); i++) {
        double val = eval_double_single_dispatch(*vec[i].first);
        REQUIRE(::fabs(val - vec[i].second) < 1e-12);
Exemplo n.º 2
0
    REQUIRE(mpfr_cmp_d(a, 0.00000000182845) == 1);
    REQUIRE(mpfr_cmp_d(a, 0.00000000182846) == -1);

    r = max({integer(3), integer(2)});

    eval_mpfr(a, *r, MPFR_RNDN);
    REQUIRE(mpfr_cmp_d(a, 3.00000000000001) == -1);
    REQUIRE(mpfr_cmp_d(a, 2.99999999999999) == 1);

    r = min({sqrt(integer(3)), sqrt(integer(2))});

    eval_mpfr(a, *r, MPFR_RNDN);
    REQUIRE(mpfr_cmp_d(a, 1.41421356238) == -1);
    REQUIRE(mpfr_cmp_d(a, 1.41421356236) == 1);

    r = loggamma(E);
    eval_mpfr(a, *r, MPFR_RNDN);
    REQUIRE(mpfr_cmp_d(a, 0.44946174183) == -1);
    REQUIRE(mpfr_cmp_d(a, 0.44946174181) == 1);

    r = loggamma(integer(5));
    eval_mpfr(a, *r, MPFR_RNDN);
    REQUIRE(mpfr_cmp_d(a, 3.17805383035) == -1);
    REQUIRE(mpfr_cmp_d(a, 3.17805383033) == 1);

    r = erf(integer(2));

    eval_mpfr(a, *r, MPFR_RNDN);
    REQUIRE(mpfr_cmp_d(a, 0.995322265019) == -1);
    REQUIRE(mpfr_cmp_d(a, 0.995322265017) == 1);