diff options
author | Jacques Lucke <mail@jlucke.com> | 2020-01-29 20:47:51 +0300 |
---|---|---|
committer | Jacques Lucke <mail@jlucke.com> | 2020-01-29 20:47:51 +0300 |
commit | a5470fe0cab9aaf2c2ae5ef9083290ebe3589233 (patch) | |
tree | e2e799e8e7dc3be9c11100653599d459b63e1f7b /source/blender/functions | |
parent | 06ddde0daa164d57556bac219cf74d3e1a02d361 (diff) |
cleanup
Diffstat (limited to 'source/blender/functions')
-rw-r--r-- | source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc b/source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc index 63214b9705f..327da6a2175 100644 --- a/source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc +++ b/source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc @@ -163,33 +163,12 @@ static void INSERT_time_info(FNodeMFBuilder &builder) } template<typename InT, typename OutT, typename FuncT> -static std::function<void(IndexMask mask, VirtualListRef<InT>, MutableArrayRef<OutT>)> -vectorize_function_1in_1out(FuncT func) -{ - return [=](IndexMask mask, VirtualListRef<InT> inputs, MutableArrayRef<OutT> outputs) { - if (inputs.is_non_single_full_array()) { - ArrayRef<InT> in_array = inputs.as_full_array(); - mask.foreach_index([=](uint i) { outputs[i] = func(in_array[i]); }); - } - else if (inputs.is_single_element()) { - InT in_single = inputs.as_single_element(); - outputs.fill_indices(mask.indices(), func(in_single)); - } - else { - mask.foreach_index([=](uint i) { outputs[i] = func(inputs[i]); }); - } - }; -} - -template<typename InT, typename OutT, typename FuncT> static void build_math_fn_1in_1out(FNodeMFBuilder &builder, FuncT func, Optional<uint32_t> operation_hash = {}) { - auto fn = vectorize_function_1in_1out<InT, OutT>(func); - builder.set_vectorized_constructed_matching_fn<MF_Custom_In1_Out1<InT, OutT>>( - {"use_list"}, builder.fnode().name(), fn, operation_hash); + {"use_list"}, builder.fnode().name(), func, operation_hash); } template<typename InT1, typename InT2, typename OutT, typename FuncT> |