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)


Theodore Papadopoulo wrote:
> 
> 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.

hmm, it seems I forget my numerical experiences. but the original 
problem with norm still apply (there cant be overflow and will be much
faster).

 -- Levente                               "Si vis pacem para bellum!"


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