From fe255a5e74eada5fc585edf680ccd2d7b50361dd Mon Sep 17 00:00:00 2001 From: bolero-MURAKAMI Date: Mon, 21 Apr 2014 23:30:43 +0900 Subject: [PATCH] add c++14 fft/dft range algorithms --- sprout/algorithm/sample.hpp | 14 +++++++ sprout/numeric/dft/cxx14/square.hpp | 6 +-- sprout/numeric/dft/cxx14/triangle.hpp | 6 +-- sprout/range/algorithm/bogo_sort.hpp | 14 +++++++ sprout/range/algorithm/bozo_sort.hpp | 14 +++++++ sprout/range/algorithm/clamp_range.hpp | 14 +++++++ sprout/range/algorithm/copy.hpp | 1 + sprout/range/algorithm/copy_backward.hpp | 1 + sprout/range/algorithm/copy_if.hpp | 1 + sprout/range/algorithm/copy_until.hpp | 1 + sprout/range/algorithm/copy_while.hpp | 1 + sprout/range/algorithm/fill.hpp | 14 +++++++ sprout/range/algorithm/generate.hpp | 14 +++++++ sprout/range/algorithm/inplace_merge.hpp | 14 +++++++ sprout/range/algorithm/make_heap.hpp | 14 +++++++ sprout/range/algorithm/merge.hpp | 1 + sprout/range/algorithm/move.hpp | 14 +++++++ sprout/range/algorithm/move_backward.hpp | 14 +++++++ sprout/range/algorithm/next_permutation.hpp | 14 +++++++ sprout/range/algorithm/nth_element.hpp | 14 +++++++ sprout/range/algorithm/partial_sort.hpp | 14 +++++++ sprout/range/algorithm/partition.hpp | 14 +++++++ sprout/range/algorithm/partition_copy.hpp | 1 + sprout/range/algorithm/pop_heap.hpp | 14 +++++++ sprout/range/algorithm/prev_permutation.hpp | 14 +++++++ sprout/range/algorithm/push_heap.hpp | 14 +++++++ sprout/range/algorithm/random_shuffle.hpp | 14 +++++++ sprout/range/algorithm/random_swap.hpp | 14 +++++++ sprout/range/algorithm/remove.hpp | 14 +++++++ sprout/range/algorithm/remove_copy.hpp | 1 + sprout/range/algorithm/remove_copy_if.hpp | 1 + sprout/range/algorithm/remove_if.hpp | 14 +++++++ sprout/range/algorithm/replace.hpp | 14 +++++++ sprout/range/algorithm/replace_copy.hpp | 1 + sprout/range/algorithm/replace_copy_if.hpp | 1 + sprout/range/algorithm/replace_if.hpp | 14 +++++++ sprout/range/algorithm/reverse.hpp | 14 +++++++ sprout/range/algorithm/reverse_copy.hpp | 1 + sprout/range/algorithm/rotate.hpp | 14 +++++++ sprout/range/algorithm/rotate_copy.hpp | 1 + sprout/range/algorithm/sample.hpp | 14 +++++++ sprout/range/algorithm/set_difference.hpp | 1 + sprout/range/algorithm/set_intersection.hpp | 1 + .../algorithm/set_symmetric_difference.hpp | 1 + sprout/range/algorithm/set_union.hpp | 1 + sprout/range/algorithm/shuffle.hpp | 14 +++++++ sprout/range/algorithm/sort.hpp | 14 +++++++ sprout/range/algorithm/sort_heap.hpp | 14 +++++++ sprout/range/algorithm/stable_partition.hpp | 14 +++++++ sprout/range/algorithm/stable_sort.hpp | 14 +++++++ sprout/range/algorithm/swap_element_copy.hpp | 1 + sprout/range/algorithm/swap_ranges.hpp | 14 +++++++ sprout/range/algorithm/transform.hpp | 1 + sprout/range/algorithm/unique.hpp | 14 +++++++ sprout/range/algorithm/unique_copy.hpp | 1 + sprout/range/numeric/cxx14/iota.hpp | 5 ++- sprout/range/numeric/dft/cxx14.hpp | 15 +++++++ .../numeric/dft/cxx14/amplitude_spectrum.hpp | 33 +++++++++++++++ .../numeric/dft/cxx14/phase_spectrum.hpp | 33 +++++++++++++++ sprout/range/numeric/dft/cxx14/sawtooth.hpp | 39 ++++++++++++++++++ sprout/range/numeric/dft/cxx14/sinusoid.hpp | 39 ++++++++++++++++++ sprout/range/numeric/dft/cxx14/spectrum.hpp | 35 ++++++++++++++++ sprout/range/numeric/dft/cxx14/square.hpp | 39 ++++++++++++++++++ sprout/range/numeric/dft/cxx14/triangle.hpp | 40 +++++++++++++++++++ sprout/range/numeric/dft/cxx14/wave.hpp | 17 ++++++++ sprout/range/numeric/dft/fit/spectrum.hpp | 5 +-- .../numeric/dft/fixed/amplitude_spectrum.hpp | 7 +++- .../numeric/dft/fixed/phase_spectrum.hpp | 7 +++- sprout/range/numeric/dft/fixed/spectrum.hpp | 12 ++++-- sprout/range/numeric/dft/modifying.hpp | 1 + sprout/range/numeric/fft.hpp | 15 +++++++ sprout/range/numeric/fft/fft.hpp | 29 ++++++++++++++ sprout/range/numeric/fft/ifft.hpp | 29 ++++++++++++++ 73 files changed, 877 insertions(+), 17 deletions(-) create mode 100644 sprout/algorithm/sample.hpp create mode 100644 sprout/range/algorithm/bogo_sort.hpp create mode 100644 sprout/range/algorithm/bozo_sort.hpp create mode 100644 sprout/range/algorithm/clamp_range.hpp create mode 100644 sprout/range/algorithm/fill.hpp create mode 100644 sprout/range/algorithm/generate.hpp create mode 100644 sprout/range/algorithm/inplace_merge.hpp create mode 100644 sprout/range/algorithm/make_heap.hpp create mode 100644 sprout/range/algorithm/move.hpp create mode 100644 sprout/range/algorithm/move_backward.hpp create mode 100644 sprout/range/algorithm/next_permutation.hpp create mode 100644 sprout/range/algorithm/nth_element.hpp create mode 100644 sprout/range/algorithm/partial_sort.hpp create mode 100644 sprout/range/algorithm/partition.hpp create mode 100644 sprout/range/algorithm/pop_heap.hpp create mode 100644 sprout/range/algorithm/prev_permutation.hpp create mode 100644 sprout/range/algorithm/push_heap.hpp create mode 100644 sprout/range/algorithm/random_shuffle.hpp create mode 100644 sprout/range/algorithm/random_swap.hpp create mode 100644 sprout/range/algorithm/remove.hpp create mode 100644 sprout/range/algorithm/remove_if.hpp create mode 100644 sprout/range/algorithm/replace.hpp create mode 100644 sprout/range/algorithm/replace_if.hpp create mode 100644 sprout/range/algorithm/reverse.hpp create mode 100644 sprout/range/algorithm/rotate.hpp create mode 100644 sprout/range/algorithm/sample.hpp create mode 100644 sprout/range/algorithm/shuffle.hpp create mode 100644 sprout/range/algorithm/sort.hpp create mode 100644 sprout/range/algorithm/sort_heap.hpp create mode 100644 sprout/range/algorithm/stable_partition.hpp create mode 100644 sprout/range/algorithm/stable_sort.hpp create mode 100644 sprout/range/algorithm/swap_ranges.hpp create mode 100644 sprout/range/algorithm/unique.hpp create mode 100644 sprout/range/numeric/dft/cxx14.hpp create mode 100644 sprout/range/numeric/dft/cxx14/amplitude_spectrum.hpp create mode 100644 sprout/range/numeric/dft/cxx14/phase_spectrum.hpp create mode 100644 sprout/range/numeric/dft/cxx14/sawtooth.hpp create mode 100644 sprout/range/numeric/dft/cxx14/sinusoid.hpp create mode 100644 sprout/range/numeric/dft/cxx14/spectrum.hpp create mode 100644 sprout/range/numeric/dft/cxx14/square.hpp create mode 100644 sprout/range/numeric/dft/cxx14/triangle.hpp create mode 100644 sprout/range/numeric/dft/cxx14/wave.hpp create mode 100644 sprout/range/numeric/fft.hpp create mode 100644 sprout/range/numeric/fft/fft.hpp create mode 100644 sprout/range/numeric/fft/ifft.hpp diff --git a/sprout/algorithm/sample.hpp b/sprout/algorithm/sample.hpp new file mode 100644 index 00000000..976c7154 --- /dev/null +++ b/sprout/algorithm/sample.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_ALGORITHM_SAMPLE_HPP +#define SPROUT_ALGORITHM_SAMPLE_HPP + +#include +#include + +#endif // #ifndef SPROUT_ALGORITHM_SAMPLE_HPP diff --git a/sprout/numeric/dft/cxx14/square.hpp b/sprout/numeric/dft/cxx14/square.hpp index f891685c..16cab9b7 100644 --- a/sprout/numeric/dft/cxx14/square.hpp +++ b/sprout/numeric/dft/cxx14/square.hpp @@ -5,8 +5,8 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) =============================================================================*/ -#ifndef SPROUT_NUMERIC_DFT_CXX14_SAWTOOTH_HPP -#define SPROUT_NUMERIC_DFT_CXX14_SAWTOOTH_HPP +#ifndef SPROUT_NUMERIC_DFT_CXX14_SQUARE_HPP +#define SPROUT_NUMERIC_DFT_CXX14_SQUARE_HPP #include #include @@ -35,4 +35,4 @@ namespace sprout { } } // namespace sprout -#endif // #ifndef SPROUT_NUMERIC_DFT_CXX14_SAWTOOTH_HPP +#endif // #ifndef SPROUT_NUMERIC_DFT_CXX14_SQUARE_HPP diff --git a/sprout/numeric/dft/cxx14/triangle.hpp b/sprout/numeric/dft/cxx14/triangle.hpp index 8ea7f983..d78be72f 100644 --- a/sprout/numeric/dft/cxx14/triangle.hpp +++ b/sprout/numeric/dft/cxx14/triangle.hpp @@ -5,8 +5,8 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) =============================================================================*/ -#ifndef SPROUT_NUMERIC_DFT_CXX14_SAWTOOTH_HPP -#define SPROUT_NUMERIC_DFT_CXX14_SAWTOOTH_HPP +#ifndef SPROUT_NUMERIC_DFT_CXX14_TRIANGLE_HPP +#define SPROUT_NUMERIC_DFT_CXX14_TRIANGLE_HPP #include #include @@ -36,4 +36,4 @@ namespace sprout { } } // namespace sprout -#endif // #ifndef SPROUT_NUMERIC_DFT_CXX14_SAWTOOTH_HPP +#endif // #ifndef SPROUT_NUMERIC_DFT_CXX14_TRIANGLE_HPP diff --git a/sprout/range/algorithm/bogo_sort.hpp b/sprout/range/algorithm/bogo_sort.hpp new file mode 100644 index 00000000..10fb1c77 --- /dev/null +++ b/sprout/range/algorithm/bogo_sort.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_BOGO_SORT_HPP +#define SPROUT_RANGE_ALGORITHM_BOGO_SORT_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_BOGO_SORT_HPP diff --git a/sprout/range/algorithm/bozo_sort.hpp b/sprout/range/algorithm/bozo_sort.hpp new file mode 100644 index 00000000..f190cab7 --- /dev/null +++ b/sprout/range/algorithm/bozo_sort.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_BOZO_SORT_HPP +#define SPROUT_RANGE_ALGORITHM_BOZO_SORT_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_BOZO_SORT_HPP diff --git a/sprout/range/algorithm/clamp_range.hpp b/sprout/range/algorithm/clamp_range.hpp new file mode 100644 index 00000000..567f5d42 --- /dev/null +++ b/sprout/range/algorithm/clamp_range.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_CLAMP_RANGE_HPP +#define SPROUT_RANGE_ALGORITHM_CLAMP_RANGE_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_CLAMP_RANGE_HPP diff --git a/sprout/range/algorithm/copy.hpp b/sprout/range/algorithm/copy.hpp index 2f0d6210..d8f4e4dd 100644 --- a/sprout/range/algorithm/copy.hpp +++ b/sprout/range/algorithm/copy.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_COPY_HPP diff --git a/sprout/range/algorithm/copy_backward.hpp b/sprout/range/algorithm/copy_backward.hpp index 96171eb0..a5d5bc26 100644 --- a/sprout/range/algorithm/copy_backward.hpp +++ b/sprout/range/algorithm/copy_backward.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_COPY_BACKWARD_HPP diff --git a/sprout/range/algorithm/copy_if.hpp b/sprout/range/algorithm/copy_if.hpp index 499eacb3..5a4a87c3 100644 --- a/sprout/range/algorithm/copy_if.hpp +++ b/sprout/range/algorithm/copy_if.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_COPY_IF_HPP diff --git a/sprout/range/algorithm/copy_until.hpp b/sprout/range/algorithm/copy_until.hpp index 35e13933..f89a5ffc 100644 --- a/sprout/range/algorithm/copy_until.hpp +++ b/sprout/range/algorithm/copy_until.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_COPY_UNTIL_HPP diff --git a/sprout/range/algorithm/copy_while.hpp b/sprout/range/algorithm/copy_while.hpp index 749f8fb1..1f7e594a 100644 --- a/sprout/range/algorithm/copy_while.hpp +++ b/sprout/range/algorithm/copy_while.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_COPY_WHILE_HPP diff --git a/sprout/range/algorithm/fill.hpp b/sprout/range/algorithm/fill.hpp new file mode 100644 index 00000000..b18e38c8 --- /dev/null +++ b/sprout/range/algorithm/fill.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_FILL_HPP +#define SPROUT_RANGE_ALGORITHM_FILL_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_FILL_HPP diff --git a/sprout/range/algorithm/generate.hpp b/sprout/range/algorithm/generate.hpp new file mode 100644 index 00000000..1d87e1f9 --- /dev/null +++ b/sprout/range/algorithm/generate.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_GENERATE_HPP +#define SPROUT_RANGE_ALGORITHM_GENERATE_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_GENERATE_HPP diff --git a/sprout/range/algorithm/inplace_merge.hpp b/sprout/range/algorithm/inplace_merge.hpp new file mode 100644 index 00000000..06005228 --- /dev/null +++ b/sprout/range/algorithm/inplace_merge.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_INPLACE_MERGE_HPP +#define SPROUT_RANGE_ALGORITHM_INPLACE_MERGE_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_INPLACE_MERGE_HPP diff --git a/sprout/range/algorithm/make_heap.hpp b/sprout/range/algorithm/make_heap.hpp new file mode 100644 index 00000000..d7c37f3d --- /dev/null +++ b/sprout/range/algorithm/make_heap.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_MAKE_HEAP_HPP +#define SPROUT_RANGE_ALGORITHM_MAKE_HEAP_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_MAKE_HEAP_HPP diff --git a/sprout/range/algorithm/merge.hpp b/sprout/range/algorithm/merge.hpp index c5c6e69a..faf00a27 100644 --- a/sprout/range/algorithm/merge.hpp +++ b/sprout/range/algorithm/merge.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_MERGE_HPP diff --git a/sprout/range/algorithm/move.hpp b/sprout/range/algorithm/move.hpp new file mode 100644 index 00000000..73310313 --- /dev/null +++ b/sprout/range/algorithm/move.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_MOVE_HPP +#define SPROUT_RANGE_ALGORITHM_MOVE_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_MOVE_HPP diff --git a/sprout/range/algorithm/move_backward.hpp b/sprout/range/algorithm/move_backward.hpp new file mode 100644 index 00000000..a31f2f1f --- /dev/null +++ b/sprout/range/algorithm/move_backward.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_MOVE_BACKWARD_HPP +#define SPROUT_RANGE_ALGORITHM_MOVE_BACKWARD_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_MOVE_BACKWARD_HPP diff --git a/sprout/range/algorithm/next_permutation.hpp b/sprout/range/algorithm/next_permutation.hpp new file mode 100644 index 00000000..af4c914a --- /dev/null +++ b/sprout/range/algorithm/next_permutation.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_NEXT_PERMUTATION_HPP +#define SPROUT_RANGE_ALGORITHM_NEXT_PERMUTATION_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_NEXT_PERMUTATION_HPP diff --git a/sprout/range/algorithm/nth_element.hpp b/sprout/range/algorithm/nth_element.hpp new file mode 100644 index 00000000..6c1ca550 --- /dev/null +++ b/sprout/range/algorithm/nth_element.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_NTH_ELEMENT_HPP +#define SPROUT_RANGE_ALGORITHM_NTH_ELEMENT_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_NTH_ELEMENT_HPP diff --git a/sprout/range/algorithm/partial_sort.hpp b/sprout/range/algorithm/partial_sort.hpp new file mode 100644 index 00000000..8a2a37e1 --- /dev/null +++ b/sprout/range/algorithm/partial_sort.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_PARTIAL_SORT_HPP +#define SPROUT_RANGE_ALGORITHM_PARTIAL_SORT_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_PARTIAL_SORT_HPP diff --git a/sprout/range/algorithm/partition.hpp b/sprout/range/algorithm/partition.hpp new file mode 100644 index 00000000..c6740367 --- /dev/null +++ b/sprout/range/algorithm/partition.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_PARTITION_HPP +#define SPROUT_RANGE_ALGORITHM_PARTITION_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_PARTITION_HPP diff --git a/sprout/range/algorithm/partition_copy.hpp b/sprout/range/algorithm/partition_copy.hpp index 7fe50e23..e0a0a1b1 100644 --- a/sprout/range/algorithm/partition_copy.hpp +++ b/sprout/range/algorithm/partition_copy.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_PARTITION_COPY_HPP diff --git a/sprout/range/algorithm/pop_heap.hpp b/sprout/range/algorithm/pop_heap.hpp new file mode 100644 index 00000000..e07ab377 --- /dev/null +++ b/sprout/range/algorithm/pop_heap.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_POP_HEAP_HPP +#define SPROUT_RANGE_ALGORITHM_POP_HEAP_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_POP_HEAP_HPP diff --git a/sprout/range/algorithm/prev_permutation.hpp b/sprout/range/algorithm/prev_permutation.hpp new file mode 100644 index 00000000..adffad40 --- /dev/null +++ b/sprout/range/algorithm/prev_permutation.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_PREV_PERMUTATION_HPP +#define SPROUT_RANGE_ALGORITHM_PREV_PERMUTATION_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_PREV_PERMUTATION_HPP diff --git a/sprout/range/algorithm/push_heap.hpp b/sprout/range/algorithm/push_heap.hpp new file mode 100644 index 00000000..4d055075 --- /dev/null +++ b/sprout/range/algorithm/push_heap.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_PUSH_HEAP_HPP +#define SPROUT_RANGE_ALGORITHM_PUSH_HEAP_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_PUSH_HEAP_HPP diff --git a/sprout/range/algorithm/random_shuffle.hpp b/sprout/range/algorithm/random_shuffle.hpp new file mode 100644 index 00000000..8fb1143d --- /dev/null +++ b/sprout/range/algorithm/random_shuffle.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_RANDOM_SHUFFLE_HPP +#define SPROUT_RANGE_ALGORITHM_RANDOM_SHUFFLE_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_RANDOM_SHUFFLE_HPP diff --git a/sprout/range/algorithm/random_swap.hpp b/sprout/range/algorithm/random_swap.hpp new file mode 100644 index 00000000..868cca90 --- /dev/null +++ b/sprout/range/algorithm/random_swap.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_RANDOM_SWAP_HPP +#define SPROUT_RANGE_ALGORITHM_RANDOM_SWAP_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_RANDOM_SWAP_HPP diff --git a/sprout/range/algorithm/remove.hpp b/sprout/range/algorithm/remove.hpp new file mode 100644 index 00000000..44c42e25 --- /dev/null +++ b/sprout/range/algorithm/remove.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_REMOVE_HPP +#define SPROUT_RANGE_ALGORITHM_REMOVE_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_REMOVE_HPP diff --git a/sprout/range/algorithm/remove_copy.hpp b/sprout/range/algorithm/remove_copy.hpp index 84f9b228..4f0b4d50 100644 --- a/sprout/range/algorithm/remove_copy.hpp +++ b/sprout/range/algorithm/remove_copy.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_REMOVE_COPY_HPP diff --git a/sprout/range/algorithm/remove_copy_if.hpp b/sprout/range/algorithm/remove_copy_if.hpp index 2b20d3cf..f00296e0 100644 --- a/sprout/range/algorithm/remove_copy_if.hpp +++ b/sprout/range/algorithm/remove_copy_if.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_REMOVE_COPY_IF_HPP diff --git a/sprout/range/algorithm/remove_if.hpp b/sprout/range/algorithm/remove_if.hpp new file mode 100644 index 00000000..8d519ee1 --- /dev/null +++ b/sprout/range/algorithm/remove_if.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_REMOVE_IF_HPP +#define SPROUT_RANGE_ALGORITHM_REMOVE_IF_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_REMOVE_IF_HPP diff --git a/sprout/range/algorithm/replace.hpp b/sprout/range/algorithm/replace.hpp new file mode 100644 index 00000000..8a306eb2 --- /dev/null +++ b/sprout/range/algorithm/replace.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_REPLACE_HPP +#define SPROUT_RANGE_ALGORITHM_REPLACE_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_REPLACE_HPP diff --git a/sprout/range/algorithm/replace_copy.hpp b/sprout/range/algorithm/replace_copy.hpp index 8cdbd833..5679c813 100644 --- a/sprout/range/algorithm/replace_copy.hpp +++ b/sprout/range/algorithm/replace_copy.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_REPLACE_COPY_HPP diff --git a/sprout/range/algorithm/replace_copy_if.hpp b/sprout/range/algorithm/replace_copy_if.hpp index d6bf0827..9c9c178b 100644 --- a/sprout/range/algorithm/replace_copy_if.hpp +++ b/sprout/range/algorithm/replace_copy_if.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_REPLACE_COPY_IF_HPP diff --git a/sprout/range/algorithm/replace_if.hpp b/sprout/range/algorithm/replace_if.hpp new file mode 100644 index 00000000..32788231 --- /dev/null +++ b/sprout/range/algorithm/replace_if.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_REPLACE_IF_HPP +#define SPROUT_RANGE_ALGORITHM_REPLACE_IF_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_REPLACE_IF_HPP diff --git a/sprout/range/algorithm/reverse.hpp b/sprout/range/algorithm/reverse.hpp new file mode 100644 index 00000000..1938ee2d --- /dev/null +++ b/sprout/range/algorithm/reverse.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_REVERSE_HPP +#define SPROUT_RANGE_ALGORITHM_REVERSE_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_REVERSE_HPP diff --git a/sprout/range/algorithm/reverse_copy.hpp b/sprout/range/algorithm/reverse_copy.hpp index 3a6c5444..65cc15ce 100644 --- a/sprout/range/algorithm/reverse_copy.hpp +++ b/sprout/range/algorithm/reverse_copy.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_REVERSE_COPY_HPP diff --git a/sprout/range/algorithm/rotate.hpp b/sprout/range/algorithm/rotate.hpp new file mode 100644 index 00000000..3fd980d8 --- /dev/null +++ b/sprout/range/algorithm/rotate.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_ROTATE_HPP +#define SPROUT_RANGE_ALGORITHM_ROTATE_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_ROTATE_HPP diff --git a/sprout/range/algorithm/rotate_copy.hpp b/sprout/range/algorithm/rotate_copy.hpp index 680d720d..73f71e9a 100644 --- a/sprout/range/algorithm/rotate_copy.hpp +++ b/sprout/range/algorithm/rotate_copy.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_ROTATE_COPY_HPP diff --git a/sprout/range/algorithm/sample.hpp b/sprout/range/algorithm/sample.hpp new file mode 100644 index 00000000..3eb81076 --- /dev/null +++ b/sprout/range/algorithm/sample.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_SAMPLE_HPP +#define SPROUT_RANGE_ALGORITHM_SAMPLE_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_SAMPLE_HPP diff --git a/sprout/range/algorithm/set_difference.hpp b/sprout/range/algorithm/set_difference.hpp index 8682be15..02da4183 100644 --- a/sprout/range/algorithm/set_difference.hpp +++ b/sprout/range/algorithm/set_difference.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_SET_DIFFERENCE_HPP diff --git a/sprout/range/algorithm/set_intersection.hpp b/sprout/range/algorithm/set_intersection.hpp index 1b239527..7ce24cdd 100644 --- a/sprout/range/algorithm/set_intersection.hpp +++ b/sprout/range/algorithm/set_intersection.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_SET_INTERSECTION_HPP diff --git a/sprout/range/algorithm/set_symmetric_difference.hpp b/sprout/range/algorithm/set_symmetric_difference.hpp index af1f03e7..1af47f53 100644 --- a/sprout/range/algorithm/set_symmetric_difference.hpp +++ b/sprout/range/algorithm/set_symmetric_difference.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_SET_SYMMETRIC_DIFFERENCE_HPP diff --git a/sprout/range/algorithm/set_union.hpp b/sprout/range/algorithm/set_union.hpp index 8325000d..bb8167a2 100644 --- a/sprout/range/algorithm/set_union.hpp +++ b/sprout/range/algorithm/set_union.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_SET_UNION_HPP diff --git a/sprout/range/algorithm/shuffle.hpp b/sprout/range/algorithm/shuffle.hpp new file mode 100644 index 00000000..ce231850 --- /dev/null +++ b/sprout/range/algorithm/shuffle.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_SHUFFLE_HPP +#define SPROUT_RANGE_ALGORITHM_SHUFFLE_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_SHUFFLE_HPP diff --git a/sprout/range/algorithm/sort.hpp b/sprout/range/algorithm/sort.hpp new file mode 100644 index 00000000..03ce332b --- /dev/null +++ b/sprout/range/algorithm/sort.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_SORT_HPP +#define SPROUT_RANGE_ALGORITHM_SORT_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_SORT_HPP diff --git a/sprout/range/algorithm/sort_heap.hpp b/sprout/range/algorithm/sort_heap.hpp new file mode 100644 index 00000000..8fc6baa5 --- /dev/null +++ b/sprout/range/algorithm/sort_heap.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_SORT_HEAP_HPP +#define SPROUT_RANGE_ALGORITHM_SORT_HEAP_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_SORT_HEAP_HPP diff --git a/sprout/range/algorithm/stable_partition.hpp b/sprout/range/algorithm/stable_partition.hpp new file mode 100644 index 00000000..78b4257d --- /dev/null +++ b/sprout/range/algorithm/stable_partition.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_STABLE_PARTITION_HPP +#define SPROUT_RANGE_ALGORITHM_STABLE_PARTITION_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_STABLE_PARTITION_HPP diff --git a/sprout/range/algorithm/stable_sort.hpp b/sprout/range/algorithm/stable_sort.hpp new file mode 100644 index 00000000..010231f7 --- /dev/null +++ b/sprout/range/algorithm/stable_sort.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_STABLE_SORT_HPP +#define SPROUT_RANGE_ALGORITHM_STABLE_SORT_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_STABLE_SORT_HPP diff --git a/sprout/range/algorithm/swap_element_copy.hpp b/sprout/range/algorithm/swap_element_copy.hpp index 17de20ef..62722b4d 100644 --- a/sprout/range/algorithm/swap_element_copy.hpp +++ b/sprout/range/algorithm/swap_element_copy.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_SWAP_ELEMENT_COPY_HPP diff --git a/sprout/range/algorithm/swap_ranges.hpp b/sprout/range/algorithm/swap_ranges.hpp new file mode 100644 index 00000000..e180e89f --- /dev/null +++ b/sprout/range/algorithm/swap_ranges.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_SWAP_RANGES_HPP +#define SPROUT_RANGE_ALGORITHM_SWAP_RANGES_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_SWAP_RANGES_HPP diff --git a/sprout/range/algorithm/transform.hpp b/sprout/range/algorithm/transform.hpp index 5458e2cb..eb9174c1 100644 --- a/sprout/range/algorithm/transform.hpp +++ b/sprout/range/algorithm/transform.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_TRANSFORM_HPP diff --git a/sprout/range/algorithm/unique.hpp b/sprout/range/algorithm/unique.hpp new file mode 100644 index 00000000..b2f8cb0f --- /dev/null +++ b/sprout/range/algorithm/unique.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_UNIQUE_HPP +#define SPROUT_RANGE_ALGORITHM_UNIQUE_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_UNIQUE_HPP diff --git a/sprout/range/algorithm/unique_copy.hpp b/sprout/range/algorithm/unique_copy.hpp index 5f6b8ab8..f6b4a87c 100644 --- a/sprout/range/algorithm/unique_copy.hpp +++ b/sprout/range/algorithm/unique_copy.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_UNIQUE_COPY_HPP diff --git a/sprout/range/numeric/cxx14/iota.hpp b/sprout/range/numeric/cxx14/iota.hpp index ca5201c0..46ed6f27 100644 --- a/sprout/range/numeric/cxx14/iota.hpp +++ b/sprout/range/numeric/cxx14/iota.hpp @@ -10,6 +10,7 @@ #include #include +#include #include namespace sprout { @@ -19,8 +20,8 @@ namespace sprout { // template inline SPROUT_CXX14_CONSTEXPR void - iota(ForwardRange const& rng, T value) { - sprout::iota(sprout::begin(rng), sprout::end(rng), value); + iota(ForwardRange&& rng, T value) { + sprout::iota(sprout::begin(SPROUT_FORWARD(ForwardRange, rng)), sprout::end(SPROUT_FORWARD(ForwardRange, rng)), value); } } // namespace range } // namespace sprout diff --git a/sprout/range/numeric/dft/cxx14.hpp b/sprout/range/numeric/dft/cxx14.hpp new file mode 100644 index 00000000..3dd0b424 --- /dev/null +++ b/sprout/range/numeric/dft/cxx14.hpp @@ -0,0 +1,15 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_HPP +#define SPROUT_RANGE_NUMERIC_DFT_CXX14_HPP + +#include +#include +#include + +#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_HPP diff --git a/sprout/range/numeric/dft/cxx14/amplitude_spectrum.hpp b/sprout/range/numeric/dft/cxx14/amplitude_spectrum.hpp new file mode 100644 index 00000000..dbd5a81a --- /dev/null +++ b/sprout/range/numeric/dft/cxx14/amplitude_spectrum.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_AMPLITUDE_SPECTRUM_HPP +#define SPROUT_RANGE_NUMERIC_DFT_CXX14_AMPLITUDE_SPECTRUM_HPP + +#include +#include +#include +#include +#include + +namespace sprout { + namespace range { + // + // amplitude_spectrum + // + template< + typename InputRange, typename OutputIterator, + typename sprout::enabler_if::value>::type = sprout::enabler + > + inline SPROUT_CXX14_CONSTEXPR OutputIterator + amplitude_spectrum(InputRange const& rng, OutputIterator result) { + return sprout::amplitude_spectrum(sprout::begin(rng), sprout::end(rng), result); + } + } // namespace range +} // namespace sprout + +#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_AMPLITUDE_SPECTRUM_HPP diff --git a/sprout/range/numeric/dft/cxx14/phase_spectrum.hpp b/sprout/range/numeric/dft/cxx14/phase_spectrum.hpp new file mode 100644 index 00000000..2583ad12 --- /dev/null +++ b/sprout/range/numeric/dft/cxx14/phase_spectrum.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_PHASE_SPECTRUM_HPP +#define SPROUT_RANGE_NUMERIC_DFT_CXX14_PHASE_SPECTRUM_HPP + +#include +#include +#include +#include +#include + +namespace sprout { + namespace range { + // + // phase_spectrum + // + template< + typename InputRange, typename OutputIterator, + typename sprout::enabler_if::value>::type = sprout::enabler + > + inline SPROUT_CXX14_CONSTEXPR OutputIterator + phase_spectrum(InputRange const& rng, OutputIterator result) { + return sprout::phase_spectrum(sprout::begin(rng), sprout::end(rng), result); + } + } // namespace range +} // namespace sprout + +#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_PHASE_SPECTRUM_HPP diff --git a/sprout/range/numeric/dft/cxx14/sawtooth.hpp b/sprout/range/numeric/dft/cxx14/sawtooth.hpp new file mode 100644 index 00000000..02d7a04b --- /dev/null +++ b/sprout/range/numeric/dft/cxx14/sawtooth.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_SAWTOOTH_HPP +#define SPROUT_RANGE_NUMERIC_DFT_CXX14_SAWTOOTH_HPP + +#include +#include +#include +#include +#include + +namespace sprout { + namespace range { + // + // sawtooth + // + template + inline SPROUT_CXX14_CONSTEXPR void + sawtooth( + ForwardRange&& rng, + typename sprout::container_traits::value_type const& frequency = 1, + typename sprout::container_traits::value_type const& amplitude = 1, + typename sprout::container_traits::value_type const& phase = 0 + ) + { + sprout::sawtooth( + sprout::begin(SPROUT_FORWARD(ForwardRange, rng)), sprout::end(SPROUT_FORWARD(ForwardRange, rng)), + frequency, amplitude, phase + ); + } + } // namespace range +} // namespace sprout + +#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_SAWTOOTH_HPP diff --git a/sprout/range/numeric/dft/cxx14/sinusoid.hpp b/sprout/range/numeric/dft/cxx14/sinusoid.hpp new file mode 100644 index 00000000..f2304a6e --- /dev/null +++ b/sprout/range/numeric/dft/cxx14/sinusoid.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_SINUSOID_HPP +#define SPROUT_RANGE_NUMERIC_DFT_CXX14_SINUSOID_HPP + +#include +#include +#include +#include +#include + +namespace sprout { + namespace range { + // + // sinusoid + // + template + inline SPROUT_CXX14_CONSTEXPR void + sinusoid( + ForwardRange&& rng, + typename sprout::container_traits::value_type const& frequency = 1, + typename sprout::container_traits::value_type const& amplitude = 1, + typename sprout::container_traits::value_type const& phase = 0 + ) + { + sprout::sinusoid( + sprout::begin(SPROUT_FORWARD(ForwardRange, rng)), sprout::end(SPROUT_FORWARD(ForwardRange, rng)), + frequency, amplitude, phase + ); + } + } // namespace range +} // namespace sprout + +#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_SINUSOID_HPP diff --git a/sprout/range/numeric/dft/cxx14/spectrum.hpp b/sprout/range/numeric/dft/cxx14/spectrum.hpp new file mode 100644 index 00000000..c5e80c3b --- /dev/null +++ b/sprout/range/numeric/dft/cxx14/spectrum.hpp @@ -0,0 +1,35 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_SPECTRUM_HPP +#define SPROUT_RANGE_NUMERIC_DFT_CXX14_SPECTRUM_HPP + +#include +#include +#include +#include +#include +#include +#include + +namespace sprout { + namespace range { + // + // spectrum + // + template< + typename InputRange, typename OutputIterator, + typename sprout::enabler_if::value>::type = sprout::enabler + > + inline SPROUT_CXX14_CONSTEXPR OutputIterator + spectrum(InputRange const& rng, OutputIterator result) { + return sprout::spectrum(sprout::begin(rng), sprout::end(rng), result); + } + } // namespace range +} // namespace sprout + +#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_SPECTRUM_HPP diff --git a/sprout/range/numeric/dft/cxx14/square.hpp b/sprout/range/numeric/dft/cxx14/square.hpp new file mode 100644 index 00000000..65cf3b9c --- /dev/null +++ b/sprout/range/numeric/dft/cxx14/square.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_SQUARE_HPP +#define SPROUT_RANGE_NUMERIC_DFT_CXX14_SQUARE_HPP + +#include +#include +#include +#include +#include + +namespace sprout { + namespace range { + // + // square + // + template + inline SPROUT_CXX14_CONSTEXPR void + square( + ForwardRange&& rng, + typename sprout::container_traits::value_type const& frequency = 1, + typename sprout::container_traits::value_type const& amplitude = 1, + typename sprout::container_traits::value_type const& phase = 0 + ) + { + sprout::square( + sprout::begin(SPROUT_FORWARD(ForwardRange, rng)), sprout::end(SPROUT_FORWARD(ForwardRange, rng)), + frequency, amplitude, phase + ); + } + } // namespace range +} // namespace sprout + +#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_SQUARE_HPP diff --git a/sprout/range/numeric/dft/cxx14/triangle.hpp b/sprout/range/numeric/dft/cxx14/triangle.hpp new file mode 100644 index 00000000..b8d69110 --- /dev/null +++ b/sprout/range/numeric/dft/cxx14/triangle.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_TRIANGLE_HPP +#define SPROUT_RANGE_NUMERIC_DFT_CXX14_TRIANGLE_HPP + +#include +#include +#include +#include +#include + +namespace sprout { + namespace range { + // + // triangle + // + template + inline SPROUT_CXX14_CONSTEXPR void + triangle( + ForwardRange&& rng, + typename sprout::container_traits::value_type const& frequency = 1, + typename sprout::container_traits::value_type const& amplitude = 1, + typename sprout::container_traits::value_type const& phase = 0, + typename sprout::container_traits::value_type const& duty = 0.5 + ) + { + sprout::triangle( + sprout::begin(SPROUT_FORWARD(ForwardRange, rng)), sprout::end(SPROUT_FORWARD(ForwardRange, rng)), + frequency, amplitude, phase, duty + ); + } + } // namespace range +} // namespace sprout + +#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_TRIANGLE_HPP diff --git a/sprout/range/numeric/dft/cxx14/wave.hpp b/sprout/range/numeric/dft/cxx14/wave.hpp new file mode 100644 index 00000000..4995be76 --- /dev/null +++ b/sprout/range/numeric/dft/cxx14/wave.hpp @@ -0,0 +1,17 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_WAVE_HPP +#define SPROUT_RANGE_NUMERIC_DFT_CXX14_WAVE_HPP + +#include +#include +#include +#include +#include + +#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_WAVE_HPP diff --git a/sprout/range/numeric/dft/fit/spectrum.hpp b/sprout/range/numeric/dft/fit/spectrum.hpp index 80f933bb..62bd2fbc 100644 --- a/sprout/range/numeric/dft/fit/spectrum.hpp +++ b/sprout/range/numeric/dft/fit/spectrum.hpp @@ -13,6 +13,8 @@ #include #include #include +#include +#include namespace sprout { namespace range { @@ -35,7 +37,4 @@ namespace sprout { } // namespace range } // namespace sprout -#include -#include - #endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_FIT_SPECTRUM_HPP diff --git a/sprout/range/numeric/dft/fixed/amplitude_spectrum.hpp b/sprout/range/numeric/dft/fixed/amplitude_spectrum.hpp index 45acc62a..d982429c 100644 --- a/sprout/range/numeric/dft/fixed/amplitude_spectrum.hpp +++ b/sprout/range/numeric/dft/fixed/amplitude_spectrum.hpp @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include @@ -20,7 +22,10 @@ namespace sprout { // // amplitude_spectrum // - template + template< + typename InputRange, typename Result, + typename sprout::enabler_if::value>::type = sprout::enabler + > inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm::type amplitude_spectrum(InputRange const& rng, Result const& result) { return sprout::fixed::amplitude_spectrum(sprout::begin(rng), sprout::end(rng), result); diff --git a/sprout/range/numeric/dft/fixed/phase_spectrum.hpp b/sprout/range/numeric/dft/fixed/phase_spectrum.hpp index 0b2ce5da..05c38fe2 100644 --- a/sprout/range/numeric/dft/fixed/phase_spectrum.hpp +++ b/sprout/range/numeric/dft/fixed/phase_spectrum.hpp @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include @@ -20,7 +22,10 @@ namespace sprout { // // phase_spectrum // - template + template< + typename InputRange, typename Result, + typename sprout::enabler_if::value>::type = sprout::enabler + > inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm::type phase_spectrum(InputRange const& rng, Result const& result) { return sprout::fixed::phase_spectrum(sprout::begin(rng), sprout::end(rng), result); diff --git a/sprout/range/numeric/dft/fixed/spectrum.hpp b/sprout/range/numeric/dft/fixed/spectrum.hpp index bd365eee..f9e2c6a4 100644 --- a/sprout/range/numeric/dft/fixed/spectrum.hpp +++ b/sprout/range/numeric/dft/fixed/spectrum.hpp @@ -11,8 +11,12 @@ #include #include #include +#include +#include #include #include +#include +#include namespace sprout { namespace range { @@ -20,7 +24,10 @@ namespace sprout { // // spectrum // - template + template< + typename InputRange, typename Result, + typename sprout::enabler_if::value>::type = sprout::enabler + > inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm::type spectrum(InputRange const& rng, Result const& result) { return sprout::fixed::spectrum(sprout::begin(rng), sprout::end(rng), result); @@ -37,7 +44,4 @@ namespace sprout { } // namespace range } // namespace sprout -#include -#include - #endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_FIXED_SPECTRUM_HPP diff --git a/sprout/range/numeric/dft/modifying.hpp b/sprout/range/numeric/dft/modifying.hpp index 79c81336..639e7d78 100644 --- a/sprout/range/numeric/dft/modifying.hpp +++ b/sprout/range/numeric/dft/modifying.hpp @@ -11,5 +11,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_MODIFYIING_HPP diff --git a/sprout/range/numeric/fft.hpp b/sprout/range/numeric/fft.hpp new file mode 100644 index 00000000..65b36c8e --- /dev/null +++ b/sprout/range/numeric/fft.hpp @@ -0,0 +1,15 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_NUMERIC_FFT_HPP +#define SPROUT_RANGE_NUMERIC_FFT_HPP + +#include +#include +#include + +#endif // #ifndef SPROUT_RANGE_NUMERIC_FFT_HPP diff --git a/sprout/range/numeric/fft/fft.hpp b/sprout/range/numeric/fft/fft.hpp new file mode 100644 index 00000000..e3b88f9b --- /dev/null +++ b/sprout/range/numeric/fft/fft.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_NUMERIC_FFT_FFT_HPP +#define SPROUT_RANGE_NUMERIC_FFT_FFT_HPP + +#include +#include +#include +#include + +namespace sprout { + namespace range { + // + // fft + // + template + inline SPROUT_CONSTEXPR void + fft(RandomAccessRange&& rng) { + sprout::fft(sprout::begin(SPROUT_FORWARD(RandomAccessRange, rng)), sprout::end(SPROUT_FORWARD(RandomAccessRange, rng))); + } + } // namespace range +} // namespace sprout + +#endif // #ifndef SPROUT_RANGE_NUMERIC_FFT_FFT_HPP diff --git a/sprout/range/numeric/fft/ifft.hpp b/sprout/range/numeric/fft/ifft.hpp new file mode 100644 index 00000000..9f037dcf --- /dev/null +++ b/sprout/range/numeric/fft/ifft.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2011-2014 Bolero MURAKAMI + https://github.com/bolero-MURAKAMI/Sprout + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +=============================================================================*/ +#ifndef SPROUT_RANGE_NUMERIC_FFT_IFFT_HPP +#define SPROUT_RANGE_NUMERIC_FFT_IFFT_HPP + +#include +#include +#include +#include + +namespace sprout { + namespace range { + // + // ifft + // + template + inline SPROUT_CONSTEXPR void + ifft(RandomAccessRange&& rng) { + sprout::ifft(sprout::begin(SPROUT_FORWARD(RandomAccessRange, rng)), sprout::end(SPROUT_FORWARD(RandomAccessRange, rng))); + } + } // namespace range +} // namespace sprout + +#endif // #ifndef SPROUT_RANGE_NUMERIC_FFT_IFFT_HPP