[Bf-blender-cvs] [bd92ed7e112] functions: optimize single value case
Jacques Lucke
noreply at git.blender.org
Wed Dec 11 14:26:42 CET 2019
Commit: bd92ed7e11284bd03899a7cbe83b4735f9271eef
Author: Jacques Lucke
Date: Wed Dec 11 13:58:08 2019 +0100
Branches: functions
https://developer.blender.org/rBbd92ed7e11284bd03899a7cbe83b4735f9271eef
optimize single value case
===================================================================
M source/blender/functions/intern/multi_functions/mixed.cc
===================================================================
diff --git a/source/blender/functions/intern/multi_functions/mixed.cc b/source/blender/functions/intern/multi_functions/mixed.cc
index a9b228cd6b5..99532749e6c 100644
--- a/source/blender/functions/intern/multi_functions/mixed.cc
+++ b/source/blender/functions/intern/multi_functions/mixed.cc
@@ -486,6 +486,15 @@ void group_indices_by_same_value(ArrayRef<uint> indices,
const FuncT &func,
EqualFuncT equal = std::equal_to<T>())
{
+ if (indices.size() == 0) {
+ return;
+ }
+ if (values.is_single_element()) {
+ const T &value = values[indices[0]];
+ func(value, indices);
+ return;
+ }
+
Vector<T> seen_values;
for (uint i : indices.index_iterator()) {
More information about the Bf-blender-cvs
mailing list