[poincare] Expression(Node)::setSign is not const

This commit is contained in:
Léa Saviot
2018-08-31 10:37:57 +02:00
parent 6bcffd5bb2
commit aa1f4a9f9c
14 changed files with 21 additions and 21 deletions

View File

@@ -25,7 +25,7 @@ public:
// Properties
Type type() const override { return Type::AbsoluteValue; }
Sign sign() const override { return Sign::Positive; }
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) const override;
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) override;
// Approximation
template<typename T> static Complex<T> computeOnComplex(const std::complex<T> c, Preferences::AngleUnit angleUnit);
@@ -56,7 +56,7 @@ public:
}
Expression shallowReduce(Context & context, Preferences::AngleUnit angleUnit) const;
private:
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit) const;
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit);
};
}

View File

@@ -47,7 +47,7 @@ public:
// Properties
Type type() const override { return Type::Decimal; }
Sign sign() const override { return m_negative ? Sign::Negative : Sign::Positive; }
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) const override;
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) override;
// Approximation
Evaluation<float> approximate(SinglePrecision p, Context& context, Preferences::AngleUnit angleUnit) const override {
@@ -102,7 +102,7 @@ private:
constexpr static int k_maxMantissaLength = 20;
DecimalNode * node() const { return static_cast<DecimalNode *>(Number::node()); }
Decimal(size_t size, const Integer & m, int e);
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit) const;
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit);
// Simplification
Expression shallowReduce(Context& context, Preferences::AngleUnit angleUnit) const;
Expression shallowBeautify(Context& context, Preferences::AngleUnit angleUnit) const;

View File

@@ -15,7 +15,7 @@ public:
// ExpressionNode
void setChildrenInPlace(Expression other) override {}
ExpressionNode::Sign sign() const override { return ExpressionNode::Sign::Unknown; }
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit) const override { return Expression(this).clone(); }
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit) override { return Expression(this).clone(); }
int polynomialDegree(char symbolName) const override { return -1; }
Evaluation<float> approximate(ExpressionNode::SinglePrecision p, Context& context, Preferences::AngleUnit angleUnit) const override { return Complex<float>::Undefined(); }

View File

@@ -181,7 +181,7 @@ protected:
Expression shallowBeautify(Context & context, Preferences::AngleUnit angleUnit) { return node()->shallowBeautify(context, angleUnit); }
Expression deepBeautify(Context & context, Preferences::AngleUnit angleUnit);
Expression deepReduce(Context & context, Preferences::AngleUnit angleUnit, const Expression futureParent = Expression());
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit) const { return node()->setSign(s, context, angleUnit); }
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit) { return node()->setSign(s, context, angleUnit); }
private:
/* Simplification */
Expression defaultShallowReduce(Context & context, Preferences::AngleUnit angleUnit);

View File

@@ -42,7 +42,7 @@ public:
// Properties
Type type() const override { return Type::Float; }
Sign sign() const override { return m_value < 0 ? Sign::Negative : Sign::Positive; }
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) const override;
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) override;
int simplificationOrderSameType(const ExpressionNode * e, bool canBeInterrupted) const override;
// Layout

View File

@@ -13,7 +13,7 @@ public:
InfinityNode * failedAllocationStaticNode() override { return FailedAllocationStaticNode(); }
void setNegative(bool negative) { m_negative = negative; }
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) const override;
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) override;
// TreeNode
size_t size() const override { return sizeof(InfinityNode); }

View File

@@ -157,7 +157,7 @@ public:
// ExpressionNode
Sign sign() const override { return m_negative ? Sign::Negative : Sign::Positive; }
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) const override;
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) override;
void setNegative(bool negative);
@@ -243,7 +243,7 @@ private:
// Simplification
Expression shallowReduce(Context & context, Preferences::AngleUnit angleUnit) const;
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit) const;
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit);
};
struct IntegerDivision {

View File

@@ -45,7 +45,7 @@ public:
private:
// Property
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) const override;
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) override;
// Layout
bool needsParenthesesWithParent(const SerializationHelperInterface * parentNode) const override;
@@ -87,7 +87,7 @@ public:
}
// Expression
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit) const;
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit);
Expression shallowReduce(Context& context, Preferences::AngleUnit angleUnit) const;
Expression shallowBeautify(Context& context, Preferences::AngleUnit angleUnit) const;
int getPolynomialCoefficients(char symbolName, Expression coefficients[]) const;

