30 using func = std::function<T(T)>;
38 constexpr
float eps();
43 constexpr T linear_func(T x) noexcept;
45 constexpr
auto linear = linear_func<float>;
48 constexpr T step_func(T x) noexcept;
50 constexpr
auto step = step_func<float>;
53 inline T smooth_step_func(T x) noexcept;
55 constexpr
auto smooth_step = smooth_step_func<float>;
58 inline T smoother_step_func(T x) noexcept;
60 constexpr
auto smoother_step = smoother_step_func<float>;
63 inline T quadratic_in_func(T x) noexcept;
65 constexpr
auto quadratic_in = quadratic_in_func<float>;
68 constexpr T quadratic_out_func(T x) noexcept;
70 constexpr
auto quadratic_out = quadratic_out_func<float>;
73 inline T quadratic_in_out_func(T x) noexcept;
75 constexpr
auto quadratic_in_out = quadratic_in_out_func<float>;
78 inline T cubic_in_func(T x) noexcept;
80 constexpr
auto cubic_in = cubic_in_func<float>;
83 inline T cubic_out_func(T x) noexcept;
85 constexpr
auto cubic_out = cubic_out_func<float>;
88 inline T cubic_in_out_func(T x) noexcept;
90 constexpr
auto cubic_in_out = cubic_in_out_func<float>;
93 inline T quartic_in_func(T x) noexcept;
95 constexpr
auto quartic_in = quartic_in_func<float>;
98 inline T quartic_out_func(T x) noexcept;
100 constexpr
auto quartic_out = quartic_out_func<float>;
103 inline T quartic_in_out_func(T x) noexcept;
105 constexpr
auto quartic_in_out = quartic_in_out_func<float>;
108 inline T quintic_in_func(T x) noexcept;
110 constexpr
auto quintic_in = quintic_in_func<float>;
113 inline T quintic_out_func(T x) noexcept;
115 constexpr
auto quintic_out = quintic_out_func<float>;
118 inline T quintic_in_out_func(T x) noexcept;
120 constexpr
auto quintic_in_out = quintic_in_out_func<float>;
123 inline T sine_in_func(T x) noexcept;
125 constexpr
auto sine_in = sine_in_func<float>;
128 inline T sine_out_func(T x) noexcept;
130 constexpr
auto sine_out = sine_out_func<float>;
133 inline T sine_in_out_func(T x) noexcept;
135 constexpr
auto sine_in_out = sine_in_out_func<float>;
138 inline T circular_in_func(T x) noexcept;
140 constexpr
auto circular_in = circular_in_func<float>;
143 inline T circular_out_func(T x) noexcept;
145 constexpr
auto circular_out = circular_out_func<float>;
148 inline T circular_in_out_func(T x) noexcept;
150 constexpr
auto circular_in_out = circular_in_out_func<float>;
153 inline T exponential_in_func(T x) noexcept;
155 constexpr
auto exponential_in = exponential_in_func<float>;
158 inline T exponential_out_func(T x) noexcept;
160 constexpr
auto exponential_out = exponential_out_func<float>;
163 inline T exponential_in_out_func(T x) noexcept;
165 constexpr
auto exponential_in_out = exponential_in_out_func<float>;
168 inline T elastic_in_func(T x) noexcept;
170 constexpr
auto elastic_in = elastic_in_func<float>;
173 inline T elastic_out_func(T x) noexcept;
175 constexpr
auto elastic_out = elastic_out_func<float>;
178 inline T elastic_in_out_func(T x) noexcept;
180 constexpr
auto elastic_in_out = elastic_in_out_func<float>;
183 inline T back_in_func(T x) noexcept;
185 constexpr
auto back_in = back_in_func<float>;
188 inline T back_out_func(T x) noexcept;
190 constexpr
auto back_out = back_out_func<float>;
193 inline T back_in_out_func(T x) noexcept;
195 constexpr
auto back_in_out = back_in_out_func<float>;
198 inline T bounce_out_func(T x) noexcept;
200 constexpr
auto bounce_out = bounce_out_func<float>;
203 inline T bounce_in_func(T x) noexcept;
205 constexpr
auto bounce_in = bounce_in_func<float>;
208 inline T bounce_in_out_func(T x) noexcept;
210 constexpr
auto bounce_in_out = bounce_in_out_func<float>;