Why not extend array operations to full Fortran90 power ?

Simen Kjærås simen.kjaras at gmail.com
Wed Nov 16 13:48:00 PST 2011


On Wed, 16 Nov 2011 22:31:31 +0100, Xinok <xinok at live.com> wrote:

> On 11/16/2011 2:08 PM, Joachim Wuttke <j.wuttke at fz-juelich.de> wrote:
>> Compare
>>
>> (1) Y[] = X[]*X[];
>> (2) Y[] = sin( X[] );
>>
>> With gdc 4.4.6,
>> (1) compiles and executes as I expected, whereas
>> (2) is not allowed (fails at compile time).
>> Why?
>>
>> The semantics of (2) is unambiguous,
>> and it works perfectly well in Fortran90.
>> Allowing (2) would make D really attractive
>> for formula-heavy mathematical work.
>>
>> - Joachim
>>
> I think vector operations are designed to avoid turning them into loops.  
> In (2), this would require several calls to sin().

Really? How would you do Y[] = X[] * X[] without a loop?


More information about the Digitalmars-d mailing list