On 12/27/2015 04:17 PM, Jay Norwood wrote:
On Sunday, 27 December 2015 at 23:42:57 UTC, Ali Çehreli wrote:
That does not compile because i is size_t but apply_metrics() takes
an int. One solution is to call to!int:

        foreach( i, ref a; parallel(samples[])){
apply_metrics(i.to!int,a);}


It builds for me still, and executes ok, but must be because size_t and
i are both 32 bits on Win32 build.


Makes sense. I would still prefer size_t and even leave it out for the lambda:

void apply_metrics(size_t i,ref S s){
// ...

        sn = i.to!int;

// ...

    samples[].each!((i, ref a)=>apply_metrics(i,a));

Ali

Reply via email to