mirror of
https://review.haiku-os.org/buildtools
synced 2024-11-23 07:18:49 +01:00
92 lines
3.8 KiB
Plaintext
92 lines
3.8 KiB
Plaintext
From Andreas Enge 22 July 2016:
|
|
Now that mpfr-3 is the minimum version requirement, support the
|
|
MPFR_RNDA rounding mode.
|
|
|
|
From Joseph Myers 12 Apr 2015:
|
|
http://lists.gforge.inria.fr/pipermail/mpc-discuss/2015-April/001347.html
|
|
Try implementing tan z = (sin 2x + i sinh 2y) / (cos 2x + cosh 2y) or
|
|
(sin(x)*cos(x) + i*sinh(y)*cosh(y))/(cos(x)^2 + sinh(y)^2) as in glibc.
|
|
|
|
From Karim Belabas 9 Jan 2014:
|
|
Implement Hurwitz(s,x) -> gives Zeta for x=1.
|
|
Cf http://arxiv.org/abs/1309.2877
|
|
|
|
From Andreas Enge 27 August 2012:
|
|
Implement im(atan(x+i*y)) as
|
|
1/4 * [log1p (4y / (x^2 +(1-y)^2))]
|
|
(see http://lists.gforge.inria.fr/pipermail/mpc-discuss/2012-August/001196.html)
|
|
|
|
From Andreas Enge 23 July 2012:
|
|
go through tests and move them to the data files if possible
|
|
(see, for instance, tcos.c)
|
|
|
|
From Andreas Enge 31 August 2011:
|
|
implement mul_karatsuba with three multiplications at precision around p,
|
|
instead of two at precision 2*p and one at precision p
|
|
requires analysis of error propagation
|
|
|
|
From Andreas Enge and Paul Zimmermann 6 July 2012:
|
|
Improve speed of Im (atan) for x+i*y with small y, for instance by using
|
|
the Taylor series directly. See also the discussion
|
|
http://lists.gforge.inria.fr/pipermail/mpc-discuss/2012-August/001196.html
|
|
and the timing program on
|
|
http://lists.gforge.inria.fr/pipermail/mpc-discuss/2013-August/001254.html
|
|
|
|
For example with Sage 5.11:
|
|
sage: %timeit atan(MPComplexField()(1,1))
|
|
10000 loops, best of 3: 42.2 us per loop
|
|
sage: %timeit atan(MPComplexField()(1,1e-1000))
|
|
100 loops, best of 3: 5.29 ms per loop
|
|
|
|
Same for asin:
|
|
sage: %timeit asin(MPComplexField()(1,1))
|
|
10000 loops, best of 3: 83.7 us per loop
|
|
sage: %timeit asin(MPComplexField()(1,1e-1000))
|
|
100 loops, best of 3: 17 ms per loop
|
|
-> should be much faster with revision 1402 (check)
|
|
|
|
Same for acos:
|
|
sage: %timeit acos(MPComplexField()(1,1))
|
|
10000 loops, best of 3: 90.8 us per loop
|
|
sage: %timeit acos(MPComplexField()(1,1e-1000))
|
|
1 loops, best of 3: 2.29 s per loop
|
|
|
|
Same for asinh:
|
|
sage: %timeit asinh(MPComplexField()(1,1))
|
|
10000 loops, best of 3: 84 us per loop
|
|
sage: %timeit asinh(MPComplexField()(1,1e-1000))
|
|
100 loops, best of 3: 2.1 ms per loop
|
|
|
|
sage: %timeit acosh(MPComplexField()(1,1))
|
|
10000 loops, best of 3: 92 us per loop
|
|
sage: %timeit acosh(MPComplexField()(1,1e-1000))
|
|
1 loops, best of 3: 2.28 s per loop
|
|
|
|
Bench:
|
|
- from Andreas Enge 9 June 2009:
|
|
Scripts and web page comparing timings with different systems,
|
|
as done for mpfr at http://www.mpfr.org/mpfr-2.4.0/timings.html
|
|
|
|
New functions to implement:
|
|
- from Joseph S. Myers <joseph at codesourcery dot com> 19 Mar 2012: mpc_erf,
|
|
mpc_erfc, mpc_exp2, mpc_expm1, mpc_log1p, mpc_log2, mpc_lgamma, mpc_tgamma
|
|
http://lists.gforge.inria.fr/pipermail/mpc-discuss/2012-March/001090.html
|
|
See the article by Pascal Molin (hal.archives-ouvertes.fr/hal-00580855).
|
|
- from Andreas Enge and Philippe Théveny 17 July 2008
|
|
agm (and complex logarithm with agm ?). For the error analysis, one can
|
|
start from Theorem 1 of http://www.lix.polytechnique.fr/Labo/Regis.Dupont/preprints/Dupont_FastEvalMod.ps.gz, and probably the best is to compute AGM(a,b)
|
|
as a*AGM(1,b/a) with |b/a| <= 1. In such a way, after one step all values
|
|
are in the same quadrant, and no cancellation occurs any more.
|
|
- implement a root-finding algorithm using the Durand-Kerner method
|
|
(cf http://en.wikipedia.org/wiki/Durand%E2%80%93Kerner_method).
|
|
See also the CEVAL algorithm from Yap and Sagraloff:
|
|
http://www.mpi-inf.mpg.de/~msagralo/ceval.pdf
|
|
A good starting point for the Durand-Kerner and Aberth methods is the
|
|
paper by Dario Bini "Numerical computation of polynomial zeros by means of
|
|
Aberth's method", Numerical Algorithms 13 (1996), 179-200.
|
|
|
|
New tests to add:
|
|
- from Andreas Enge and Philippe Théveny 9 April 2008
|
|
correct handling of Nan and infinities in the case of
|
|
intermediate overflows while the result may fit (we need special code)
|