Gobelijn API documentation  - generated for commit a0cbea7
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
polynomial.h
Go to the documentation of this file.
1 #pragma once
2 #ifndef POLYNOMIAL_H
3 #define POLYNOMIAL_H
4 
5 #include <vector>
6 
7 template <typename T>
8 class Polynomial
9 {
10 public:
11  explicit Polynomial(const std::vector<T>& vect) : vect(vect) {}
12  T operator()(const T& x);
13  Polynomial<T> operator+(const Polynomial<T>& x) const;
14  Polynomial<T> operator*(const Polynomial<T>& x) const;
15  Polynomial<T> operator-(const Polynomial<T>& x) const;
16  Polynomial<T> derive() const;
17 
18  T horner(const T& x) const;
19 
20 protected:
21  Polynomial() : vect(std::vector<T>()) {};
22  std::vector<T> vect;
23 };
24 
25 #endif // POLYNOMIAL_H
Polynomial< T > operator+(const Polynomial< T > &x) const
Definition: polynomial.cpp:23
Polynomial< T > operator*(const Polynomial< T > &x) const
Definition: polynomial.cpp:33
Polynomial< T > derive() const
Definition: polynomial.cpp:53
std::vector< T > vect
Definition: polynomial.h:21
T operator()(const T &x)
Definition: polynomial.cpp:11
Polynomial(const std::vector< T > &vect)
Definition: polynomial.h:11
Polynomial< T > operator-(const Polynomial< T > &x) const
Definition: polynomial.cpp:43
T horner(const T &x) const
Definition: polynomial.cpp:63