1
0
Fork 0
mirror of https://github.com/bolero-MURAKAMI/Sprout synced 2024-11-12 21:09:01 +00:00

add c++14 fft/dft range algorithms

This commit is contained in:
bolero-MURAKAMI 2014-04-21 23:30:43 +09:00
parent aaf31f2ab8
commit fe255a5e74
73 changed files with 877 additions and 17 deletions

View file

@ -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 <sprout/config.hpp>
#include <sprout/algorithm/cxx14/sample.hpp>
#endif // #ifndef SPROUT_ALGORITHM_SAMPLE_HPP

View file

@ -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 <iterator>
#include <sprout/config.hpp>
@ -35,4 +35,4 @@ namespace sprout {
}
} // namespace sprout
#endif // #ifndef SPROUT_NUMERIC_DFT_CXX14_SAWTOOTH_HPP
#endif // #ifndef SPROUT_NUMERIC_DFT_CXX14_SQUARE_HPP

View file

@ -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 <iterator>
#include <sprout/config.hpp>
@ -36,4 +36,4 @@ namespace sprout {
}
} // namespace sprout
#endif // #ifndef SPROUT_NUMERIC_DFT_CXX14_SAWTOOTH_HPP
#endif // #ifndef SPROUT_NUMERIC_DFT_CXX14_TRIANGLE_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/bogo_sort.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_BOGO_SORT_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/bozo_sort.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_BOZO_SORT_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/clamp_range.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_CLAMP_RANGE_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/copy.hpp>
#include <sprout/range/algorithm/fit/copy.hpp>
#include <sprout/range/algorithm/cxx14/copy.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_COPY_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/copy_backward.hpp>
#include <sprout/range/algorithm/fit/copy_backward.hpp>
#include <sprout/range/algorithm/cxx14/copy_backward.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_COPY_BACKWARD_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/copy_if.hpp>
#include <sprout/range/algorithm/fit/copy_if.hpp>
#include <sprout/range/algorithm/cxx14/copy_if.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_COPY_IF_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/copy_until.hpp>
#include <sprout/range/algorithm/fit/copy_until.hpp>
#include <sprout/range/algorithm/cxx14/copy_until.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_COPY_UNTIL_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/copy_while.hpp>
#include <sprout/range/algorithm/fit/copy_while.hpp>
#include <sprout/range/algorithm/cxx14/copy_while.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_COPY_WHILE_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/fill.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_FILL_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/generate.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_GENERATE_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/inplace_merge.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_INPLACE_MERGE_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/make_heap.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_MAKE_HEAP_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/merge.hpp>
#include <sprout/range/algorithm/fit/merge.hpp>
#include <sprout/range/algorithm/cxx14/merge.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_MERGE_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/move_backward.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_MOVE_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/move_backward.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_MOVE_BACKWARD_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/next_permutation.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_NEXT_PERMUTATION_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/nth_element.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_NTH_ELEMENT_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/partial_sort.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_PARTIAL_SORT_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/partition.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_PARTITION_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/partition_copy.hpp>
#include <sprout/range/algorithm/fit/partition_copy.hpp>
#include <sprout/range/algorithm/cxx14/partition_copy.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_PARTITION_COPY_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/pop_heap.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_POP_HEAP_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/prev_permutation.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_PREV_PERMUTATION_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/push_heap.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_PUSH_HEAP_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/random_shuffle.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_RANDOM_SHUFFLE_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/random_swap.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_RANDOM_SWAP_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/remove.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_REMOVE_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/remove_copy.hpp>
#include <sprout/range/algorithm/fit/remove_copy.hpp>
#include <sprout/range/algorithm/cxx14/remove_copy.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_REMOVE_COPY_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/remove_copy_if.hpp>
#include <sprout/range/algorithm/fit/remove_copy_if.hpp>
#include <sprout/range/algorithm/cxx14/remove_copy_if.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_REMOVE_COPY_IF_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/remove_if.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_REMOVE_IF_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/replace.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_REPLACE_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/replace_copy.hpp>
#include <sprout/range/algorithm/fit/replace_copy.hpp>
#include <sprout/range/algorithm/cxx14/replace_copy.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_REPLACE_COPY_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/replace_copy_if.hpp>
#include <sprout/range/algorithm/fit/replace_copy_if.hpp>
#include <sprout/range/algorithm/cxx14/replace_copy_if.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_REPLACE_COPY_IF_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/replace_if.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_REPLACE_IF_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/reverse.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_REVERSE_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/reverse_copy.hpp>
#include <sprout/range/algorithm/fit/reverse_copy.hpp>
#include <sprout/range/algorithm/cxx14/reverse_copy.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_REVERSE_COPY_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/rotate.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_ROTATE_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/rotate_copy.hpp>
#include <sprout/range/algorithm/fit/rotate_copy.hpp>
#include <sprout/range/algorithm/cxx14/rotate_copy.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_ROTATE_COPY_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/sample.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_SAMPLE_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/set_difference.hpp>
#include <sprout/range/algorithm/fit/set_difference.hpp>
#include <sprout/range/algorithm/cxx14/set_difference.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_SET_DIFFERENCE_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/set_intersection.hpp>
#include <sprout/range/algorithm/fit/set_intersection.hpp>
#include <sprout/range/algorithm/cxx14/set_intersection.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_SET_INTERSECTION_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/set_symmetric_difference.hpp>
#include <sprout/range/algorithm/fit/set_symmetric_difference.hpp>
#include <sprout/range/algorithm/cxx14/set_symmetric_difference.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_SET_SYMMETRIC_DIFFERENCE_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/set_union.hpp>
#include <sprout/range/algorithm/fit/set_union.hpp>
#include <sprout/range/algorithm/cxx14/set_union.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_SET_UNION_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/shuffle.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_SHUFFLE_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/sort.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_SORT_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/sort_heap.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_SORT_HEAP_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/stable_partition.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_STABLE_PARTITION_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/stable_sort.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_STABLE_SORT_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/swap_element_copy.hpp>
#include <sprout/range/algorithm/fit/swap_element_copy.hpp>
#include <sprout/range/algorithm/cxx14/swap_element_copy.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_SWAP_ELEMENT_COPY_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/swap_ranges.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_SWAP_RANGES_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/transform.hpp>
#include <sprout/range/algorithm/fit/transform.hpp>
#include <sprout/range/algorithm/cxx14/transform.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_TRANSFORM_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/algorithm/cxx14/unique.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_UNIQUE_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/algorithm/fixed/unique_copy.hpp>
#include <sprout/range/algorithm/fit/unique_copy.hpp>
#include <sprout/range/algorithm/cxx14/unique_copy.hpp>
#endif // #ifndef SPROUT_RANGE_ALGORITHM_UNIQUE_COPY_HPP

