29 : params_(order + 1, 0.0) {
39 return static_cast<std::uint32_t
>(params_.size()) - 1;
50 std::vector<double>
params;
51 if (base.
order() <= 0) {
55 for (std::uint32_t i = 1; i < base.
order() + 1; ++i) {
56 params[i - 1] = base[i] * i;
63 const double intercept) {
64 std::vector<double>
params;
67 for (std::uint32_t i = 0; i < base.
params().size(); ++i) {
68 params[i + 1] = base[i] / (i + 1);
75 for (
auto rit = params_.rbegin(); rit != params_.rend(); ++rit) {
83 if (index >= params_.size()) {
86 return params_[index];
static PolynomialXd IntegratedFrom(const PolynomialXd &base, const double intercept=0.0)
static PolynomialXd DerivedFrom(const PolynomialXd &base)
std::uint32_t order() const
void SetParams(const std::vector< double > ¶ms)
double operator()(const double value) const
const std::vector< double > & params() const
double operator[](const std::uint32_t index) const
Planning module main class.