View File

@@ -28,7 +28,7 @@ public:
// Properties
Type type() const override { return Type::Power; }
Sign sign() const override;
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) const override;
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) override;
int polynomialDegree(char symbolName) const override;
int getPolynomialCoefficients(char symbolName, Expression coefficients[]) const override;
@@ -75,7 +75,7 @@ public:
replaceChildAtIndexInPlace(1, exponent);
}
Power(const PowerNode * n) : Expression(n) {}
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit) const;
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit);
int getPolynomialCoefficients(char symbolName, Expression coefficients[]) const;
Expression shallowReduce(Context & context, Preferences::AngleUnit angleUnit) const;
Expression shallowBeautify(Context & context, Preferences::AngleUnit angleUnit) const;

View File

@@ -26,7 +26,7 @@ public:
// Properties
Type type() const override { return Type::Random; }
Sign sign() const override { return Sign::Positive; }
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) const override;
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) override;
private:
// Layout
LayoutReference createLayout(Preferences::PrintFloatMode floatDisplayMode, int numberOfSignificantDigits) const override;
@@ -52,7 +52,7 @@ public:
template<typename T> static T random();
private:
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit) const;
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit);
};
}

View File

@@ -60,7 +60,7 @@ private:
int simplificationOrderSameType(const ExpressionNode * e, bool canBeInterrupted) const override;
Expression shallowReduce(Context & context, Preferences::AngleUnit angleUnit) const override;
Expression shallowBeautify(Context & context, Preferences::AngleUnit angleUnit) const override;
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) const override;
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) override;
Expression denominator(Context & context, Preferences::AngleUnit angleUnit) const override;
bool m_negative;
size_t m_numberOfDigitsNumerator;
@@ -123,7 +123,7 @@ private:
/* Simplification */
Expression shallowBeautify(Context & context, Preferences::AngleUnit angleUnit) const;
Expression denominator(Context & context, Preferences::AngleUnit angleUnit) const;
Expression setSign(ExpressionNode::Sign s) const;
Expression setSign(ExpressionNode::Sign s);
};
}

View File

@@ -22,7 +22,7 @@ public:
// Properties
Type type() const override { return Type::Undefined; }
int polynomialDegree(char symbolName) const override;
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) const override;
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) override;
// Approximation
Evaluation<float> approximate(SinglePrecision p, Context& context, Preferences::AngleUnit angleUnit) const override {

View File

@@ -17,7 +17,7 @@ public:
// ExpressionNode
void setChildrenInPlace(Expression other) override { assert(false); return ExceptionExpressionNode<ExpressionNode>::setChildrenInPlace(other); }
ExpressionNode::Sign sign() const override { assert(false); return ExceptionExpressionNode<ExpressionNode>::sign(); }
Expression setSign(ExpressionNode::Sign s, Context & context, Preferences::AngleUnit angleUnit) const override { assert(false); return ExceptionExpressionNode<ExpressionNode>::setSign(s, context, angleUnit); }
Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) override { assert(false); return ExceptionExpressionNode<ExpressionNode>::setSign(s, context, angleUnit); }
ExpressionNode::Type type() const override { assert(false); return ExpressionNode::Type::Uninitialized; }
int serialize(char * buffer, int bufferSize, Preferences::PrintFloatMode floatDisplayMode = Preferences::PrintFloatMode::Decimal, int numberOfSignificantDigits = 0) const override {

View File

@@ -19,7 +19,7 @@ int UndefinedNode::polynomialDegree(char symbolName) const {
return -1;
}
Expression UndefinedNode::setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) const {
Expression UndefinedNode::setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) {
return Undefined();
}