spline.hpp 520 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef SPLINE_HPP
  2. #define SPLINE_HPP
  3. #include <iostream>
  4. #include <cmath>
  5. #include "math/point.hpp"
  6. #include "math/poly3.hpp"
  7. #include "math/algo.hpp"
  8. using namespace std;
  9. class Spline{
  10. private:
  11. Poly3* q;
  12. Point* P;
  13. size_t n;
  14. size_t findIndex(double x) const;
  15. public:
  16. Spline();
  17. ~Spline();
  18. void setPoints(Point* points,size_t n);
  19. void compute();
  20. double operator()(double x) const;
  21. double derivate(double x) const;
  22. };
  23. inline Spline::Spline(){
  24. }
  25. inline Spline::~Spline(){
  26. delete[] q;
  27. }
  28. #endif