30 double m_parameter = 1./16.;
34 explicit Linear(
double t_parameter) : m_parameter(t_parameter) {}
36 Linear(
const Linear&) =
default;
37 Linear(Linear&&) =
default;
39 Linear& operator=(
const Linear&) =
default;
40 Linear& operator=(Linear&&) =
default;
42 double operator()(
double t_left,
double t_right)
override {
43 return (1 - m_parameter) * std::min(t_left, t_right) + m_parameter * std::max(t_left, t_right);
46 [[nodiscard]] Linear *clone()
const override {
47 return new Linear(*
this);