1 #ifndef POINCARE_SUBSTRACTION_H 2 #define POINCARE_SUBSTRACTION_H 19 bool needParenthesisWithParent(
const Expression * e)
const override;
23 int writeTextInBuffer(
char * buffer,
int bufferSize,
int numberOfSignificantDigits = PrintFloat::k_numberOfStoredSignificantDigits)
const override {
26 static const char * name() {
return "-"; }
34 template<
typename T>
static Matrix * computeOnMatrices(
const Matrix * m,
const Matrix * n) {
39 return ApproximationEngine::mapReduce<float>(
this, context, angleUnit, compute<float>, computeOnComplexAndMatrix<float>, computeOnMatrixAndComplex<float>, computeOnMatrices<float>);
42 return ApproximationEngine::mapReduce<double>(
this, context, angleUnit, compute<double>, computeOnComplexAndMatrix<double>, computeOnMatrixAndComplex<double>, computeOnMatrices<double>);
static int writeInfixExpressionTextInBuffer(const Expression *expression, char *buffer, int bufferSize, int numberOfDigits, const char *operatorName)
Expression * clone() const override
Type type() const override
static Matrix * elementWiseOnComplexAndComplexMatrix(const Complex< T > *c, const Matrix *n, ComplexAndComplexReduction< T > computeOnComplexes)
int polynomialDegree(char symbolName) const override
static Complex< T > compute(const Complex< T > c, const Complex< T > d)
static ExpressionLayout * createInfixLayout(const Expression *expression, PrintFloat::Mode floatDisplayMode, Expression::ComplexFormat complexFormat, const char *operatorName)
static Matrix * elementWiseOnComplexMatrices(const Matrix *m, const Matrix *n, ComplexAndComplexReduction< T > computeOnComplexes)