On Thursday, 7 April 2016 at 08:53:32 UTC, Andrea Fontana wrote:
On Thursday, 7 April 2016 at 08:41:51 UTC, John Colvin wrote:
*hench my example of compiling one module to an object file and then compiling the other and linking them, without ever importing one from the other.

If i move boolSort() on another module but I can't use auto as return type.
Return type is a "voldemort" type returned by std.range.chain.

How can I define it?

What about this?

   Duration total;

   foreach(_; 0..10000)
   {
auto arr = generate!( () => uniform(0,2)).map!(x => cast(bool)x).take(65536).array;
      StopWatch sw;
      sw.start;
      auto t = boolSort(arr);
      sw.stop;
      size_t sum = 0;
      foreach(x; t.map!(x => x?1:0)) sum+=x;
      writeln(sum);
   }

   writeln(total);

This outputs:
32784
...
...
...
32819
32648
32649
32716
32972
0 hnsecs

Reply via email to