summaryrefslogtreecommitdiff
path: root/atan.c
Commit message (Collapse)AuthorAgeFilesLines
* Copyright notice update: added 2010 withvlefevre2010-01-251-1/+1
| | | | | | | perl -pi -e 's/2009 Free Software/2009, 2010 Free Software/' **/*(^/) under zsh, reverting the ChangeLog file and the mbench directory. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/2.4@6688 280ebfd0-de03-0410-8827-d642c229c3f4
* atan.c: replaced the test oldn0 < 3*n0+1 by oldn0 < 3 * (n0 + 1) likevlefevre2009-09-291-1/+1
| | | | | | | | in the trunk (r6483). Since the expression 3 * (n0 + 1) is used later, this makes the code more readable; but as oldn0 is a multiple of 3, both tests are equivalent (and equivalent to oldn0 <= 3*n0). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/2.4@6500 280ebfd0-de03-0410-8827-d642c229c3f4
* tests/tatan.c: added testcase for bug found by Christopher Creutzigthevenyp2009-05-131-12/+27
| | | | | | | | | | | (atan2_different_prec). Check underflow of arctan(Inf) and arctan(1) with reduced exponent range. atan.c: fixed bug when x is very near but differs from 1 atan.c: expand exponent range when computing arctan(Inf) and arctan(+-1). [merge r6180 r6181 r6186 r6187 from trunk] git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/2.4@6214 280ebfd0-de03-0410-8827-d642c229c3f4
* atan.c: untabifythevenyp2009-05-131-3/+3
| | | | | | | [partial merge r6074 from trunk] git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/2.4@6202 280ebfd0-de03-0410-8827-d642c229c3f4
* atan.c: coverage should now be 100%thevenyp2009-05-131-5/+6
| | | | | | | | | atan2.c,tatan.c: reduced Ziv's initial precision and added test to have 100% coverage of atan2.c [merge r6066 r6067 from trunk with changes (MPFR_RNDX -> GMP_RNDX)] git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/2.4@6201 280ebfd0-de03-0410-8827-d642c229c3f4
* Copyright notice update: added 2009 withvlefevre2009-01-151-1/+1
| | | | | | | perl -pi -e 's/2008 Free Software/2008, 2009 Free Software/' **/*(^/) under zsh. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/2.4@5819 280ebfd0-de03-0410-8827-d642c229c3f4
* r5689 undone: some casts were incorrect (mp_exp_t may be greater thanvlefevre2008-11-221-2/+2
| | | | | | | | | mp_prec_t, so that casting a mp_exp_t into a mp_prec_t can introduce a bug). There may be bugs in some cases, but the casts fix the symptom, not the bug (unless one casts the unsigned type to a signed type that is *strictly* larger, which is not possible here). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@5690 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed some signed/unsigned warnings with g++ (please review)zimmerma2008-11-221-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@5689 280ebfd0-de03-0410-8827-d642c229c3f4
* This is now GNU MPFR!vlefevre2008-10-271-4/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@5654 280ebfd0-de03-0410-8827-d642c229c3f4
* final got rid of generic.c (bug 6199)zimmerma2008-09-161-13/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@5632 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed typo, added argument reduction for atan (we should try it since I believezimmerma2008-06-071-1/+1
| | | | | | | atan is slow wrt exp, log, sin, cos for large precisions) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@5378 280ebfd0-de03-0410-8827-d642c229c3f4
* Copyright notice update: added 2008 withvlefevre2008-01-011-1/+1
| | | | | | | | perl -pi -e 's/2007 Free Software/2007, 2008 Free Software/' **/*(^/) under zsh. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@5151 280ebfd0-de03-0410-8827-d642c229c3f4
* Untabified and removed trailing spaces.vlefevre2007-06-201-33/+33
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4553 280ebfd0-de03-0410-8827-d642c229c3f4
* Avoid integer overflow in MPFR_FAST_COMPUTE_IF_SMALL_INPUT.vlefevre2007-05-281-1/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4468 280ebfd0-de03-0410-8827-d642c229c3f4
* Added "Contributed by the Arenaire and Cacao projects, INRIA." to thevlefevre2007-02-071-0/+1
| | | | | | | copyright notices and removed a few old things. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4350 280ebfd0-de03-0410-8827-d642c229c3f4
* Copyright notice update: added 2007.vlefevre2007-01-101-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4326 280ebfd0-de03-0410-8827-d642c229c3f4
* Fixed FSF address.vlefevre2006-03-311-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4055 280ebfd0-de03-0410-8827-d642c229c3f4
* replaced 6th empty argument of MPFR_FAST_COMPUTE_IF_SMALL_INPUT by {}zimmerma2006-03-161-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4038 280ebfd0-de03-0410-8827-d642c229c3f4
* Added ', Inc.' when missing after 'Free Software Foundation'.vlefevre2006-01-051-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3985 280ebfd0-de03-0410-8827-d642c229c3f4
* Updated the copyright notices according to the new GNU rules on:vlefevre2006-01-051-1/+1
| | | | | | | | | | | http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices i.e. added 2006 to every MPFR file. Note: the copyright notices (currently 336) should match the regexp Copyright.* 2006 Free Software so that it will be easier to update them for the next year... git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3983 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed remaining problemszimmerma2005-11-021-2/+8
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3926 280ebfd0-de03-0410-8827-d642c229c3f4
* declared variables as mp_prec_t instead of intzimmerma2005-11-021-8/+10
| | | | | | | use MPFR_MPZ_SIZEINBASE2 instead of mpz_sizeinbase git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3924 280ebfd0-de03-0410-8827-d642c229c3f4
* factored calls to gmp_alloczimmerma2005-10-311-6/+4
| | | | | | | removed unused variables git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3917 280ebfd0-de03-0410-8827-d642c229c3f4
* improved atan (now can cut series before 2^m)zimmerma2005-10-311-69/+131
| | | | | | | revised error analysis and code of tanh git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3916 280ebfd0-de03-0410-8827-d642c229c3f4
* Converted tabs to spaces with expand.vlefevre2005-08-181-60/+60
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3725 280ebfd0-de03-0410-8827-d642c229c3f4
* Add experimental code (Disabled).pelissip2005-07-261-1/+9
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3681 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix bug of signed 0.pelissip2005-07-051-39/+38
| | | | | | | Optimize code. (20% for 53 bits). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3665 280ebfd0-de03-0410-8827-d642c229c3f4
* Simplify a condition which was always true.pelissip2005-06-281-14/+12
| | | | | | | (p is always negative). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3663 280ebfd0-de03-0410-8827-d642c229c3f4
* Add assertion.pelissip2005-06-281-0/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3662 280ebfd0-de03-0410-8827-d642c229c3f4
* Simplify code for final step (when i== n0):pelissip2005-06-281-13/+11
| | | | | | | | since we do n0-i=0 steps, atan(Ak/2^k) ~= Ak/2^k. So we could speed up the final computation (9% faster). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3661 280ebfd0-de03-0410-8827-d642c229c3f4
* Optimize: when computing arctan(p/2^r) simplifypelissip2005-06-281-47/+25
| | | | | | | | p/2^r if p is even. Clean up and remove tabi table. It was useless. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3660 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix warnings due to comparaison between signed and unsigned.pelissip2005-06-081-3/+3
| | | | | | | Reinclude string.h for strtofr. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3637 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix introduced bug due to missing NULL.pelissip2005-06-081-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3633 280ebfd0-de03-0410-8827-d642c229c3f4
* Clean up use of stdio.h:pelissip2005-06-081-2/+0
| | | | | | | | it is now included by mpfr-impl iff DEBUG is defined or WANT_ASSERT is defined. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3631 280ebfd0-de03-0410-8827-d642c229c3f4
* Use GROUP functions.pelissip2005-06-071-28/+11
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3621 280ebfd0-de03-0410-8827-d642c229c3f4
* Change the address of the FSF.pelissip2005-06-021-2/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3606 280ebfd0-de03-0410-8827-d642c229c3f4
* Add support for FAST_COMPUTE_IS_SMALL_INPUT.pelissip2005-05-131-5/+5
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3552 280ebfd0-de03-0410-8827-d642c229c3f4
* Add round_near_x support for small arguments.pelissip2005-05-131-0/+5
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3551 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix computing of `sup` to reflect what is decribed in algorithms.tex.pelissip2005-05-031-4/+5
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3522 280ebfd0-de03-0410-8827-d642c229c3f4
* Tiny optimization of mpfr_atan.pelissip2005-05-031-34/+16
| | | | | | | On opteron with p=53, from 9231 / 18049.89 / 81758 to 9004 / 17522.76 / 78601. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3521 280ebfd0-de03-0410-8827-d642c229c3f4
* Replace mpfr_can_round (..., GMP_RNDN, GMP_RNDZ, ...) to fast replacementpelissip2005-03-141-2/+2
| | | | | | | mpfr_round_p. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3388 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix bug in estimated error (See previous ChangeLog).pelissip2005-03-021-6/+7
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3354 280ebfd0-de03-0410-8827-d642c229c3f4
* Log input and ouput of functions.pelissip2005-02-151-0/+3
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3315 280ebfd0-de03-0410-8827-d642c229c3f4
* Add ZivLoop controler.pelissip2005-02-141-39/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3295 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix bug of atan(-1) (wrong sign).pelissip2005-02-041-1/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3276 280ebfd0-de03-0410-8827-d642c229c3f4
* Optimize mpfr_atan_aux by removing all power of 2 in the sum topelissip2005-01-141-43/+115
| | | | | | | | | | | reduce the size of the multiplication, normalize the input to extract as many zeros as possible and add a special case if the input is 1 (after normalisation). But it doesn't optimize too much... I need to invertigate a few more too understand what is still costly. It seems that mpz_mul is the most called function. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3190 280ebfd0-de03-0410-8827-d642c229c3f4
* Massive optimization of mpfr_atan (20x faster than 2.1.0 at 53 bits!)pelissip2005-01-121-64/+121
| | | | | | | Minor optimization of mpfr_acos git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3180 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix forgotten '2005' Line.pelissip2005-01-041-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3174 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix wrong inexact value (regression).pelissip2005-01-041-1/+1
| | | | | | | | | FIXME: It seems that adding MPFR_GET_EXP (xp) bits is too much (since previously it always add 0, but the results were quite always exact - this bug was only discovered under rare case). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3173 280ebfd0-de03-0410-8827-d642c229c3f4
* Optimize mpfr_atan.pelissip2004-12-161-22/+92
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3143 280ebfd0-de03-0410-8827-d642c229c3f4