5.004_02: Complex/Trig: update
authorJarkko Hietaniemi <jhi@iki.fi>
Fri, 5 Sep 1997 00:00:00 +0000 (00:00 +0000)
committerTim Bunce <Tim.Bunce@ig.co.uk>
Thu, 4 Sep 1997 12:00:00 +0000 (00:00 +1200)
commit8c03c583a5f470c68c67a27898643a5dafca2d66
treefb0459770a78016ed548c88dd2d66e28fe6a8f28
parent687277c3db608708e6f760adc8a7c426df7f12e2
5.004_02: Complex/Trig: update

The following patches do not fix actual grave errors but they do:

- make the code more robust (more discontinuities catched)
  (e.g. atan(-i), atanh(-1))
- make the results agree on signs and/or conjugate forms with the
  results MATLAB gives: the results were already correct thanks to
  the periodicity of trig funcs but now they are also consistent.
  (e.g. acos(x) did have an unnecessary discontinuity at x = 0)
- for some pure real arguments short-circuit the calculation
  to avoid rounding errors (which make epsilons appear where
  clear zeros should reign)

Tested on NetBSD 1.2G i686, Linux 2.0.25 i686, Digital UNIX 4.0 EV56.

p5p-msgid: 199708081842.VAA31214@alpha.hut.fi
lib/Math/Complex.pm
lib/Math/Trig.pm
t/lib/complex.t