A little challenge...

Robert Jacques sandford at jhu.edu
Fri Feb 26 17:57:17 PST 2010


On Fri, 26 Feb 2010 10:49:30 -0500, Norbert Nemec  
<Norbert at nemec-online.de> wrote:

> Ary Borenszweig wrote:
>> Norbert Nemec wrote:
>>> Hi everybody,
>>>
>>> thinking about array expressions, I have stumbled over an interesting  
>>> challenge for which I still have no idea:
>>>
>>> Consider the mathematical sum notation:
>>>
>>>     \sum_i a_i*b_i
>>>
>>> here, the variable i is defined only at the scope inside the  
>>> expression.
>>>
>>> A analogous D syntax could be something like
>>>
>>>     sum!(i)(a[i]*b[i])
>>>
>>> where sum would have to be some kind of template that takes i as a  
>>> name parameter and then defines it as variable inside the scope of the  
>>> second expression.
>>  You are missing i's initial and ending values.
>>  I think it should be something like:
>>  sum!("i", 0, n)(a[i]*b[i])
>
> I assumed them to default to the array boundaries, but that does not  
> really matter at this point.

Detecting those array boundaries is not an easy task. For example, if you  
take the expression in as a delegate you can't detect which ranges are  
used in it.



More information about the Digitalmars-d mailing list