当前位置: 首页>>代码示例>>C++>>正文


C++ SymEngine::eq方法代码示例

本文整理汇总了C++中SymEngine::eq方法的典型用法代码示例。如果您正苦于以下问题:C++ SymEngine::eq方法的具体用法?C++ SymEngine::eq怎么用?C++ SymEngine::eq使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SymEngine的用法示例。


在下文中一共展示了SymEngine::eq方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: symbol

#include <symengine/expression.h>

using SymEngine::Expression;
using SymEngine::symbol;
using SymEngine::eq;
using SymEngine::integer;
using SymEngine::real_double;
using SymEngine::complex_double;
using SymEngine::sin;
using SymEngine::pi;

TEST_CASE("Constructors of Expression", "[Expression]")
{
    Expression e0 = symbol("x");
    REQUIRE(eq(*e0.get_basic(), *symbol("x")));

    Expression e1 = 20;
    REQUIRE(eq(*e1.get_basic(), *integer(20)));

    Expression e2 = 10.0;
    REQUIRE(eq(*e2.get_basic(), *real_double(10.0)));

    Expression e3 = std::complex<double>(1.0, 2.0);
    REQUIRE(
        eq(*e3.get_basic(), *complex_double(std::complex<double>(1.0, 2.0))));
}

TEST_CASE("Printing of Expression", "[Expression]")
{
    Expression e0 = symbol("x");
开发者ID:isuruf,项目名称:symengine,代码行数:30,代码来源:test_expression.cpp

示例2: subnum

    RCP<const Number> r3 = real_mpfr(std::move(c));
    RCP<const Number> r4 = real_mpfr(std::move(d));
    RCP<const Number> r5 = subnum(integer(0), r1);
    RCP<const Number> i1 = integer(1);
    RCP<const Number> i2 = integer(2);
    RCP<const Number> half = integer(1)->div(*integer(2));
    RCP<const Number> c1 = Complex::from_two_nums(*i1, *i1);
    RCP<const Number> rat1 = Rational::from_two_ints(*integer(10), *integer(3));
    RCP<const Number> rd1 = real_double(10.0);
    RCP<const Number> cd1 = complex_double(std::complex<double>(1, 2));

    REQUIRE(not r1->is_one());
    REQUIRE(not r1->is_minus_one());
    REQUIRE(not r1->is_complex());

    REQUIRE(eq(*r2, *addnum(r1, r1)));
    REQUIRE(is_a<RealMPFR>(*addnum(r1, rat1)));
    REQUIRE(eq(*r2, *addnum(r1, rd1)));
    REQUIRE(eq(*r1, *subnum(r1, integer(0))));
    REQUIRE(is_a<RealMPFR>(*subnum(r2, rat1)));
    REQUIRE(eq(*r1, *subnum(r2, rd1)));
    REQUIRE(is_a<RealMPFR>(*subnum(rat1, r2)));
    REQUIRE(eq(*neg(r1), *subnum(rd1, r2)));
    REQUIRE(eq(*r2, *mulnum(r1, i2)));
    REQUIRE(eq(*r2, *mulnum(i2, r1)));
    REQUIRE(eq(*r3, *mulnum(r1, rd1)));
    REQUIRE(is_a<RealMPFR>(*mulnum(rat1, r1)));
    REQUIRE(eq(*r3, *mulnum(r1, r1)));
    REQUIRE(eq(*r1, *divnum(r2, i2)));
    REQUIRE(eq(*r1, *divnum(r3, rd1)));
    REQUIRE(is_a<RealMPFR>(*divnum(r3, rat1)));
开发者ID:Piruzzolo,项目名称:symengine,代码行数:31,代码来源:test_number.cpp

示例3: REQUIRE

using SymEngine::Xor;
using SymEngine::Not;

TEST_CASE("BooleanAtom : Basic", "[basic]")
{
    REQUIRE(boolTrue->__str__() == "True");
    REQUIRE(boolFalse->__str__() == "False");

    vec_basic v = boolTrue->get_args();
    vec_basic u;
    REQUIRE(unified_eq(v, u));

    auto x = symbol("x");
    CHECK_THROWS_AS(boolTrue->diff(x), SymEngineException &);

    REQUIRE(not eq(*boolTrue, *boolFalse));
    REQUIRE(eq(*boolFalse, *boolean(false)));
}

TEST_CASE("Contains", "[logic]")
{
    auto x = symbol("x");
    auto y = symbol("y");
    auto int1 = interval(integer(1), integer(2), false, false);
    auto int2 = interval(integer(1), integer(2), true, true);

    auto p = contains(integer(1), int2);
    REQUIRE(eq(*p, *boolFalse));

    p = contains(integer(2), int2);
    REQUIRE(eq(*p, *boolFalse));
开发者ID:isuruf,项目名称:symengine,代码行数:31,代码来源:test_logic.cpp

示例4: a

    mpfr_class a(100), b(100), d(100), c(100);
    mpfr_set_ui(a.get_mpfr_t(), 10, MPFR_RNDN);
    mpfr_set_ui(b.get_mpfr_t(), 20, MPFR_RNDN);
    mpfr_set_ui(c.get_mpfr_t(), 100, MPFR_RNDN);
    mpfr_set_ui(d.get_mpfr_t(), 1024, MPFR_RNDN);
    RCP<const Number> r1 = real_mpfr(std::move(a));
    RCP<const Number> r2 = real_mpfr(std::move(b));
    RCP<const Number> r3 = real_mpfr(std::move(c));
    RCP<const Number> r4 = real_mpfr(std::move(d));
    RCP<const Number> r5 = subnum(integer(0), r1);
    RCP<const Number> i1 = integer(1);
    RCP<const Number> i2 = integer(2);
    RCP<const Number> half = integer(1)->div(*integer(2));
    RCP<const Number> c1 = Complex::from_two_nums(*i1, *i1);

    REQUIRE(eq(*r2, *addnum(r1, r1)));
    REQUIRE(eq(*r2, *mulnum(r1, i2)));
    REQUIRE(eq(*r2, *mulnum(i2, r1)));
    REQUIRE(eq(*r1, *divnum(r2, i2)));
    REQUIRE(eq(*divnum(i1, r1), *divnum(i2, r2)));
    REQUIRE(eq(*r1, *subnum(r2, r1)));
    REQUIRE(eq(*r1, *subnum(integer(20), r1)));
    REQUIRE(eq(*r1, *mulnum(r2, half)));
    REQUIRE(eq(*r3, *pownum(r1, i2)));
    REQUIRE(eq(*r4, *pownum(i2, r1)));
    REQUIRE(eq(*r1, *pownum(r3, half)));
    REQUIRE(eq(*divnum(i1, r4), *half->pow(*r1)));
#ifdef HAVE_SYMENGINE_MPC
    REQUIRE(is_a<ComplexMPC>(*addnum(r1, c1)));
    REQUIRE(is_a<ComplexMPC>(*mulnum(c1, r2)));
    REQUIRE(is_a<ComplexMPC>(*pownum(r5, half)));
开发者ID:cbehan,项目名称:symengine,代码行数:31,代码来源:test_number.cpp


注:本文中的SymEngine::eq方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。