[gmp-ecm] 64/77: Imported Upstream version 6.4.1-rc3

Jerome Benoit calculus-guest at moszumanska.debian.org
Sat Jun 6 12:33:55 UTC 2015


This is an automated email from the git hooks/post-receive script.

calculus-guest pushed a commit to branch master
in repository gmp-ecm.

commit 6177b222b95587320488c957c3221963c18a1702
Author: Laurent Fousse <laurent at komite.net>
Date:   Wed Mar 14 19:06:37 2012 -0700

    Imported Upstream version 6.4.1-rc3
---
 ChangeLog                                          | 308 +++++++++++++++++++++
 build.vc10/bench_mulredc/.svn/dir-prop-base        |   6 +
 build.vc10/bench_mulredc/.svn/entries              |  62 +----
 .../bench_mulredc.vcxproj.filters.svn-base         |   8 -
 .../.svn/text-base/bench_mulredc.vcxproj.svn-base  |   4 -
 .../text-base/bench_mulredc.vcxproj.user.svn-base  |   3 -
 build.vc10/bench_mulredc/Makefile                  |   6 +-
 build.vc10/bench_mulredc/bench_mulredc.vcxproj     |   4 -
 .../bench_mulredc/bench_mulredc.vcxproj.filters    |   8 -
 .../bench_mulredc/bench_mulredc.vcxproj.user       |   3 -
 build.vc10/config.h                                |   2 +-
 configure                                          |  22 +-
 configure.in                                       |   2 +-
 ecm-params.h                                       |  32 +--
 ecm-params.h.athlon64                              |  38 ++-
 ecm-params.h.corei5                                |  39 ++-
 mpzspv.c                                           |  64 +++--
 sp.h                                               |   4 +-
 18 files changed, 453 insertions(+), 162 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5517174..e3e7a7f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,312 @@
 ------------------------------------------------------------------------
