commit 0b462f885e7eb4b13a3991b0661572a49e6db1de
parent ce1d8ea2af7b99b93216e7a730adbba424f830cb
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date: Sat, 30 Jul 2016 15:25:49 +0300
Better type deduction for expressions
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/kfr/base/expression.hpp b/include/kfr/base/expression.hpp
@@ -110,7 +110,7 @@ private:
{
using ratio = func_ratio<Fn>;
constexpr size_t Nin = N * ratio::input / ratio::output;
- using Tout = conditional<is_same<generic, value_type>::value, T, value_type>;
+ using Tout = conditional<is_same<generic, value_type>::value, T, common_type<T, value_type>>;
return cast<T>(fn(cast<Tout>(std::get<indices>(this->args)(
cinput, index * ratio::input / ratio::output, vec_t_for<Args, Nin, Tout>()))...));