diff --git a/apps/graph/cartesian_function.cpp b/apps/graph/cartesian_function.cpp index b2d56b274..a6993003e 100644 --- a/apps/graph/cartesian_function.cpp +++ b/apps/graph/cartesian_function.cpp @@ -101,6 +101,8 @@ char CartesianFunction::symbol() const { } CartesianFunction::Point CartesianFunction::brentAlgorithm(double ax, double bx, Evaluation evaluate, Context * context) const { + /* Bibliography: R. P. Brent, Algorithms for finding zeros and extrema of + * functions without calculating derivatives */ if (ax > bx) { return brentAlgorithm(bx, ax, evaluate, context); } diff --git a/poincare/include/poincare/expression.h b/poincare/include/poincare/expression.h index 7e997b24e..e5153e509 100644 --- a/poincare/include/poincare/expression.h +++ b/poincare/include/poincare/expression.h @@ -242,11 +242,10 @@ protected: * 1 if e1 > e2 * -1 if e1 < e2 * 0 if e1 == e - * Following the order described in Computer Algebra and Symbolic Computation, - * Joel S. Cohen (section 3.1). The order groups like terms together to avoid - * quadratic complexity when factorizing addition or multiplication. For - * example, it groups terms with same bases together (ie Pi, Pi^3) and with - * same non-rational factors together (ie Pi, 2*Pi). + * The order groups like terms together to avoid quadratic complexity when + * factorizing addition or multiplication. For example, it groups terms with + * same bases together (ie Pi, Pi^3) and with same non-rational factors + * together (ie Pi, 2*Pi). * Because SimplificationOrder is a recursive call, we sometimes enable its * interruption to avoid freezing in the simplification process. */ static int SimplificationOrder(const Expression * e1, const Expression * e2, bool canBeInterrupted = false); diff --git a/poincare/src/derivative.cpp b/poincare/src/derivative.cpp index 6e98add7c..c28acf11d 100644 --- a/poincare/src/derivative.cpp +++ b/poincare/src/derivative.cpp @@ -92,8 +92,6 @@ template T Derivative::riddersApproximation(VariableContext xContext, AngleUnit angleUnit, T x, T h, T * error) const { /* Ridders' Algorithm * Blibliography: - * - Press, W. H., Teukolsky, S. A., Vetterling, W. T., & Flannery, B. P. - * (1992). Numerical recipies in C. * - Ridders, C.J.F. 1982, Advances in Engineering Software, vol. 4, no. 2, * pp. 75–76. */ diff --git a/poincare/src/integral.cpp b/poincare/src/integral.cpp index 8fb5ad914..b90d1070d 100644 --- a/poincare/src/integral.cpp +++ b/poincare/src/integral.cpp @@ -81,8 +81,8 @@ T Integral::functionValueAtAbscissa(T x, VariableContext xContext, AngleUnit template T Integral::lagrangeGaussQuadrature(T a, T b, VariableContext xContext, AngleUnit angleUnit) const { /* We here use Gauss-Legendre quadrature with n = 5 - * Gauss-Legendre abscissae and weights taken from - * http://www.holoborodko.com/pavel/numerical-methods/numerical-integration/*/ + * Gauss-Legendre abscissae and weights can be found in + * C/C++ library source code. */ const static T x[10]={0.0765265211334973337546404, 0.2277858511416450780804962, 0.3737060887154195606725482, 0.5108670019508270980043641, 0.6360536807265150254528367, 0.7463319064601507926143051, 0.8391169718222188233945291, 0.9122344282513259058677524, 0.9639719272779137912676661, 0.9931285991850949247861224};