Good project: stride() with constant stride value

Jonathan M Davis via Digitalmars-d digitalmars-d at puremagic.com
Fri Mar 4 13:32:45 PST 2016


On Friday, 4 March 2016 at 16:45:42 UTC, Andrei Alexandrescu 
wrote:
> Currently we have a very useful stride() function that allows 
> spanning a random access range with a specified step, e.g. 0, 
> 3, 6, 9, ... for step 3.
>
> I've run some measurements recently and it turns out a 
> compile-time-known stride is a lot faster than a variable. So I 
> was thinking to improve Stride(R) to take an additional 
> parameter: Stride(R, size_t step = 0). If step is 0, then use a 
> runtime-valued stride as until now. If nonzero, Stride should 
> use that compile-time step.
>
> Takers?

IMHO, it would be cleaner to make them separate templates so that 
we don't have to give some special meaning to step == 0. And if 
it made sense for them to share their implementation, we could 
still have a helper template that did the step == 0 so that it 
was hidden from the user.

- Jonathan M Davis


More information about the Digitalmars-d mailing list