i would like to argue that this is just again such a more or less expected behaviour. for God’s sake we have nothing like empty slices in vvvv; there are only empty spreads. your example patch shows that an empty spread however wouldn’t be an option here, since only one output slice represents that operation on zero input slices.
so we need some ouput values, that somehow reflect that no operations on input slices have been performed. however in the best case we wouldn’t need to handle this as an extra case, but only as a natural result.
most spread operation nodes work like that:
- on each bin:
** initialize some accumulating variable
** loop over all input slices in this bin:
*** operate on accumulated value and current input slice
** output slice: accumulating value
so binsize 0 means that no operations on input slices are performed, but only some initialization.
initialization for different operators:
- multiply: 1.0
- add: 0.0
- min: +INF
- max: -INF
min and max are not available as extra nodes, but they work that way within the bounds node.
Center should then be 0 (in the middle between min and max) and width should be (max-min). i would have expected +INF or -INF, but i’m ok with -6*10^300 (“near” to -INF).