Andrei Alexandrescu escribió:
I've updated my code and documentation to include series (as in math) in
the form of infinite ranges. Also series in closed form (given n can
compute the nth value without iterating) are supported as random-access
ranges.
Also Stride is provided. The Matrix container (speaking of scientific
computing with D!) will support various representational choices, most
importantly the ones endorsed by high-performance libraries. For Matrix,
Stride is an important component as I'm sure anyone who's ever written a
matrix knows.
http://ssli.ee.washington.edu/~aalexand/d/web/phobos/std_range.html
http://ssli.ee.washington.edu/~aalexand/d/web/phobos/std_algorithm.html
Back to series. Finally my dream has come true: I can define a decent
Fibonacci series clearly and efficiently in one line of code. No more
idiotic recursive function that takes exponential time to finish!
auto fib = series!("a[n-1] + a[n]")(1, 1);
// write 10 Fibonacci numbers
foreach (e; take(10, fib)) writeln(e);
That is *SO* awesome!!