22 #ifndef EDSP_ALGORITHM_LINSPACE_H 23 #define EDSP_ALGORITHM_LINSPACE_H 25 #include <edsp/meta/iterator.hpp> 26 #include <edsp/meta/advance.hpp> 30 namespace edsp {
inline namespace algorithm {
40 template <
typename OutputIt,
typename Numeric>
41 constexpr
void linspace(OutputIt d_first, Numeric N, meta::value_type_t<OutputIt> x1,
42 meta::value_type_t<OutputIt> x2) {
43 const auto size =
static_cast<meta::diff_type_t<OutputIt>
>(std::trunc(N));
44 const auto increment = (x2 - x1) /
static_cast<meta::value_type_t<OutputIt>
>(size - 1);
45 for (
auto i = 0; i < size; ++i, ++d_first) {
53 #endif // EDSP_ALGORITHM_LINSPACE_H constexpr void linspace(OutputIt d_first, Numeric N, meta::value_type_t< OutputIt > x1, meta::value_type_t< OutputIt > x2)
Generate N linearly spaced values between the range [x1,x2] and stores the result in another range...
Definition: linspace.hpp:41
Definition: amplifier.hpp:29