mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-08-03 12:49:50 +00:00
add compost utility
This commit is contained in:
parent
24d2a229f3
commit
b44f7c8f2a
14 changed files with 670 additions and 29 deletions
|
@ -1,6 +1,7 @@
|
|||
#ifndef SPROUT_RANGE_ADAPTOR_SAWTOOTH_WAVE_HPP
|
||||
#define SPROUT_RANGE_ADAPTOR_SAWTOOTH_WAVE_HPP
|
||||
|
||||
#include <limits>
|
||||
#include <type_traits>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/pit.hpp>
|
||||
|
@ -71,6 +72,7 @@ namespace sprout {
|
|||
> base_type;
|
||||
typedef typename base_type::iterator iterator;
|
||||
typedef typename base_type::value_type value_type;
|
||||
typedef typename base_type::difference_type difference_type;
|
||||
public:
|
||||
sawtooth_wave_range() = default;
|
||||
sawtooth_wave_range(sawtooth_wave_range const&) = default;
|
||||
|
@ -81,7 +83,7 @@ namespace sprout {
|
|||
)
|
||||
: base_type(
|
||||
iterator(0, frequency, amplitude, phase),
|
||||
iterator(-1, frequency, amplitude, phase)
|
||||
iterator(std::numeric_limits<difference_type>::max(), frequency, amplitude, phase)
|
||||
)
|
||||
{}
|
||||
SPROUT_CONSTEXPR value_type const& frequency() const {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef SPROUT_RANGE_ADAPTOR_SINUSOIDAL_HPP
|
||||
#define SPROUT_RANGE_ADAPTOR_SINUSOIDAL_HPP
|
||||
|
||||
#include <limits>
|
||||
#include <type_traits>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/pit.hpp>
|
||||
|
@ -71,6 +72,7 @@ namespace sprout {
|
|||
> base_type;
|
||||
typedef typename base_type::iterator iterator;
|
||||
typedef typename base_type::value_type value_type;
|
||||
typedef typename base_type::difference_type difference_type;
|
||||
public:
|
||||
sinusoidal_range() = default;
|
||||
sinusoidal_range(sinusoidal_range const&) = default;
|
||||
|
@ -81,7 +83,7 @@ namespace sprout {
|
|||
)
|
||||
: base_type(
|
||||
iterator(0, frequency, amplitude, phase),
|
||||
iterator(-1, frequency, amplitude, phase)
|
||||
iterator(std::numeric_limits<difference_type>::max(), frequency, amplitude, phase)
|
||||
)
|
||||
{}
|
||||
SPROUT_CONSTEXPR value_type frequency() const {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef SPROUT_RANGE_ADAPTOR_SQUARE_WAVE_HPP
|
||||
#define SPROUT_RANGE_ADAPTOR_SQUARE_WAVE_HPP
|
||||
|
||||
#include <limits>
|
||||
#include <type_traits>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/pit.hpp>
|
||||
|
@ -75,6 +76,7 @@ namespace sprout {
|
|||
> base_type;
|
||||
typedef typename base_type::iterator iterator;
|
||||
typedef typename base_type::value_type value_type;
|
||||
typedef typename base_type::difference_type difference_type;
|
||||
public:
|
||||
square_wave_range() = default;
|
||||
square_wave_range(square_wave_range const&) = default;
|
||||
|
@ -86,7 +88,7 @@ namespace sprout {
|
|||
)
|
||||
: base_type(
|
||||
iterator(0, frequency, amplitude, phase, duty),
|
||||
iterator(-1, frequency, amplitude, phase, duty)
|
||||
iterator(std::numeric_limits<difference_type>::max(), frequency, amplitude, phase, duty)
|
||||
)
|
||||
{}
|
||||
SPROUT_CONSTEXPR value_type frequency() const {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef SPROUT_RANGE_ADAPTOR_TRIANGLE_WAVE_HPP
|
||||
#define SPROUT_RANGE_ADAPTOR_TRIANGLE_WAVE_HPP
|
||||
|
||||
#include <limits>
|
||||
#include <type_traits>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/pit.hpp>
|
||||
|
@ -71,6 +72,7 @@ namespace sprout {
|
|||
> base_type;
|
||||
typedef typename base_type::iterator iterator;
|
||||
typedef typename base_type::value_type value_type;
|
||||
typedef typename base_type::difference_type difference_type;
|
||||
public:
|
||||
triangle_wave_range() = default;
|
||||
triangle_wave_range(triangle_wave_range const&) = default;
|
||||
|
@ -81,7 +83,7 @@ namespace sprout {
|
|||
)
|
||||
: base_type(
|
||||
iterator(0, frequency, amplitude, phase),
|
||||
iterator(-1, frequency, amplitude, phase)
|
||||
iterator(std::numeric_limits<difference_type>::max(), frequency, amplitude, phase)
|
||||
)
|
||||
{}
|
||||
SPROUT_CONSTEXPR value_type frequency() const {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue