summaryrefslogtreecommitdiff
path: root/atan.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Optimize by increasing with BITS_PER_MP_LIMB instead of log2(prec)pelissip2004-12-101-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3130 280ebfd0-de03-0410-8827-d642c229c3f4
* Clean up code (Fix integer types + rewrite some code).pelissip2004-12-101-127/+74
| | | | | | | Optimize the code by reducing the number of used variables inside the loop. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3129 280ebfd0-de03-0410-8827-d642c229c3f4
* Replace use of mpfr_save_emin_emax () / mpfr_restore_emin_emax()pelissip2004-11-181-12/+8
| | | | | | | | by MPFR_SAVE_EXPO macros (DECL, MARK and FREE) which are faster and thread safe. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3100 280ebfd0-de03-0410-8827-d642c229c3f4
* Refix another bug (The same).pelissip2004-11-151-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3085 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix a bug (Use __gmpfr_ceil_log2 instead of MPFR_INT_CEIL_LOG2).pelissip2004-11-151-1/+1
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3084 280ebfd0-de03-0410-8827-d642c229c3f4
* Replace __gmpfr_ceil_log2 by MPFR_INT_CEIL_LOG2 when possible.pelissip2004-11-101-5/+7
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3076 280ebfd0-de03-0410-8827-d642c229c3f4
* Unlikely some tests.pelissip2004-06-161-3/+2
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2927 280ebfd0-de03-0410-8827-d642c229c3f4
* Fix overflow and add corresponding tests.pelissip2004-05-061-1/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2908 280ebfd0-de03-0410-8827-d642c229c3f4
* improved coverage testzimmerma2004-02-131-35/+37
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2698 280ebfd0-de03-0410-8827-d642c229c3f4
* + Better support of non IEEE doubles.pelissip2004-02-061-3/+1
| | | | | | | + You can compile MPFR without gmp internal files (ie gmp-impl.h, gmp-mparam.h, and config.h). You only need gmp.h and libgmp.a. But you can still compile with GMP internal files (configure detects them). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2665 280ebfd0-de03-0410-8827-d642c229c3f4
* fixed bugs in atan cbrt erfzimmerma2004-01-271-1/+2
| | | | | | | added new hard-coded tests git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2648 280ebfd0-de03-0410-8827-d642c229c3f4