Alexander Stepanov ha dichiarato in colloqui e interviste che la sua realizzazione che alla fine lo ha portato alla programmazione generica e alla libreria di modelli standard, è stato il caso dell'algoritmo di riduzione parallela.
Perché non ci sono parallel_reduction (begin, end, associativeop) in STL? O qualcosa che potrebbe facilmente essere trasformato in esso con un sovraccarico dell'operatore (inner_product fa un solo passaggio e accumula le operazioni in modo asimmetrico). Non riuscivo nemmeno a trovarlo nella versione SGI, né nella sezione numerica.
Esempi di ciò che sto pensando:
Riduzione parallela di [a, b, c, d, e, f, g, h] con operatore binario ~ è
((a ~ b) ~ (c ~ d)) ~ ((e ~ f) ~ (g ~ h))
invece di accumulare
(((((((a+b)+c)+d)+e)+f)+g)+h)
e con inner_product puoi ottenere solo
(a*e)+(b*f)+(c*g)+(d*h)
se non mi sbaglio.