#include "ncmul.h"
#include "numeric.h"
#include "power.h"
+#include "relational.h"
#include "debugmsg.h"
#include "utils.h"
return (*bp)[i];
}
+/** Return operand/member at position i. */
ex ex::op(int i) const
{
debugmsg("ex op()",LOGLEVEL_MEMBER_FUNCTION);
return bp->op(i);
}
+/** Return modifyable operand/member at position i. */
ex & ex::let_op(int i)
{
debugmsg("ex let_op()",LOGLEVEL_MEMBER_FUNCTION);
return bp->let_op(i);
}
+/** Left hand side of relational expression. */
+ex ex::lhs(void) const
+{
+ debugmsg("ex lhs()",LOGLEVEL_MEMBER_FUNCTION);
+ GINAC_ASSERT(is_ex_of_type(*this,relational));
+ return (*static_cast<relational *>(bp)).lhs();
+}
+
+/** Right hand side of relational expression. */
+ex ex::rhs(void) const
+{
+ debugmsg("ex rhs()",LOGLEVEL_MEMBER_FUNCTION);
+ GINAC_ASSERT(is_ex_of_type(*this,relational));
+ return (*static_cast<relational *>(bp)).rhs();
+}
+
#ifndef INLINE_EX_CONSTRUCTORS
int ex::compare(const ex & other) const
{