Generator/Exponential: Difference between revisions

(→‎{{header|C}}: Added a templated c++ class)
Line 806:
<lang j>20 }. uncubicalSquares 30
529 576 625 676 784 841 900 961 1024 1089</lang>
 
 
=={{header|JavaScript}}==
{{works with|Firefox 3.6 using JavaScript 1.7|}}
 
<lang JavaScript>
function PowersGenerator(m) {
var n=0;
while(1) {
yield Math.pow(n, m);
n += 1;
}
}
 
function FilteredGenerator(g, f){
var value = g.next();
var filter = f.next();
while(1) {
if( value < filter ) {
yield value;
value = g.next();
} else if ( value > filter ) {
filter = f.next();
} else {
value = g.next();
filter = f.next();
}
}
}
 
 
 
var squares = PowersGenerator(2);
var cubes = PowersGenerator(3);
 
var filtered = FilteredGenerator(squares, cubes);
 
 
 
for( var x = 0; x < 20; x++ ) filtered.next()
for( var x = 20; x < 30; x++ ) console.logfiltered.next());
 
</lang>
 
=={{header|Lua}}==
Anonymous user