kfr

Fast, modern C++ DSP framework, FFT, Sample Rate Conversion, FIR/IIR/Biquad Filters (SSE, AVX, AVX-512, ARM NEON)
Log | Files | Refs | README

commit 42bd423c4938a31779c7c8ec3d6e142513633572
parent 7663ecd374cfc042a990077ea5e2659dd920c2cb
Author: [email protected] <[email protected]>
Date:   Sun,  7 Aug 2016 07:43:12 +0300

new algorithm: mixdown

Diffstat:
Minclude/kfr/dsp.hpp | 1+
Ainclude/kfr/dsp/mixdown.hpp | 35+++++++++++++++++++++++++++++++++++
Msources.cmake | 1+
3 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/include/kfr/dsp.hpp b/include/kfr/dsp.hpp @@ -33,6 +33,7 @@ #include "dsp/goertzel.hpp" #include "dsp/impulse.hpp" #include "dsp/interpolation.hpp" +#include "dsp/mixdown.hpp" #include "dsp/oscillators.hpp" #include "dsp/resample.hpp" #include "dsp/speaker.hpp" diff --git a/include/kfr/dsp/mixdown.hpp b/include/kfr/dsp/mixdown.hpp @@ -0,0 +1,35 @@ +/** + * Copyright (C) 2016 D Levin (http://www.kfrlib.com) + * This file is part of KFR + * + * KFR is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * KFR is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with KFR. + * + * If GPL is not suitable for your project, you must purchase a commercial license to use KFR. + * Buying a commercial license is mandatory as soon as you develop commercial activities without + * disclosing the source code of your own applications. + * See http://www.kfrlib.com for details. + */ +#pragma once + +#include "../base.hpp" + +namespace kfr +{ + +template <typename... E> +internal::expression_function<fn_add, E...> mixdown(E&&... e) +{ + return internal::expression_function<fn_add, E...>(fn_add(), std::forward<E>(e)...); +} +} diff --git a/sources.cmake b/sources.cmake @@ -72,6 +72,7 @@ set( ${PROJECT_SOURCE_DIR}/include/kfr/dsp/goertzel.hpp ${PROJECT_SOURCE_DIR}/include/kfr/dsp/impulse.hpp ${PROJECT_SOURCE_DIR}/include/kfr/dsp/interpolation.hpp + ${PROJECT_SOURCE_DIR}/include/kfr/dsp/mixdown.hpp ${PROJECT_SOURCE_DIR}/include/kfr/dsp/oscillators.hpp ${PROJECT_SOURCE_DIR}/include/kfr/dsp/resample.hpp ${PROJECT_SOURCE_DIR}/include/kfr/dsp/speaker.hpp