each! vs foreach parallel timings

Ali Çehreli via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Dec 27 15:42:57 PST 2015

On 12/27/2015 11:30 AM, Jay Norwood wrote:

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

Are you using an older compiler? That tuple expansion does not work any 
more at least with dmd v2.069.0 but you can use enumerate():


 >          foreach( i, ref a; parallel(samples[])){ apply_metrics(i,a);}

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[])){ 

To not answer your actual question, I don't think it's possible. :)


More information about the Digitalmars-d-learn mailing list