add horizontal vector operation functions for reductions