vectorizing the roll with fancy indexing

shaves a bit of time, but it's still slower than the COO path