Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <mail@jlucke.com>2020-01-29 20:47:51 +0300
committerJacques Lucke <mail@jlucke.com>2020-01-29 20:47:51 +0300
commita5470fe0cab9aaf2c2ae5ef9083290ebe3589233 (patch)
treee2e799e8e7dc3be9c11100653599d459b63e1f7b /source/blender/functions
parent06ddde0daa164d57556bac219cf74d3e1a02d361 (diff)
cleanup
Diffstat (limited to 'source/blender/functions')
-rw-r--r--source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc23
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>