23 Expression * e = Expression::shallowReduce(context, angleUnit);
27 #if MATRIX_EXACT_REDUCING 35 if (!r2->denominator().isOne()) {
38 if (Power::RationalExponentShouldNotBeReduced(r2)) {
55 Complex<T> * Round::templatedApproximate(Context& context, AngleUnit angleUnit)
const {
58 T f1 = f1Input->type() ==
Type::Complex ?
static_cast<Complex<T> *
>(f1Input)->toScalar() :
NAN;
59 T f2 = f2Input->type() ==
Type::Complex ?
static_cast<Complex<T> *
>(f2Input)->toScalar() :
NAN;
friend class Multiplication
Expression * replaceWith(Expression *newOperand, bool deleteAfterReplace=true)
Expression * approximate(Context &context, AngleUnit angleUnit=AngleUnit::Default) const
Expression * editableOperand(int i)
Type type() const override
static int NaturalOrder(const Rational &i, const Rational &j)
static Integer Addition(const Integer &i, const Integer &j)
const Expression * m_operands[T]
static Complex< T > Float(T x)
const Expression * operand(int i) const
static IntegerDivision Division(const Integer &numerator, const Integer &denominator)
Expression * clone() const override