+r1831 | zimmerma | 2012-03-13 13:47:38 +0100 (Tue, 13 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/mpzspv.c
+
+[mpzspv.c] removed call to ecm_bdiv_r_1 since it is not working
+
+------------------------------------------------------------------------
+r1830 | zimmerma | 2012-03-13 13:15:09 +0100 (Tue, 13 Mar 2012) | 5 lines
+Changed paths:
+   M /trunk/ecm-params.h.corei5
+   M /trunk/mpzspv.c
+
+[ecm-params.h.corei5] updated
+[mpzspv.c] removed new code with mpn_preinv_mod_1() in mpzspv_from_mpzv_slow
+	   since it was wrong (added comment explaining why)
+	   added new ecm_bdiv_r_1 code (disabled for now)
+
+------------------------------------------------------------------------
+r1829 | brian_gladman | 2012-03-13 10:22:16 +0100 (Tue, 13 Mar 2012) | 1 line
+Changed paths:
+   M /trunk/build.vc10/bench_mulredc/bench_mulredc.vcxproj
+   M /trunk/build.vc10/bench_mulredc/bench_mulredc.vcxproj.filters
+   M /trunk/sp.h
+
+ensure ATTRIBUTE_UNUSED is defined as empty for MSVC in sp.h
+------------------------------------------------------------------------
+r1828 | bouvierc | 2012-03-13 09:47:07 +0100 (Tue, 13 Mar 2012) | 3 lines
+Changed paths:
+   M /trunk/gpu/gpu_ecm/Makefile
+   M /trunk/gpu/gpu_ecm/cudakernel.cu
+
+[cudakernel.cu] Fix a bug
+[Makefile] Add 32-bit lib for CUDA 
+
+------------------------------------------------------------------------
+r1827 | brian_gladman | 2012-03-13 09:43:40 +0100 (Tue, 13 Mar 2012) | 1 line
+Changed paths:
+   M /trunk/build.vc10/bench_mulredc
+   D /trunk/build.vc10/bench_mulredc/bench_mulredc.vcxproj.user
+
+remove file uploaded in error
+------------------------------------------------------------------------
+r1826 | zimmerma | 2012-03-13 09:24:34 +0100 (Tue, 13 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/ecm-params.h.athlon64
+
+[ecm-params.h.athlon64] redo tuning
+
+------------------------------------------------------------------------
+r1825 | zimmerma | 2012-03-13 08:46:17 +0100 (Tue, 13 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/README
+   M /trunk/bench_mulredc.c
+
+changes suggested by David Cleaver for Windows+MingW64+Msys
+
+------------------------------------------------------------------------
+r1824 | zimmerma | 2012-03-13 08:30:42 +0100 (Tue, 13 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/sp.h
+
+[sp.h] removed more compiler warnings (on gcc110)
+
+------------------------------------------------------------------------
+r1823 | zimmerma | 2012-03-13 08:17:49 +0100 (Tue, 13 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/eval.c
+
+[eval.c] fixed compiler warnings (found on gcc70)
+
+------------------------------------------------------------------------
+r1822 | zimmerma | 2012-03-12 23:00:07 +0100 (Mon, 12 Mar 2012) | 4 lines
+Changed paths:
+   M /trunk/configure.in
+   M /trunk/mpzspv.c
+   M /trunk/spm.c
+
+[mpzspv.c] use __gmpn_preinv_mod_1 in mpzspv_from_mpzv_slow()
+[configure.in] recognize __gmpn_preinv_mod_1
+[spm.c] fixed typo
+
+------------------------------------------------------------------------
+r1821 | zimmerma | 2012-03-12 19:59:40 +0100 (Mon, 12 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/test.ecm
+
+[test.ecm] modified batch1 test which was not working on 32-bit
+
+------------------------------------------------------------------------
+r1820 | zimmerma | 2012-03-12 18:25:09 +0100 (Mon, 12 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/test.ecm
+
+[test.ecm] added two non-regression tests for bug fixed by r1819
+
+------------------------------------------------------------------------
+r1819 | zimmerma | 2012-03-12 17:43:22 +0100 (Mon, 12 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/mpmod.c
+
+[mpmod.c] fixed bug in mpresn_addsub (found on gcc45)
+
+------------------------------------------------------------------------
+r1818 | zimmerma | 2012-03-12 16:18:22 +0100 (Mon, 12 Mar 2012) | 5 lines
+Changed paths:
+   M /trunk/bench_mulredc.c
+
+[bench_mulredc.c] use same cputime() function as in auxlib.c
+		  (should work on Windows too) and setup number of iterations
+		  to get about 100ms for each test (avoid long time on slow
+		  computers)
+
+------------------------------------------------------------------------
+r1817 | zimmerma | 2012-03-12 14:48:29 +0100 (Mon, 12 Mar 2012) | 7 lines
+Changed paths:
+   M /trunk/COPYING
+   M /trunk/COPYING.LIB
+   M /trunk/Makefile.am
+   M /trunk/NEWS
+   M /trunk/bench_mulredc.c
+   M /trunk/longlong.h
+   M /trunk/mpmod.c
+   M /trunk/pm1fs2.c
+
+[COPYING,COPYING.LIB] switched to GPL v3 and LGPL v3
+[bench_mulredc.c,Makefile.am] fix for --disable-asm-redc
+[NEWS] added new items
+[longlong.h] copied umul_ppmm code for MIPS from GMP 5.0.4
+[mpmod.c] now use mulredc_1 when available
+[pm1fs2.c] fixed issue when sizeof(unsigned long) < sizeof(sp_t)
+
+------------------------------------------------------------------------
+r1816 | brian_gladman | 2012-03-12 12:28:43 +0100 (Mon, 12 Mar 2012) | 1 line
+Changed paths:
+   D /trunk/build.vc10/ecm.cuda.sln
+   A /trunk/build.vc10/gpu_ecm.sln (from /trunk/build.vc10/ecm.cuda.sln:1814)
+
+rename the Visual Studio solution for the gpu build to gpu_ecm  
+------------------------------------------------------------------------
+r1815 | brian_gladman | 2012-03-12 12:21:16 +0100 (Mon, 12 Mar 2012) | 1 line
+Changed paths:
+   A /trunk/build.vc10/getopt.c
+   A /trunk/build.vc10/getopt.h
+
+add files needed for the gpu build with MS Visual Studio and Nvidia Nsight 
+------------------------------------------------------------------------
+r1814 | brian_gladman | 2012-03-12 12:05:58 +0100 (Mon, 12 Mar 2012) | 1 line
+Changed paths:
+   M /trunk/build.vc10/config.h
+
+update to match MPIR 2.5.1 (which now has mpn_redc_2) 
+------------------------------------------------------------------------
+r1813 | zimmerma | 2012-03-12 09:25:24 +0100 (Mon, 12 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/bench_mulredc.c
+
+[bench_mulredc.c] fixed compiler warning
+
+------------------------------------------------------------------------
+r1809 | zimmerma | 2012-03-11 18:55:19 +0100 (Sun, 11 Mar 2012) | 3 lines
+Changed paths:
+   M /trunk/batch.c
+   M /trunk/build.vc10/config.h
+   M /trunk/configure.in
+
+[batch.c] fixed bug since d_1 might not fit in an "unsigned long" on Windows
+[configure.in,build.vc10/config.h] bump version number to 6.4.1-rc2
+
+------------------------------------------------------------------------
+r1808 | zimmerma | 2012-03-10 11:47:44 +0100 (Sat, 10 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/ecm-params.h.athlon64
+   M /trunk/ecm-params.h.core2
+   M /trunk/ecm-params.h.corei5
+
+added tuning parameters for MPIR
+
+------------------------------------------------------------------------
+r1807 | zimmerma | 2012-03-10 11:26:20 +0100 (Sat, 10 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/configure.in
+
+[configure.in] recognize if GMP is MPIR
+
+------------------------------------------------------------------------
+r1806 | zimmerma | 2012-03-10 10:49:20 +0100 (Sat, 10 Mar 2012) | 3 lines
+Changed paths:
+   M /trunk/batch.c
+   M /trunk/ecm-impl.h
+   M /trunk/mpmod.c
+
+[mpmod.c] new function mpresn_unpad to normalize mpz_t values
+[batch.c] don't forget to normalize x1 and z1 at the end!!!
+
+------------------------------------------------------------------------
+r1805 | zimmerma | 2012-03-10 10:33:46 +0100 (Sat, 10 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/test.ecm
+
+[test.ecm] fixed for new batch1 reduction
+
+------------------------------------------------------------------------
+r1804 | zimmerma | 2012-03-09 22:50:17 +0100 (Fri, 09 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/README
+   M /trunk/bench_mulredc.c
+   M /trunk/configure.in
+   M /trunk/ecm-gmp.h
+   M /trunk/ecm-params.h.athlon64
+   M /trunk/ecm-params.h.core2
+   M /trunk/ecm-params.h.corei5
+   M /trunk/mpmod.c
+   M /trunk/mpmod.h
+   M /trunk/test_mulredc.c
+   M /trunk/x86_64/Makefile.am
+
+removed ecm_redc3 code from x86_64 (variable-size REDC assembly code)
+
+------------------------------------------------------------------------
+r1802 | zimmerma | 2012-03-09 18:21:09 +0100 (Fri, 09 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/mpmod.c
+
+[mpmod.c] fixed error when __gmpn_add_nc is not defined
+
+------------------------------------------------------------------------
+r1801 | zimmerma | 2012-03-09 18:13:48 +0100 (Fri, 09 Mar 2012) | 5 lines
+Changed paths:
+   M /trunk/batch.c
+   M /trunk/ecm-impl.h
+   M /trunk/ecm.c
+   M /trunk/main.c
+   M /trunk/mpmod.c
+   M /trunk/test.ecm
+
+Change the definition of d in batch1 mode from mp_limb_t to mp_limb_t/B
+so that we can use LSB (Montgomery) division instead of MSB division,
+this gives a nice speedup. However this changes the input parameter A,
+and some tests are still failing. Do not use this version in production!
+
+------------------------------------------------------------------------
+r1800 | bouvierc | 2012-03-09 15:21:35 +0100 (Fri, 09 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/gpu/gpu_ecm/Makefile
+
+Dependencies in Makefile for GPU-ECM
+
+------------------------------------------------------------------------
+r1799 | zimmerma | 2012-03-09 10:49:47 +0100 (Fri, 09 Mar 2012) | 6 lines
+Changed paths:
+   M /trunk/README.dev
+   M /trunk/batch.c
+   M /trunk/configure.in
+   M /trunk/ecm-impl.h
+   M /trunk/mpmod.c
+
+fixed various problems with ecm-6.4.1-rc1 reported by David Cleaver
+(http://lists.gforge.inria.fr/pipermail/ecm-discuss/2012-March/004144.html):
+* replaced unsigned long by mp_limb_t in batch=1 (under Windows, unsigned long
+  has 32 bits only)
+* configure.in: added -lm for mathematical functions
+
+------------------------------------------------------------------------
+r1798 | zimmerma | 2012-03-08 13:11:00 +0100 (Thu, 08 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/Makefile.am
+
+[Makefile.am] GMPLIB is not needed for libecm
+
+------------------------------------------------------------------------
+r1797 | zimmerma | 2012-03-08 10:11:52 +0100 (Thu, 08 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/sets_long.c
+
+[sets_long.c] added comments
+
+------------------------------------------------------------------------
+r1796 | zimmerma | 2012-03-08 08:40:29 +0100 (Thu, 08 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/Makefile.am
+
+[Makefile.am] forgot ecm-params.h.corei5
+
+------------------------------------------------------------------------
+r1795 | zimmerma | 2012-03-07 16:41:21 +0100 (Wed, 07 Mar 2012) | 2 lines
+Changed paths:
+   M /trunk/NEWS
+
+[NEWS] fixed typo
+
+------------------------------------------------------------------------
+r1794 | zimmerma | 2012-03-07 16:36:37 +0100 (Wed, 07 Mar 2012) | 7 lines
+Changed paths:
+   M /trunk/ChangeLog
+   M /trunk/INSTALL-ecm
+   M /trunk/NEWS
+   M /trunk/README.dev
+   M /trunk/bench_mulredc.c
+   M /trunk/ecmbench
+
+[bench_mulredc.c] fix for Svoboda
+[NEWS] updated for 6.4.1
+[ChangeLog] idem
+[INSTALL-ecm] ibidem
+[ecmbench] rm -> rm -f
+[README.dev] updated
+
+------------------------------------------------------------------------
 r1793 | bouvierc | 2012-03-07 15:12:28 +0100 (Wed, 07 Mar 2012) | 2 lines
 Changed paths:
    M /trunk/gpu/gpu_ecm/Makefile
diff --git a/build.vc10/bench_mulredc/.svn/dir-prop-base b/build.vc10/bench_mulredc/.svn/dir-prop-base
new file mode 100644
index 0000000..61415fd
--- /dev/null
+++ b/build.vc10/bench_mulredc/.svn/dir-prop-base
@@ -0,0 +1,6 @@
+K 10
+svn:ignore
+V 27
+bench_mulredc.vcxproj.user
+
+END
diff --git a/build.vc10/bench_mulredc/.svn/entries b/build.vc10/bench_mulredc/.svn/entries
index 871bb62..e7b18e5 100644
--- a/build.vc10/bench_mulredc/.svn/entries
+++ b/build.vc10/bench_mulredc/.svn/entries
@@ -1,16 +1,16 @@
 10
 
 dir
-1823
+1831
 svn+ssh://zimmerma@scm.gforge.inria.fr/svn/ecm/trunk/build.vc10/bench_mulredc
 svn+ssh://zimmerma@scm.gforge.inria.fr/svn/ecm
 
 
 
-2012-02-13T21:06:19.227914Z
-1741
+2012-03-13T09:22:16.911298Z
+1829
 brian_gladman
-
+has-props
 
 
 
@@ -26,50 +26,16 @@ brian_gladman
 
 404564d9-a503-0410-82bf-e18ce2cf3989
 

-bench_mulredc.vcxproj.user
-file
-
-
-
-
-2012-02-22T09:52:32.130267Z
-02816bcc1da4abf7ab716035d355eb7c
-2012-02-13T21:06:19.227914Z
-1741
-brian_gladman
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-143
-

 bench_mulredc.vcxproj
 file
 
 
 
 
-2012-02-22T09:52:32.136269Z
-052d3efdacd6f8a437b8d2cd17fb85a9
-2012-02-13T21:06:19.227914Z
-1741
+2012-03-13T10:31:16.906666Z
+9c53a18084ab5cf77f6063c4bd1f5f84
+2012-03-13T09:22:16.911298Z
+1829
 brian_gladman
 
 
@@ -92,7 +58,7 @@ brian_gladman
 
 
 
-9150
+9031
 

 Makefile.am
 file
@@ -134,10 +100,10 @@ file
 
 
 
-2012-02-22T09:52:32.147267Z
-077f74d12c91ab2a093960a1e676bb9f
-2012-02-13T21:06:19.227914Z
-1741
+2012-03-13T10:31:16.910671Z
+5e77f54e07b709ac0bc385ccd83161e4
+2012-03-13T09:22:16.911298Z
+1829
 brian_gladman
 
 
@@ -160,5 +126,5 @@ brian_gladman
 
 
 
-935
+710
 

diff --git a/build.vc10/bench_mulredc/.svn/text-base/bench_mulredc.vcxproj.filters.svn-base b/build.vc10/bench_mulredc/.svn/text-base/bench_mulredc.vcxproj.filters.svn-base
index 674b5ca..53554bc 100644
--- a/build.vc10/bench_mulredc/.svn/text-base/bench_mulredc.vcxproj.filters.svn-base
+++ b/build.vc10/bench_mulredc/.svn/text-base/bench_mulredc.vcxproj.filters.svn-base
@@ -14,13 +14,5 @@
     <ClCompile Include="..\..\bench_mulredc.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\getrusage.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\getrusage.h">
-      <Filter>Source Files</Filter>
-    </ClInclude>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/build.vc10/bench_mulredc/.svn/text-base/bench_mulredc.vcxproj.svn-base b/build.vc10/bench_mulredc/.svn/text-base/bench_mulredc.vcxproj.svn-base
index de65b4a..7dfa4f1 100644
--- a/build.vc10/bench_mulredc/.svn/text-base/bench_mulredc.vcxproj.svn-base
+++ b/build.vc10/bench_mulredc/.svn/text-base/bench_mulredc.vcxproj.svn-base
@@ -160,10 +160,6 @@
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="..\..\bench_mulredc.c" />
-    <ClCompile Include="..\getrusage.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\getrusage.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/build.vc10/bench_mulredc/.svn/text-base/bench_mulredc.vcxproj.user.svn-base b/build.vc10/bench_mulredc/.svn/text-base/bench_mulredc.vcxproj.user.svn-base
deleted file mode 100644
index 695b5c7..0000000
--- a/build.vc10/bench_mulredc/.svn/text-base/bench_mulredc.vcxproj.user.svn-base
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-</Project>
\ No newline at end of file
diff --git a/build.vc10/bench_mulredc/Makefile b/build.vc10/bench_mulredc/Makefile
index 584b1c2..ff05f17 100644
--- a/build.vc10/bench_mulredc/Makefile
+++ b/build.vc10/bench_mulredc/Makefile
@@ -108,10 +108,10 @@ OTOOL64 =
 PACKAGE = ecm
 PACKAGE_BUGREPORT = ecm-discuss at lists.gforge.inria.fr
 PACKAGE_NAME = ecm
-PACKAGE_STRING = ecm 6.4.1-rc2
+PACKAGE_STRING = ecm 6.4.1-rc3
 PACKAGE_TARNAME = ecm
 PACKAGE_URL = 
-PACKAGE_VERSION = 6.4.1-rc2
+PACKAGE_VERSION = 6.4.1-rc3
 PATH_SEPARATOR = :
 POW_LIB = 
 RANLIB = ranlib
@@ -120,7 +120,7 @@ SET_MAKE =
 SHELL = /bin/bash
 STRIP = strip
 VALGRIND = valgrind -q --error-exitcode=1
-VERSION = 6.4.1-rc2
+VERSION = 6.4.1-rc3
 XSLDIR = /usr/share/sgml/docbook/xsl-stylesheets-1.68.1-1.1
 XSLTPROC = 
 abs_builddir = /users/caramel/zimmerma/svn/ecm/build.vc10/bench_mulredc
diff --git a/build.vc10/bench_mulredc/bench_mulredc.vcxproj b/build.vc10/bench_mulredc/bench_mulredc.vcxproj
index de65b4a..7dfa4f1 100644
--- a/build.vc10/bench_mulredc/bench_mulredc.vcxproj
+++ b/build.vc10/bench_mulredc/bench_mulredc.vcxproj
@@ -160,10 +160,6 @@
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="..\..\bench_mulredc.c" />
-    <ClCompile Include="..\getrusage.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\getrusage.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/build.vc10/bench_mulredc/bench_mulredc.vcxproj.filters b/build.vc10/bench_mulredc/bench_mulredc.vcxproj.filters
index 674b5ca..53554bc 100644
--- a/build.vc10/bench_mulredc/bench_mulredc.vcxproj.filters
+++ b/build.vc10/bench_mulredc/bench_mulredc.vcxproj.filters
@@ -14,13 +14,5 @@
     <ClCompile Include="..\..\bench_mulredc.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\getrusage.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\getrusage.h">
-      <Filter>Source Files</Filter>
-    </ClInclude>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/build.vc10/bench_mulredc/bench_mulredc.vcxproj.user b/build.vc10/bench_mulredc/bench_mulredc.vcxproj.user
deleted file mode 100644
index 695b5c7..0000000
--- a/build.vc10/bench_mulredc/bench_mulredc.vcxproj.user
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-</Project>
\ No newline at end of file
diff --git a/build.vc10/config.h b/build.vc10/config.h
index a955002..6aee323 100644
--- a/build.vc10/config.h
+++ b/build.vc10/config.h
@@ -1,6 +1,6 @@
 /* config.h.in.  Generated from configure.in by autoheader.  */
 
-#define VERSION "6.4.1-rc2"
+#define VERSION "6.4.1-rc3"
 
 #define VERSION_GPU "gpu_ecm-win"
 
diff --git a/configure b/configure
index d260462..39ba7cc 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for ecm 6.4.1-rc2.
+# Generated by GNU Autoconf 2.68 for ecm 6.4.1-rc3.
 #
 # Report bugs to <ecm-discuss at lists.gforge.inria.fr>.
 #
@@ -570,8 +570,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='ecm'
 PACKAGE_TARNAME='ecm'
-PACKAGE_VERSION='6.4.1-rc2'
-PACKAGE_STRING='ecm 6.4.1-rc2'
+PACKAGE_VERSION='6.4.1-rc3'
+PACKAGE_STRING='ecm 6.4.1-rc3'
 PACKAGE_BUGREPORT='ecm-discuss at lists.gforge.inria.fr'
 PACKAGE_URL=''
 
@@ -1324,7 +1324,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures ecm 6.4.1-rc2 to adapt to many kinds of systems.
+\`configure' configures ecm 6.4.1-rc3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1394,7 +1394,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ecm 6.4.1-rc2:";;
+     short | recursive ) echo "Configuration of ecm 6.4.1-rc3:";;
    esac
   cat <<\_ACEOF
 
@@ -1514,7 +1514,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ecm configure 6.4.1-rc2
+ecm configure 6.4.1-rc3
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2064,7 +2064,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ecm $as_me 6.4.1-rc2, which was
+It was created by ecm $as_me 6.4.1-rc3, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -2888,7 +2888,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='ecm'
- VERSION='6.4.1-rc2'
+ VERSION='6.4.1-rc3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2950,7 +2950,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=ecm
- VERSION=6.4.1-rc2
+ VERSION=6.4.1-rc3
 
 
 cat >>confdefs.h <<_ACEOF
@@ -14949,7 +14949,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ecm $as_me 6.4.1-rc2, which was
+This file was extended by ecm $as_me 6.4.1-rc3, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15019,7 +15019,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-ecm config.status 6.4.1-rc2
+ecm config.status 6.4.1-rc3
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.in b/configure.in
index 7fa588e..41b0f00 100644
--- a/configure.in
+++ b/configure.in
@@ -1,4 +1,4 @@
-m4_define([ECM_VERSION], [6.4.1-rc2])
+m4_define([ECM_VERSION], [6.4.1-rc3])
 
 AC_PREREQ([2.57])
 AC_INIT([ecm], ECM_VERSION, [ecm-discuss at lists.gforge.inria.fr])
diff --git a/ecm-params.h b/ecm-params.h
index c7ce9ce..ac639f7 100644
--- a/ecm-params.h
+++ b/ecm-params.h
@@ -1,25 +1,25 @@
-/* updated 09 Mar 2012 on frite.loria.fr (AMD Phenom(tm) II X2 B55 Processor)
-   for ecm svn 1724 with GMP 5.0.4 */
+/* produced 11 Feb 2012 on coing.loria.fr with GMP 5.0.4 for ecm svn 1723
+   (Intel(R) Core(TM)2 Duo CPU     U9600  @ 1.60GHz) */
 
 #ifndef HAVE_MPIR
-/* 0:mulredc 1:mul+redc_1 2:mul+redc_2 3:mul+redc_n */
-#define TUNE_MULREDC_TABLE {0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,1,2,1,1,1,2}
-/* 0:mulredc 1:sqr+redc_1 2:sqr+redc_2 3:sqr+redc_n */
-#define TUNE_SQRREDC_TABLE {0,0,0,0,0,0,0,0,2,2,1,2,2,1,2,1,2,1,1,1,2}
+/* 0:mulredc 1:mul+redc_1 2:mul+redc_2 */
+#define TUNE_MULREDC_TABLE {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
+/* 0:mulredc 1:sqr+redc_1 2:sqr+redc_2 */
+#define TUNE_SQRREDC_TABLE {0,0,0,0,0,0,0,0,1,1,2,2,2,2,2,2,2,2,2,2,2}
 #else /* tuning parameters for MPIR 2.5.0 */
 /* 0:mulredc 1:mul+redc_1 2:mul+redc_2 3:mul+redc_n */
-#define TUNE_MULREDC_TABLE {0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1}
+#define TUNE_MULREDC_TABLE {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
 /* 0:mulredc 1:sqr+redc_1 2:sqr+redc_2 3:sqr+redc_n */
-#define TUNE_SQRREDC_TABLE {0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
+#define TUNE_SQRREDC_TABLE {0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1}
 #endif
 
-#define MPZMOD_THRESHOLD 103
-#define REDC_THRESHOLD 512
-#define MPN_MUL_LO_THRESHOLD_TABLE {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 8, 10, 11, 11, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 16, 18, 18, 18, 20}
-#define NTT_GFP_TWIDDLE_DIF_BREAKOVER 12
+#define MPZMOD_THRESHOLD 81
+#define REDC_THRESHOLD 491
+#define MPN_MUL_LO_THRESHOLD_TABLE {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 1, 10, 10, 1, 12, 12, 12, 16, 12, 13, 14, 15, 16, 17, 18, 19}
+#define NTT_GFP_TWIDDLE_DIF_BREAKOVER 16
 #define NTT_GFP_TWIDDLE_DIT_BREAKOVER 17
-#define MUL_NTT_THRESHOLD 256
+#define MUL_NTT_THRESHOLD 512
 #define PREREVERTDIVISION_NTT_THRESHOLD 16
-#define POLYINVERT_NTT_THRESHOLD 512
-#define POLYEVALT_NTT_THRESHOLD 128
-#define MPZSPV_NORMALISE_STRIDE 512
+#define POLYINVERT_NTT_THRESHOLD 128
+#define POLYEVALT_NTT_THRESHOLD 256
+#define MPZSPV_NORMALISE_STRIDE 64
diff --git a/ecm-params.h.athlon64 b/ecm-params.h.athlon64
index c7ce9ce..12531b1 100644
--- a/ecm-params.h.athlon64
+++ b/ecm-params.h.athlon64
@@ -1,25 +1,37 @@
-/* updated 09 Mar 2012 on frite.loria.fr (AMD Phenom(tm) II X2 B55 Processor)
-   for ecm svn 1724 with GMP 5.0.4 */
+/* tuned on frite.loria.fr (AMD Phenom(tm) II X2 B55 Processor) */
+
+#ifndef HAVE_MPIR /* tuning parameters for GMP, tuned with GMP 5.0.4 */
 
-#ifndef HAVE_MPIR
 /* 0:mulredc 1:mul+redc_1 2:mul+redc_2 3:mul+redc_n */
 #define TUNE_MULREDC_TABLE {0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,1,2,1,1,1,2}
 /* 0:mulredc 1:sqr+redc_1 2:sqr+redc_2 3:sqr+redc_n */
 #define TUNE_SQRREDC_TABLE {0,0,0,0,0,0,0,0,2,2,1,2,2,1,2,1,2,1,1,1,2}
-#else /* tuning parameters for MPIR 2.5.0 */
-/* 0:mulredc 1:mul+redc_1 2:mul+redc_2 3:mul+redc_n */
-#define TUNE_MULREDC_TABLE {0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1}
-/* 0:mulredc 1:sqr+redc_1 2:sqr+redc_2 3:sqr+redc_n */
-#define TUNE_SQRREDC_TABLE {0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
-#endif
-
-#define MPZMOD_THRESHOLD 103
+#define MPZMOD_THRESHOLD 21
 #define REDC_THRESHOLD 512
-#define MPN_MUL_LO_THRESHOLD_TABLE {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 8, 10, 11, 11, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 16, 18, 18, 18, 20}
+#define MPN_MUL_LO_THRESHOLD_TABLE {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 9, 10, 11, 10, 12, 12, 12, 14, 14, 16, 16, 16, 18, 19, 19, 20, 21, 18, 19}
 #define NTT_GFP_TWIDDLE_DIF_BREAKOVER 12
 #define NTT_GFP_TWIDDLE_DIT_BREAKOVER 17
 #define MUL_NTT_THRESHOLD 256
 #define PREREVERTDIVISION_NTT_THRESHOLD 16
 #define POLYINVERT_NTT_THRESHOLD 512
 #define POLYEVALT_NTT_THRESHOLD 128
-#define MPZSPV_NORMALISE_STRIDE 512
+#define MPZSPV_NORMALISE_STRIDE 128
+
+#else /* tuning parameters for MPIR, tuned with MPIR 2.5.1 */
+
+/* 0:mulredc 1:mul+redc_1 2:mul+redc_2 3:mul+redc_n */
+#define TUNE_MULREDC_TABLE {0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1}
+/* 0:mulredc 1:sqr+redc_1 2:sqr+redc_2 3:sqr+redc_n */
+#define TUNE_SQRREDC_TABLE {0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
+#define MPZMOD_THRESHOLD 21
+#define REDC_THRESHOLD 512
+#define MPN_MUL_LO_THRESHOLD_TABLE {0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 18, 20, 24}
+#define NTT_GFP_TWIDDLE_DIF_BREAKOVER 12
+#define NTT_GFP_TWIDDLE_DIT_BREAKOVER 17
+#define MUL_NTT_THRESHOLD 512
+#define PREREVERTDIVISION_NTT_THRESHOLD 32
+#define POLYINVERT_NTT_THRESHOLD 512
+#define POLYEVALT_NTT_THRESHOLD 256
+#define MPZSPV_NORMALISE_STRIDE 128
+
+#endif
diff --git a/ecm-params.h.corei5 b/ecm-params.h.corei5
index 6383ab0..11f8ae2 100644
--- a/ecm-params.h.corei5
+++ b/ecm-params.h.corei5
@@ -1,26 +1,37 @@
-/* updated 09 Mar 2012 on confit.loria.fr (Intel(R) Core(TM) i5-2500 CPU)
-   for svn revision 1724 with GMP 5.0.4 and gcc 4.6.1 */
+/* tuned on confit.loria.fr (Intel(R) Core(TM) i5-2500 CPU) */
+
+#ifndef HAVE_MPIR /* tuning parameters for GMP, tuned for GMP 5.0.4 */
 
-#ifndef HAVE_MPIR
-/* 0:mulredc 1:mul+redc_1 2:mul+redc_2 3:mul+redc_n */
-#define TUNE_MULREDC_TABLE {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0}
-/* 0:mulredc 1:sqr+redc_1 2:sqr+redc_2 3:sqr+redc_n */
-#define TUNE_SQRREDC_TABLE {0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,2,2}
-#else /* tuning parameters for MPIR 2.5.0 */
 /* 0:mulredc 1:mul+redc_1 2:mul+redc_2 3:mul+redc_n */
-#define TUNE_MULREDC_TABLE {0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,1,0,1,1}
+#define TUNE_MULREDC_TABLE {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
 /* 0:mulredc 1:sqr+redc_1 2:sqr+redc_2 3:sqr+redc_n */
 #define TUNE_SQRREDC_TABLE {0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1}
-#endif
-
-#define MPZMOD_THRESHOLD 77
+#define MPZMOD_THRESHOLD 21
 #define REDC_THRESHOLD 512
-#define MPN_MUL_LO_THRESHOLD_TABLE {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 11, 12, 12, 13, 14, 13, 14, 14, 16, 16, 16, 16, 16, 16}
+#define MPN_MUL_LO_THRESHOLD_TABLE {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 1, 10, 11, 11, 12, 11, 12, 13, 13, 13, 15, 15, 14, 15, 16, 17, 18, 19}
 #define NTT_GFP_TWIDDLE_DIF_BREAKOVER 17
 #define NTT_GFP_TWIDDLE_DIT_BREAKOVER 17
 #define MUL_NTT_THRESHOLD 256
 #define PREREVERTDIVISION_NTT_THRESHOLD 8
 #define POLYINVERT_NTT_THRESHOLD 128
-#define POLYEVALT_NTT_THRESHOLD 64
+#define POLYEVALT_NTT_THRESHOLD 128
 #define MPZSPV_NORMALISE_STRIDE 256
 
+#else /* tuning parameters for MPIR, tuned for MPIR 2.5.1 */
+
+/* 0:mulredc 1:mul+redc_1 2:mul+redc_2 3:mul+redc_n */
+#define TUNE_MULREDC_TABLE {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1}
+/* 0:mulredc 1:sqr+redc_1 2:sqr+redc_2 3:sqr+redc_n */
+#define TUNE_SQRREDC_TABLE {0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1}
+#define MPZMOD_THRESHOLD 21
+#define REDC_THRESHOLD 512
+#define MPN_MUL_LO_THRESHOLD_TABLE {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 1, 14, 14, 15, 17, 17, 17, 22}
+#define NTT_GFP_TWIDDLE_DIF_BREAKOVER 17
+#define NTT_GFP_TWIDDLE_DIT_BREAKOVER 17
+#define MUL_NTT_THRESHOLD 512
+#define PREREVERTDIVISION_NTT_THRESHOLD 16
+#define POLYINVERT_NTT_THRESHOLD 128
+#define POLYEVALT_NTT_THRESHOLD 256
+#define MPZSPV_NORMALISE_STRIDE 128
+
+#endif
diff --git a/mpzspv.c b/mpzspv.c
index 3da5747..21ec5c5 100644
--- a/mpzspv.c
+++ b/mpzspv.c
@@ -175,6 +175,42 @@ mpzspv_reverse (mpzspv_t x, spv_size_t offset, spv_size_t len, mpzspm_t mpzspm)
     }
 }
 
+#if 0
+/* Return {xp, xn} / B^(xn-1) mod d where B = 2^GMP_NUMB_LIMB.
+   Assume d < B - 1 */
+static mp_limb_t
+ecm_bdiv_r_1 (mp_ptr xp, mp_size_t xn, mp_limb_t d)
+{
+  mp_limb_t di, q, cy, hi, lo, x0, x1;
+
+  if (xn == 0)
+    return 0;
+  __gmpn_binvert (&di, &d, 1, &x0); /* di = 1/d mod B */
+  di = -di;                         /* -1/d mod B */
+  x0 = xp[0];
+  cy = (mp_limb_t) 0;
+  while (xn > 1)
+    {
+      /* Invariant: cy is the input carry on xp[1], x0 is xp[0] */
+      x1 = xp[1];
+      q = x0 * di; /* q = -x0/d mod B */
+      umul_ppmm (hi, lo, q, d); /* hi*B + lo = -x0 mod B */
+      /* Add hi*B + lo to x1*B + x0. Since d <= B-2 we have
+         hi*B + lo <= (B-1)(B-2) = B^2-3B+2, thus hi <= B-3 */
+      hi += cy + (lo != 0); /* cannot overflow */
+      x0 = x1 + hi;
+      cy = x0 < hi;
+      xn --;
+      xp ++;
+    }
+  if (cy != 0)
+    x0 -= d;
+  while (x0 >= d)
+    x0 -= d;
+  return x0;
+}
+#endif
+
 /* convert mpzvi to CRT representation, naive version */
 static void
 mpzspv_from_mpzv_slow (mpzspv_t x, const spv_size_t offset, mpz_t mpzvi,
@@ -191,32 +227,16 @@ mpzspv_from_mpzv_slow (mpzspv_t x, const spv_size_t offset, mpz_t mpzvi,
    *
    * It doesn't accept 0 as the dividend so we have to treat this case
    * separately */
+
+  /* Note: we can't use the mul_c field for mpn_preinv_mod_1, since on 64-bit
+     it is floor(2^125/sp) where sp has 62 bits, and mpn_preinv_mod_1 needs
+     floor(2^128/(4*sp))-2^64 = floor(2^126/sp)-2^64.
+     On 32-bit it is floor(2^62/sp) where sp has 31 bits, and mpn_preinv_mod_1
+     needs floor(2^64/(2*sp))-2^32 = floor(2^63/sp)-2^32. */
   
   for (j = 0; j < sp_num; j++)
-    {
-#if HAVE___GMPN_PREINV_MOD_1
-#if SP_NUMB_BITS == W_TYPE_SIZE - 2
-      /* mul_c is 2^(2*SP_NUMB_BITS+1)/sp where sp has SP_NUMB_BITS bits
-         therefore we must multiply mul_c by 2^(W_TYPE_SIZE-SP_NUMB_BITS-1) */
-    x[j][offset] = __gmpn_preinv_mod_1 (PTR(mpzvi), SIZ(mpzvi),
-              (mp_limb_t) mpzspm->spm[j]->sp << 2, mpzspm->spm[j]->mul_c << 1);
-    if (x[j][offset] >= (mpzspm->spm[j]->sp << 1))
-      x[j][offset] -= (mpzspm->spm[j]->sp << 1);
-#elif SP_NUMB_BITS == W_TYPE_SIZE - 1
-      /* mul_c is 2^(2*SP_NUMB_BITS)/sp where sp has SP_NUMB_BITS bits
-         therefore we must multiply mul_c by 2^(W_TYPE_SIZE-SP_NUMB_BITS) */
-    x[j][offset] = __gmpn_preinv_mod_1 (PTR(mpzvi), SIZ(mpzvi),
-              (mp_limb_t) mpzspm->spm[j]->sp << 1, mpzspm->spm[j]->mul_c << 1);
-#else
-#error "SP_NUMB_BITS should be W_TYPE_SIZE - 1 or -2"
-#endif
-    if (x[j][offset] >= mpzspm->spm[j]->sp)
-      x[j][offset] -= mpzspm->spm[j]->sp;
-#else
     x[j][offset] = mpn_mod_1 (PTR(mpzvi), SIZ(mpzvi),
                               (mp_limb_t) mpzspm->spm[j]->sp);
-#endif
-    }
   /* The typecast to mp_limb_t assumes that mp_limb_t is at least
      as wide as sp_t */
 }
diff --git a/sp.h b/sp.h
index 98ab2d1..4778fb7 100644
--- a/sp.h
+++ b/sp.h
@@ -47,13 +47,11 @@ extern size_t MPZSPV_NORMALISE_STRIDE;
 
 #include <gmp.h>
 
-#ifdef __GNUC__
-#if    __GNUC__ >= 3
+#if defined( __GNUC__ ) && __GNUC__ >= 3
 #define ATTRIBUTE_UNUSED __attribute__ ((unused))
 #else
 #define ATTRIBUTE_UNUSED
 #endif
-#endif
 
 /**************
  * GMP_IMPL.H *

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/gmp-ecm.git



More information about the debian-science-commits mailing list