diff --git a/poincare/src/expression_debug.cpp b/poincare/src/expression_debug.cpp index 6f199d375..b921d129f 100644 --- a/poincare/src/expression_debug.cpp +++ b/poincare/src/expression_debug.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include namespace Poincare { @@ -67,4 +68,18 @@ void print_expression(const Expression * e, int indentationLevel) { } } +void print_prime_factorization(Integer * outputFactors, Integer * outputCoefficients, int outputLength) { + GlobalContext context; + for (int index = 0; index < outputLength; index++) { + if (outputCoefficients[index].isEqualTo(Integer(0))) { + break; + } + std::cout << outputFactors[index].approximate(context); + std::cout << "^"; + std::cout << outputCoefficients[index].approximate(context); + std::cout << "+"; + } + std::cout <<" "<< std::endl; +} + } diff --git a/poincare/src/expression_debug.h b/poincare/src/expression_debug.h index b2185f117..51264e945 100644 --- a/poincare/src/expression_debug.h +++ b/poincare/src/expression_debug.h @@ -2,10 +2,12 @@ #define POICARE_EXPRESSION_DEBUG_H #include +#include namespace Poincare { void print_expression(const Expression * e, int indentationLevel = 0); +void print_prime_factorization(Integer * outputFactors, Integer * outputCoefficients, int outputLength); }