13#ifndef dealii_polynomials_piecewise_h
14#define dealii_polynomials_piecewise_h
60 template <
typename number>
78 const bool spans_next_interval);
87 const unsigned int index);
96 value(
const number x)
const;
113 value(
const number x, std::vector<number> &values)
const;
131 value(
const number x,
132 const unsigned int n_derivatives,
133 number *values)
const;
147 template <
class Archive>
149 serialize(Archive &ar,
const unsigned int version);
208 std::vector<PiecewisePolynomial<double>>
210 const unsigned int n_subdivisions,
211 const unsigned int base_degree);
217 std::vector<PiecewisePolynomial<double>>
219 const std::vector<
Point<1>> &points);
230 template <
typename number>
241 template <
typename number>
269 const number offset = step *
interval;
272 else if (x > offset + step + step)
274 else if (x < offset + step)
277 y = offset + step + step - x;
281 const number offset = step *
interval;
282 if (x < offset || x > offset + step)
296 template <
typename number>
297 template <
class Archive>
Polynomial< number > polynomial
unsigned int degree() const
PiecewisePolynomial(const Polynomial< number > &coefficients_on_interval, const unsigned int n_intervals, const unsigned int interval, const bool spans_next_interval)
void serialize(Archive &ar, const unsigned int version)
std::vector< number > one_over_lengths
number value(const number x) const
virtual std::size_t memory_consumption() const
std::vector< number > points
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define AssertIndexRange(index, range)
const bool IsBlockVector< VectorType >::value
std::vector< PiecewisePolynomial< double > > generate_complete_linear_basis_on_subdivisions(const std::vector< Point< 1 > > &points)
std::vector< PiecewisePolynomial< double > > generate_complete_Lagrange_basis_on_subdivisions(const unsigned int n_subdivisions, const unsigned int base_degree)
::VectorizedArray< Number, width > max(const ::VectorizedArray< Number, width > &, const ::VectorizedArray< Number, width > &)