From ad64650fda913cfd8e3e2f8fa1ad65c1791e0008 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com>
Date: Fri, 11 Jun 2021 11:29:32 +0200
Subject: [PATCH] Add access function to the ith element of the sequence

---
 src/analysis/SturmSequence.cpp |  2 +-
 src/analysis/SturmSequence.hpp | 10 +++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/analysis/SturmSequence.cpp b/src/analysis/SturmSequence.cpp
index bda7f5fa5..f4af48ce8 100644
--- a/src/analysis/SturmSequence.cpp
+++ b/src/analysis/SturmSequence.cpp
@@ -22,7 +22,7 @@ SturmSequence::SturmSequence(Polynomial1D&& p0)
 }
 
 size_t
-SturmSequence::numberOfSignChanges(const double x)
+SturmSequence::numberOfSignChanges(const double x) const
 {
   std::vector<double> values;
   values.reserve(m_sequence.size());
diff --git a/src/analysis/SturmSequence.hpp b/src/analysis/SturmSequence.hpp
index 5445cb65f..e7377ffcf 100644
--- a/src/analysis/SturmSequence.hpp
+++ b/src/analysis/SturmSequence.hpp
@@ -11,6 +11,14 @@ class SturmSequence
   std::vector<Polynomial1D> m_sequence;
 
  public:
+  PUGS_INLINE
+  const Polynomial1D&
+  p(const size_t i) const
+  {
+    Assert(i < m_sequence.size());
+    return m_sequence[i];
+  }
+
   PUGS_INLINE
   size_t
   size() const
@@ -18,7 +26,7 @@ class SturmSequence
     return m_sequence.size();
   }
 
-  size_t numberOfSignChanges(const double x);
+  size_t numberOfSignChanges(const double x) const;
 
   SturmSequence(const Polynomial1D& p0);
   SturmSequence(Polynomial1D&& p0);
-- 
GitLab