Disable NaN and Inf

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sat Feb 6 09:40:27 PST 2010


dsimcha wrote:
> == Quote from Andrei Alexandrescu (SeeWebsiteForEmail at erdani.org)'s article
>> Jonathan Crapuchettes wrote:
>>> I would like to divide one array by another using the slice syntax so
>>> that I can benefit from the vectorized operation, but I am running into
>>> a problem. Some of the numbers is my denominator array are 0, producing
>>> NaNs and Infs in the result.
>>>
>>> My question is: Is there a way to force 0/0 and x/0 to result in 0?
>>>
>>> Thank you,
>>> JC
>> I don't know of a way. You may want to try first running a loop
>> replacing 0 with inf throughout the denominator array. Then run
>> vectorized division; any non-inf divided by inf yields 0.
>> Andrei
> 
> At this point it's probably useless to vectorize, though.  You may as well just
> write something like:
> 
> if(isNaN(arr2[i])) {
>     result[i] = 0;
> } else {
>     result[i] = arr1[i] / arr2[i];
> }

I don't know. In such cases only experimentation can prove anything.

Andrei



More information about the Digitalmars-d mailing list