View file

@ -10,6 +10,7 @@
#include <sprout/config.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/numeric/cxx14/iota.hpp>
namespace sprout {
@ -19,8 +20,8 @@ namespace sprout {
//
template<typename ForwardRange, typename T>
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

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/numeric/dft/cxx14/spectrum.hpp>
#include <sprout/range/numeric/dft/cxx14/wave.hpp>
#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/type_traits/is_iterator_of.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/numeric/dft/cxx14/amplitude_spectrum.hpp>
namespace sprout {
namespace range {
//
// amplitude_spectrum
//
template<
typename InputRange, typename OutputIterator,
typename sprout::enabler_if<sprout::is_iterator_outputable<OutputIterator>::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

View file

@ -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 <sprout/config.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/type_traits/is_iterator_of.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/numeric/dft/cxx14/phase_spectrum.hpp>
namespace sprout {
namespace range {
//
// phase_spectrum
//
template<
typename InputRange, typename OutputIterator,
typename sprout::enabler_if<sprout::is_iterator_outputable<OutputIterator>::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

View file

@ -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 <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/numeric/dft/cxx14/sawtooth.hpp>
namespace sprout {
namespace range {
//
// sawtooth
//
template<typename ForwardRange>
inline SPROUT_CXX14_CONSTEXPR void
sawtooth(
ForwardRange&& rng,
typename sprout::container_traits<ForwardRange>::value_type const& frequency = 1,
typename sprout::container_traits<ForwardRange>::value_type const& amplitude = 1,
typename sprout::container_traits<ForwardRange>::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

View file

@ -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 <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/numeric/dft/cxx14/sinusoid.hpp>
namespace sprout {
namespace range {
//
// sinusoid
//
template<typename ForwardRange>
inline SPROUT_CXX14_CONSTEXPR void
sinusoid(
ForwardRange&& rng,
typename sprout::container_traits<ForwardRange>::value_type const& frequency = 1,
typename sprout::container_traits<ForwardRange>::value_type const& amplitude = 1,
typename sprout::container_traits<ForwardRange>::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

View file

@ -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 <sprout/config.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/type_traits/is_iterator_of.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/numeric/dft/cxx14/spectrum.hpp>
#include <sprout/range/numeric/dft/cxx14/amplitude_spectrum.hpp>
#include <sprout/range/numeric/dft/cxx14/phase_spectrum.hpp>
namespace sprout {
namespace range {
//
// spectrum
//
template<
typename InputRange, typename OutputIterator,
typename sprout::enabler_if<sprout::is_iterator_outputable<OutputIterator>::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

View file

@ -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 <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/numeric/dft/cxx14/square.hpp>
namespace sprout {
namespace range {
//
// square
//
template<typename ForwardRange>
inline SPROUT_CXX14_CONSTEXPR void
square(
ForwardRange&& rng,
typename sprout::container_traits<ForwardRange>::value_type const& frequency = 1,
typename sprout::container_traits<ForwardRange>::value_type const& amplitude = 1,
typename sprout::container_traits<ForwardRange>::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

View file

@ -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 <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/numeric/dft/cxx14/triangle.hpp>
namespace sprout {
namespace range {
//
// triangle
//
template<typename ForwardRange>
inline SPROUT_CXX14_CONSTEXPR void
triangle(
ForwardRange&& rng,
typename sprout::container_traits<ForwardRange>::value_type const& frequency = 1,
typename sprout::container_traits<ForwardRange>::value_type const& amplitude = 1,
typename sprout::container_traits<ForwardRange>::value_type const& phase = 0,
typename sprout::container_traits<ForwardRange>::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

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/numeric/dft/cxx14/sinusoid.hpp>
#include <sprout/range/numeric/dft/cxx14/sawtooth.hpp>
#include <sprout/range/numeric/dft/cxx14/triangle.hpp>
#include <sprout/range/numeric/dft/cxx14/square.hpp>
#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_CXX14_WAVE_HPP

View file

@ -13,6 +13,8 @@
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/numeric/dft/fit/spectrum.hpp>
#include <sprout/range/numeric/dft/fit/amplitude_spectrum.hpp>
#include <sprout/range/numeric/dft/fit/phase_spectrum.hpp>
namespace sprout {
namespace range {
@ -35,7 +37,4 @@ namespace sprout {
} // namespace range
} // namespace sprout
#include <sprout/range/numeric/dft/fit/amplitude_spectrum.hpp>
#include <sprout/range/numeric/dft/fit/phase_spectrum.hpp>
#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_FIT_SPECTRUM_HPP

View file

@ -11,6 +11,8 @@
#include <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/type_traits/is_iterator_of.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/numeric/dft/fixed/amplitude_spectrum.hpp>
@ -20,7 +22,10 @@ namespace sprout {
//
// amplitude_spectrum
//
template<typename InputRange, typename Result>
template<
typename InputRange, typename Result,
typename sprout::enabler_if<!sprout::is_iterator_outputable<Result>::value>::type = sprout::enabler
>
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
amplitude_spectrum(InputRange const& rng, Result const& result) {
return sprout::fixed::amplitude_spectrum(sprout::begin(rng), sprout::end(rng), result);

View file

@ -11,6 +11,8 @@
#include <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/type_traits/is_iterator_of.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/numeric/dft/fixed/phase_spectrum.hpp>
@ -20,7 +22,10 @@ namespace sprout {
//
// phase_spectrum
//
template<typename InputRange, typename Result>
template<
typename InputRange, typename Result,
typename sprout::enabler_if<!sprout::is_iterator_outputable<Result>::value>::type = sprout::enabler
>
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
phase_spectrum(InputRange const& rng, Result const& result) {
return sprout::fixed::phase_spectrum(sprout::begin(rng), sprout::end(rng), result);

View file

@ -11,8 +11,12 @@
#include <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/type_traits/is_iterator_of.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/numeric/dft/fixed/spectrum.hpp>
#include <sprout/range/numeric/dft/fixed/amplitude_spectrum.hpp>
#include <sprout/range/numeric/dft/fixed/phase_spectrum.hpp>
namespace sprout {
namespace range {
@ -20,7 +24,10 @@ namespace sprout {
//
// spectrum
//
template<typename InputRange, typename Result>
template<
typename InputRange, typename Result,
typename sprout::enabler_if<!sprout::is_iterator_outputable<Result>::value>::type = sprout::enabler
>
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::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 <sprout/range/numeric/dft/fixed/amplitude_spectrum.hpp>
#include <sprout/range/numeric/dft/fixed/phase_spectrum.hpp>
#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_FIXED_SPECTRUM_HPP

View file

@ -11,5 +11,6 @@
#include <sprout/config.hpp>
#include <sprout/range/numeric/dft/fixed.hpp>
#include <sprout/range/numeric/dft/fit.hpp>
#include <sprout/range/numeric/dft/cxx14.hpp>
#endif // #ifndef SPROUT_RANGE_NUMERIC_DFT_MODIFYIING_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/range/numeric/fft/fft.hpp>
#include <sprout/range/numeric/fft/ifft.hpp>
#endif // #ifndef SPROUT_RANGE_NUMERIC_FFT_HPP

View file

@ -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 <sprout/config.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/numeric/fft/fft.hpp>
namespace sprout {
namespace range {
//
// fft
//
template<typename RandomAccessRange>
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

View file

@ -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 <sprout/config.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/numeric/fft/ifft.hpp>
namespace sprout {
namespace range {
//
// ifft
//
template<typename RandomAccessRange>
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