On 09/06/2010 06:51 AM, Peter Alexander wrote:
== Quote from Andrei Alexandrescu
Yah, per your follow-up post, it's a different problem. It's
also a much
more difficult one. I convinced myself crossProduct is
impossible to
implement if one input range and one infinite forward range are
simultaneously present. It works with any number of infinite
forward
ranges, and also with other combinations. I couldn't formalize
the exact
requirements yet.
I must be missing something, because I don't understand how you
could possibly take the cross product of any number of infinite
ranges (other than to just return the range of (a[0], b[i]) for
all (infinitely many) i in b).
Note that I'm assuming you mean cartesian product, rather than
cross product; I've never heard cross product used in the context
of sets.
Yah, thanks for the correction. But probably ranges could be easier seen
as vectors than as sets.
We've discussed this before. Crosscartesian product of multiple infinite
ranges can be easily done by applying Cantor's trick for proving that
rational numbers are just as numerous than natural numbers. Google for
"Cantor" with "site:digitalmars.com".
Andrei