[Bf-blender-cvs] [a5470fe0cab] functions: cleanup
Jacques Lucke
noreply at git.blender.org
Wed Jan 29 21:05:31 CET 2020
Commit: a5470fe0cab9aaf2c2ae5ef9083290ebe3589233
Author: Jacques Lucke
Date: Wed Jan 29 18:47:51 2020 +0100
Branches: functions
https://developer.blender.org/rBa5470fe0cab9aaf2c2ae5ef9083290ebe3589233
cleanup
===================================================================
M source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc
===================================================================
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
@@ -162,34 +162,13 @@ static void INSERT_time_info(FNodeMFBuilder &builder)
builder.set_constructed_matching_fn<MF_ContextCurrentFrame>();
}
-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>
More information about the Bf-blender-cvs
mailing list