summaryrefslogtreecommitdiff
path: root/src/div.c
Commit message (Collapse)AuthorAgeFilesLines
* Untabified and removed trailing spaces.vlefevre2011-08-011-4/+4
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7778 280ebfd0-de03-0410-8827-d642c229c3f4
* Added tuning for MPFR_DIV_THRESHOLD, and default value.zimmerma2011-07-311-4/+0
| | | | | | | It now remains to do the tuning on the architectures in mparam_in.h. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7768 280ebfd0-de03-0410-8827-d642c229c3f4
* [mulders.c] fixed bug in mpfr_divhigh_n (this routine was not used yet)zimmerma2011-07-291-5/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [div.c] now use Mulders' short product for large division. It remains to do the automatic tuning of MPFR_DIV_THRESHOLD. The speedup is nice, for example on my Core 2 Duo laptop we got with MPFR 3.0.0: [zimmerma@coing tests]$ ./timings-mpfr 1000 Using MPFR-3.0.0 with GMP-5.0.2 [precision is 3322 bits] x*y took 0.004543 ms (262143 eval in 1191 ms) x*x took 0.003616 ms (524287 eval in 1896 ms) x/y took 0.009087 ms (131071 eval in 1191 ms) sqrt(x) took 0.007004 ms (262143 eval in 1836 ms) exp(x) took 0.293040 ms (4095 eval in 1200 ms) log(x) took 0.253724 ms (4095 eval in 1039 ms) sin(x) took 0.306960 ms (4095 eval in 1257 ms) cos(x) took 0.290842 ms (4095 eval in 1191 ms) arccos(x) took 0.590620 ms (2047 eval in 1209 ms) arctan(x) took 0.560332 ms (2047 eval in 1147 ms) and now we get: [zimmerma@coing tests]$ ./timings-mpfr 1000 Using MPFR-3.1.0-dev with GMP-5.0.2 [precision is 3322 bits] x*y took 0.004444 ms (262143 eval in 1165 ms) x*x took 0.002686 ms (524287 eval in 1408 ms) x/y took 0.006989 ms (262143 eval in 1832 ms) sqrt(x) took 0.007084 ms (262143 eval in 1857 ms) exp(x) took 0.292063 ms (4095 eval in 1196 ms) log(x) took 0.246886 ms (4095 eval in 1011 ms) sin(x) took 0.259096 ms (4095 eval in 1061 ms) cos(x) took 0.244933 ms (4095 eval in 1003 ms) arccos(x) took 0.556424 ms (2047 eval in 1139 ms) arctan(x) took 0.526624 ms (2047 eval in 1078 ms) We see that other routines also benefit from the speedup in mpfr_sqr and mpfr_div (log, sin, cos, arccos, arctan). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7765 280ebfd0-de03-0410-8827-d642c229c3f4
* Get rid of deprecated register_printf_function function in logging system.thevenyp2011-03-171-2/+5
| | | | git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7575 280ebfd0-de03-0410-8827-d642c229c3f4
* Added new types mpfr_limb_ptr and mpfr_limb_srcptr to src/mpfr-impl.h,vlefevre2011-02-091-10/+12
| | | | | | | and replaced mp_ptr and mp_srcptr (GMP internals) by these 2 new types respectively. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7455 280ebfd0-de03-0410-8827-d642c229c3f4
* Copyright notice update: added 2011 withvlefevre2011-01-171-1/+1
| | | | | | | | perl -pi -e 's/2010 Free Software/2010, 2011 Free Software/' **/*(^/) under zsh, reverting the ChangeLog file and the m4 and tools/mbench directories. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7389 280ebfd0-de03-0410-8827-d642c229c3f4
* [src/div.c] Set the division-by-zero flag.vlefevre2011-01-141-0/+2
| | | | | | | [tests/tdiv.c, tests/td_div.c] Updated and improved the test of special cases. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7351 280ebfd0-de03-0410-8827-d642c229c3f4
* Added MPFR_TMP_LIMBS_ALLOC macro and updated the source to use it.vlefevre2010-12-171-4/+4
| | | | | | tools/mpfrlint: check its use instead of MPFR_TMP_ALLOC. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7300 280ebfd0-de03-0410-8827-d642c229c3f4
* Source reorganization. In short:vlefevre2010-08-171-0/+676
* Added directories and moved related files into them: - src for the MPFR source files (to build the library). - doc for documentation files (except INSTALL, README...). - tools for various tools (scripts) and mbench. - tune for tuneup-related source files. - other for other source files (not distributed in tarballs). Existing directories: - tests for the source files of the test suite (make check). - examples for examples. - m4 for m4 files. * Renamed configure.in to configure.ac. * Added/updated Makefile.am files where needed. * Updated acinclude.m4 and configure.ac (AC_CONFIG_FILES line). * Updated the documentation (INSTALL, README, doc/README.dev and doc/mpfr.texi). * Updated NEWS and TODO. * Updated the scripts now in tools. The following script was used: #!/usr/bin/env zsh svn mkdir doc other src tools tune svn mv ${${(M)$(sed -n '/libmpfr_la_SOURCES/,/[^\]$/p' \ Makefile.am):#*.[ch]}:#get_patches.c} mparam_h.in \ round_raw_generic.c jyn_asympt.c src svn mv mbench check_inits_clears coverage get_patches.sh mpfrlint \ nightly-test update-patchv update-version tools svn mv bidimensional_sample.c speed.c tuneup.c tune svn mv *.{c,h} other svn mv FAQ.html README.dev algorithm* faq.xsl fdl.texi mpfr.texi \ update-faq doc svn mv configure.in configure.ac svn cp Makefile.am src/Makefile.am svn rm replace_all [Modifying some files, see above] svn add doc/Makefile.am svn add tune/Makefile.am git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7087 280ebfd0-de03-0410-8827-d642c229c3f4