This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: this seems to lost (complex norm, abs)




lfarkas@mindmaker.hu said:
> it contains 2 abs, 2 addition, 2 division, 3 multilication and 1 sqrt
> may be a few cosine and tan help a bit more:-) while the trivial
> "grammar school implementation": sqrt(norm(__z)) 
> contains 1 addition, 2 multilication, 1 sqrt
> so why we use it? may be in case of __z == 0 it's faster a bit, so an

This is done to avoid overflow. Take eg, x = sqrt(DOUBLE_MAX)+epsilon 
and y=0, your formula will overflow (yelding +Infinity) while the used formula 
will give the proper result.


--------------------------------------------------------------------
Theodore Papadopoulo
Email: Theodore.Papadopoulo@sophia.inria.fr Tel: (33) 04 92 38 76 01
 --------------------------------------------------------------------


PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]