This commit is contained in:
Ingy döt Net 2013-04-10 21:29:02 -07:00
parent 764da6cbbb
commit db842d013d
19005 changed files with 197040 additions and 7 deletions

View file

@ -0,0 +1,33 @@
import std.stdio, std.traits;
auto powers(in double e) pure nothrow {
double i = 0.0;
return () => i++ ^^ e;
}
auto filter(D)(D af, D bf) if (isCallable!D) {
double a = af(), b = bf();
return {
double r;
while (true) {
if (a < b) {
r = a;
a = af();
break;
}
if (b == a)
a = af();
b = bf();
}
return r;
};
}
void main() {
auto fgen = filter(powers(2), powers(3));
foreach (i; 0 .. 20)
fgen();
foreach (i; 0 .. 10)
write(fgen(), " ");
writeln();
}