1
0
Fork 0
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:
bolero-MURAKAMI 2012-12-07 02:31:16 +09:00
parent 24d2a229f3
commit b44f7c8f2a
14 changed files with 670 additions and 29 deletions

View file

@ -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 {

View file

@ -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 {

View file

@ -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 {

View file

@ -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 {