From hp@ge@@on@g|thub @end|ng |rom gm@||@com  Fri Sep 10 02:54:06 2021
From: hp@ge@@on@g|thub @end|ng |rom gm@||@com (=?UTF-8?B?SGVydsOpIFBhZ8Oocw==?=)
Date: Thu, 9 Sep 2021 17:54:06 -0700
Subject: [Rd] Unneeded if statements in RealFromComplex C code
Message-ID: <af8f0c90-b643-3151-82ba-4e3efccb1e1f@gmail.com>

Hi,

I just stumbled across these 2 lines in RealFromComplex (lines 208 & 209 
in src/main/coerce.c):

   double attribute_hidden

   RealFromComplex(Rcomplex x, int *warn)

   {

       if (ISNAN(x.r) || ISNAN(x.i))

           return NA_REAL;

       if (ISNAN(x.r)) return x.r;
               <- line 208
       if (ISNAN(x.i)) return NA_REAL;
           <- line 209
       if (x.i != 0)

           *warn |= WARN_IMAG;

       return x.r;

   }


They were added in 2015 (revision 69410).

They don't serve any purpose and might slow things down a little (unless 
compiler optimization is able to ignore them). In any case they should 
probably be removed.

Cheers,
H.

-- 
Herv? Pag?s

Bioconductor Core Team
hpages.on.github at gmail.com



[Rd] Unneeded if statements in RealFromComplex C code
=?UTF-8?B?SGVydsOpIFBhZ8Oocw==?=