You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(11) |
Jul
(43) |
Aug
(688) |
Sep
(96) |
Oct
(18) |
Nov
(17) |
Dec
(16) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
|
Feb
(18) |
Mar
(29) |
Apr
|
May
(23) |
Jun
(11) |
Jul
(46) |
Aug
(9) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
2007 |
Jan
(2) |
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(19) |
2008 |
Jan
(2) |
Feb
|
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
(3) |
Oct
(2) |
Nov
(2) |
Dec
(5) |
2009 |
Jan
(8) |
Feb
(3) |
Mar
(4) |
Apr
(17) |
May
|
Jun
(1) |
Jul
(1) |
Aug
(3) |
Sep
(2) |
Oct
(2) |
Nov
(12) |
Dec
(1) |
2010 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
(1) |
May
(6) |
Jun
(3) |
Jul
(2) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
2011 |
Jan
(6) |
Feb
(6) |
Mar
(1) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
(1) |
Dec
(1) |
2012 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
(9) |
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <brg...@us...> - 2009-08-30 15:17:00
|
Revision: 366 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=366&view=rev Author: brgladman Date: 2009-08-30 15:16:53 +0000 (Sun, 30 Aug 2009) Log Message: ----------- 1. Remove Windows build files for msieve 2. Add Visual Studio properties file to select GMP or MPIR library 3. Add Visual Studio build macro for the above - $(mp_lib) 4. Use it in all build projects and default it to MPIR Modified Paths: -------------- trunk/build.vc/vc9/ggnfs.sln trunk/build.vc/vc9/ggnfslib/ggnfslib.vcproj trunk/build.vc/vc9/gnfs-lasieve4I12e/gnfs-lasieve4I12e.vcproj trunk/build.vc/vc9/gnfs-lasieve4I13e/gnfs-lasieve4I13e.vcproj trunk/build.vc/vc9/gnfs-lasieve4I14e/gnfs-lasieve4I14e.vcproj trunk/build.vc/vc9/gnfs-lasieve4I15e/gnfs-lasieve4I15e.vcproj trunk/build.vc/vc9/gnfs-lasieve4I16e/gnfs-lasieve4I16e.vcproj trunk/build.vc/vc9/makefb/makefb.vcproj trunk/build.vc/vc9/matbuild/matbuild.vcproj trunk/build.vc/vc9/matbuild-tpie/matbuild-tpie.vcproj trunk/build.vc/vc9/matprune/matprune.vcproj trunk/build.vc/vc9/matsolve/matsolve.vcproj trunk/build.vc/vc9/pol51m0b/pol51m0b.vcproj trunk/build.vc/vc9/pol51m0bx/pol51m0bx.vcproj trunk/build.vc/vc9/pol51m0n/pol51m0n.vcproj trunk/build.vc/vc9/pol51opt/pol51opt.vcproj trunk/build.vc/vc9/pol51optx/pol51optx.vcproj trunk/build.vc/vc9/polyselect/polyselect.vcproj trunk/build.vc/vc9/procrels/procrels.vcproj trunk/build.vc/vc9/sieve/sieve.vcproj trunk/build.vc/vc9/sqrt/sqrt.vcproj Added Paths: ----------- trunk/build.vc/vc9/mp_lib.vsprops Removed Paths: ------------- trunk/build.vc/vc9/msieve/ Modified: trunk/build.vc/vc9/ggnfs.sln =================================================================== --- trunk/build.vc/vc9/ggnfs.sln 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/ggnfs.sln 2009-08-30 15:16:53 UTC (rev 366) @@ -82,8 +82,6 @@ {1BD758C0-741C-4E0A-AEBB-FE57A7882AB7} = {1BD758C0-741C-4E0A-AEBB-FE57A7882AB7} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msieve", "msieve\msieve.vcproj", "{8E8D155A-99EA-46D5-9823-ADA2D725B5C3}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pol51m0bx", "pol51m0bx\pol51m0bx.vcproj", "{CC20AECB-AF15-451C-8D78-F5DDACCECE99}" ProjectSection(ProjectDependencies) = postProject {1BD758C0-741C-4E0A-AEBB-FE57A7882AB7} = {1BD758C0-741C-4E0A-AEBB-FE57A7882AB7} @@ -240,13 +238,6 @@ {09584DF7-7448-4BA9-B99A-FD65DB25A179}.Release|Win32.Build.0 = Release|Win32 {09584DF7-7448-4BA9-B99A-FD65DB25A179}.Release|x64.ActiveCfg = Release|x64 {09584DF7-7448-4BA9-B99A-FD65DB25A179}.Release|x64.Build.0 = Release|x64 - {8E8D155A-99EA-46D5-9823-ADA2D725B5C3}.Debug|Win32.ActiveCfg = Debug|Win32 - {8E8D155A-99EA-46D5-9823-ADA2D725B5C3}.Debug|Win32.Build.0 = Debug|Win32 - {8E8D155A-99EA-46D5-9823-ADA2D725B5C3}.Debug|x64.ActiveCfg = Debug|Win32 - {8E8D155A-99EA-46D5-9823-ADA2D725B5C3}.Release|Win32.ActiveCfg = Release|Win32 - {8E8D155A-99EA-46D5-9823-ADA2D725B5C3}.Release|Win32.Build.0 = Release|Win32 - {8E8D155A-99EA-46D5-9823-ADA2D725B5C3}.Release|x64.ActiveCfg = Release|x64 - {8E8D155A-99EA-46D5-9823-ADA2D725B5C3}.Release|x64.Build.0 = Release|x64 {CC20AECB-AF15-451C-8D78-F5DDACCECE99}.Debug|Win32.ActiveCfg = Debug|Win32 {CC20AECB-AF15-451C-8D78-F5DDACCECE99}.Debug|Win32.Build.0 = Debug|Win32 {CC20AECB-AF15-451C-8D78-F5DDACCECE99}.Debug|x64.ActiveCfg = Debug|x64 Modified: trunk/build.vc/vc9/ggnfslib/ggnfslib.vcproj =================================================================== --- trunk/build.vc/vc9/ggnfslib/ggnfslib.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/ggnfslib/ggnfslib.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="4" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -52,7 +53,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_LIB" MinimalRebuild="false" BasicRuntimeChecks="3" @@ -100,6 +101,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="4" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -126,7 +128,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_LIB;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -174,6 +176,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="4" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -199,7 +202,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_LIB" RuntimeLibrary="0" BufferSecurityCheck="false" @@ -247,6 +250,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="4" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -273,7 +277,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_LIB;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" BufferSecurityCheck="false" @@ -296,7 +300,7 @@ /> <Tool Name="VCLibrarianTool" - AdditionalDependencies="..\..\..\..\gmp\build.vc9\lib\$(OutDir)\gmp.lib" + AdditionalDependencies="..\..\..\..\mpir\build.vc9\lib\$(OutDir)\mpir.lib" OutputFile="$(OutDir)\$(ProjectName).lib" AdditionalLibraryDirectories="" /> Modified: trunk/build.vc/vc9/gnfs-lasieve4I12e/gnfs-lasieve4I12e.vcproj =================================================================== --- trunk/build.vc/vc9/gnfs-lasieve4I12e/gnfs-lasieve4I12e.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/gnfs-lasieve4I12e/gnfs-lasieve4I12e.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -52,7 +53,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;I_bits=12" MinimalRebuild="false" BasicRuntimeChecks="3" @@ -118,6 +119,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -144,7 +146,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;I_bits=12;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -207,6 +209,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -236,7 +239,7 @@ FavorSizeOrSpeed="1" OmitFramePointers="true" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;I_bits=12" RuntimeLibrary="0" BufferSecurityCheck="false" @@ -298,6 +301,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -324,7 +328,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_CONSOLE;I_bits=12;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" BufferSecurityCheck="false" Modified: trunk/build.vc/vc9/gnfs-lasieve4I13e/gnfs-lasieve4I13e.vcproj =================================================================== --- trunk/build.vc/vc9/gnfs-lasieve4I13e/gnfs-lasieve4I13e.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/gnfs-lasieve4I13e/gnfs-lasieve4I13e.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -52,7 +53,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;I_bits=13;" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -114,6 +115,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -140,7 +142,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;I_bits=13;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -202,6 +204,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -230,7 +233,7 @@ FavorSizeOrSpeed="1" OmitFramePointers="true" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;I_bits=13;" RuntimeLibrary="0" BufferSecurityCheck="false" @@ -292,6 +295,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -318,7 +322,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_CONSOLE;I_bits=13;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" BufferSecurityCheck="false" Modified: trunk/build.vc/vc9/gnfs-lasieve4I14e/gnfs-lasieve4I14e.vcproj =================================================================== --- trunk/build.vc/vc9/gnfs-lasieve4I14e/gnfs-lasieve4I14e.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/gnfs-lasieve4I14e/gnfs-lasieve4I14e.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -52,7 +53,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;I_bits=14;" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -114,6 +115,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -140,7 +142,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;I_bits=14;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -202,6 +204,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -230,7 +233,7 @@ FavorSizeOrSpeed="1" OmitFramePointers="true" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;I_bits=14;" RuntimeLibrary="0" BufferSecurityCheck="false" @@ -292,6 +295,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -318,7 +322,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_CONSOLE;I_bits=14;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" BufferSecurityCheck="false" Modified: trunk/build.vc/vc9/gnfs-lasieve4I15e/gnfs-lasieve4I15e.vcproj =================================================================== --- trunk/build.vc/vc9/gnfs-lasieve4I15e/gnfs-lasieve4I15e.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/gnfs-lasieve4I15e/gnfs-lasieve4I15e.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -52,7 +53,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;I_bits=15;" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -114,6 +115,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -140,7 +142,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;I_bits=15;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -202,6 +204,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -230,7 +233,7 @@ FavorSizeOrSpeed="1" OmitFramePointers="true" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;I_bits=15;" RuntimeLibrary="0" BufferSecurityCheck="false" @@ -292,6 +295,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -318,7 +322,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_CONSOLE;I_bits=15;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" BufferSecurityCheck="false" Modified: trunk/build.vc/vc9/gnfs-lasieve4I16e/gnfs-lasieve4I16e.vcproj =================================================================== --- trunk/build.vc/vc9/gnfs-lasieve4I16e/gnfs-lasieve4I16e.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/gnfs-lasieve4I16e/gnfs-lasieve4I16e.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -52,7 +53,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;I_bits=16;" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -114,6 +115,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -140,7 +142,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;I_bits=16;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -202,6 +204,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -230,7 +233,7 @@ FavorSizeOrSpeed="1" OmitFramePointers="true" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;I_bits=16;" RuntimeLibrary="0" BufferSecurityCheck="false" @@ -292,6 +295,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -318,7 +322,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_CONSOLE;I_bits=16;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" BufferSecurityCheck="false" Modified: trunk/build.vc/vc9/makefb/makefb.vcproj =================================================================== --- trunk/build.vc/vc9/makefb/makefb.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/makefb/makefb.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -51,7 +52,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_MAKEFB_STANDALONE" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -113,6 +114,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -138,7 +140,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;_MAKEFB_STANDALONE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -200,6 +202,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -224,7 +227,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_MAKEFB_STANDALONE" RuntimeLibrary="0" BufferSecurityCheck="false" @@ -286,6 +289,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -311,7 +315,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_CONSOLE;_MAKEFB_STANDALONE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" BufferSecurityCheck="false" Modified: trunk/build.vc/vc9/matbuild/matbuild.vcproj =================================================================== --- trunk/build.vc/vc9/matbuild/matbuild.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/matbuild/matbuild.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -51,7 +52,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -113,6 +114,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -138,7 +140,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -200,6 +202,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -224,7 +227,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" RuntimeLibrary="0" UsePrecompiledHeader="0" @@ -285,6 +288,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -310,7 +314,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" UsePrecompiledHeader="0" Modified: trunk/build.vc/vc9/matbuild-tpie/matbuild-tpie.vcproj =================================================================== --- trunk/build.vc/vc9/matbuild-tpie/matbuild-tpie.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/matbuild-tpie/matbuild-tpie.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -24,6 +24,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -45,7 +46,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src;..\..\..\src\experimental;..\..\..\..\tpie\include" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src;..\..\..\src\experimental;..\..\..\..\tpie\include" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;GGNFS_TPIE" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -107,6 +108,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -129,7 +131,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src;..\..\..\src\experimental;..\..\..\..\tpie\include" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src;..\..\..\src\experimental;..\..\..\..\tpie\include" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;GGNFS_TPIE" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -191,6 +193,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -212,7 +215,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src;..\..\..\src\experimental;..\..\..\..\tpie\include" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src;..\..\..\src\experimental;..\..\..\..\tpie\include" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" RuntimeLibrary="0" UsePrecompiledHeader="0" @@ -273,6 +276,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -295,7 +299,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src;..\..\..\src\experimental;..\..\..\..\tpie\include" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src;..\..\..\src\experimental;..\..\..\..\tpie\include" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" RuntimeLibrary="0" UsePrecompiledHeader="0" Modified: trunk/build.vc/vc9/matprune/matprune.vcproj =================================================================== --- trunk/build.vc/vc9/matprune/matprune.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/matprune/matprune.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -51,7 +52,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -113,6 +114,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -138,7 +140,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -200,6 +202,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -224,7 +227,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" RuntimeLibrary="0" UsePrecompiledHeader="0" @@ -285,6 +288,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -310,7 +314,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" UsePrecompiledHeader="0" Modified: trunk/build.vc/vc9/matsolve/matsolve.vcproj =================================================================== --- trunk/build.vc/vc9/matsolve/matsolve.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/matsolve/matsolve.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -51,7 +52,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -113,6 +114,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -138,7 +140,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -200,6 +202,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -224,7 +227,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" RuntimeLibrary="0" BufferSecurityCheck="false" @@ -286,6 +289,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -311,7 +315,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" BufferSecurityCheck="false" Added: trunk/build.vc/vc9/mp_lib.vsprops =================================================================== --- trunk/build.vc/vc9/mp_lib.vsprops (rev 0) +++ trunk/build.vc/vc9/mp_lib.vsprops 2009-08-30 15:16:53 UTC (rev 366) @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="mp_lib" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="..\..\..\..\$(mp_lib)" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="..\..\..\..\$(mp_lib)\build.vc9\lib\$(OutDir)\$(mp_lib).lib" + /> + <UserMacro + Name="mp_lib" + Value="mpir" + InheritsFromParent="true" + Delimiter=";" + PerformEnvironmentSet="true" + /> +</VisualStudioPropertySheet> Modified: trunk/build.vc/vc9/pol51m0b/pol51m0b.vcproj =================================================================== --- trunk/build.vc/vc9/pol51m0b/pol51m0b.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/pol51m0b/pol51m0b.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -51,7 +52,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_ASM_INTEL" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -113,6 +114,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -138,7 +140,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -200,6 +202,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -224,7 +227,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_ASM_INTEL" RuntimeLibrary="0" UsePrecompiledHeader="0" @@ -285,6 +288,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -310,7 +314,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" UsePrecompiledHeader="0" Modified: trunk/build.vc/vc9/pol51m0bx/pol51m0bx.vcproj =================================================================== --- trunk/build.vc/vc9/pol51m0bx/pol51m0bx.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/pol51m0bx/pol51m0bx.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -51,7 +52,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage1" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage1" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_ASM_INTEL" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -75,7 +76,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2_32.lib ..\..\..\..\gmp\build.vc9\lib\$(OutDir)\gmp.lib" + AdditionalDependencies="ws2_32.lib" OutputFile="$(OutDir)\$(ProjectName).exe" LinkIncremental="2" GenerateDebugInformation="true" @@ -113,6 +114,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -138,7 +140,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage1" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage1" PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -162,7 +164,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2_32.lib ..\..\..\..\gmp\build.vc9\lib\$(OutDir)\gmp.lib" + AdditionalDependencies="ws2_32.lib" OutputFile="$(OutDir)\$(ProjectName).exe" LinkIncremental="2" GenerateDebugInformation="true" @@ -200,6 +202,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -224,7 +227,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage1" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage1" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_ASM_INTEL" RuntimeLibrary="0" UsePrecompiledHeader="0" @@ -246,7 +249,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2_32.lib ..\..\..\..\gmp\build.vc9\lib\$(OutDir)\gmp.lib" + AdditionalDependencies="ws2_32.lib" OutputFile="$(OutDir)\$(ProjectName).exe" LinkIncremental="1" GenerateDebugInformation="true" @@ -285,6 +288,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -310,7 +314,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage1" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage1" PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" UsePrecompiledHeader="0" @@ -332,7 +336,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2_32.lib ..\..\..\..\gmp\build.vc9\lib\$(OutDir)\gmp.lib" + AdditionalDependencies="ws2_32.lib" OutputFile="$(OutDir)\$(ProjectName).exe" LinkIncremental="1" GenerateDebugInformation="true" Modified: trunk/build.vc/vc9/pol51m0n/pol51m0n.vcproj =================================================================== --- trunk/build.vc/vc9/pol51m0n/pol51m0n.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/pol51m0n/pol51m0n.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -51,7 +52,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_ASM_INTEL" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -113,6 +114,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -138,7 +140,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -200,6 +202,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -224,7 +227,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_ASM_INTEL" RuntimeLibrary="0" UsePrecompiledHeader="0" @@ -285,6 +288,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -310,7 +314,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" UsePrecompiledHeader="0" Modified: trunk/build.vc/vc9/pol51opt/pol51opt.vcproj =================================================================== --- trunk/build.vc/vc9/pol51opt/pol51opt.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/pol51opt/pol51opt.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -51,7 +52,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_ASM_INTEL" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -113,6 +114,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -138,7 +140,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -200,6 +202,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -224,7 +227,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_ASM_INTEL" RuntimeLibrary="0" UsePrecompiledHeader="0" @@ -285,6 +288,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -310,7 +314,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" UsePrecompiledHeader="0" Modified: trunk/build.vc/vc9/pol51optx/pol51optx.vcproj =================================================================== --- trunk/build.vc/vc9/pol51optx/pol51optx.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/pol51optx/pol51optx.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -51,7 +52,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage2" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage2" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_ASM_INTEL" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -75,7 +76,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2_32.lib ..\..\..\..\gmp\build.vc9\lib\$(OutDir)\gmp.lib" + AdditionalDependencies="ws2_32.lib" OutputFile="$(OutDir)\$(ProjectName).exe" LinkIncremental="2" GenerateDebugInformation="true" @@ -113,6 +114,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -138,7 +140,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage2" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage2" PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -162,7 +164,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2_32.lib ..\..\..\..\gmp\build.vc9\lib\$(OutDir)\gmp.lib" + AdditionalDependencies="ws2_32.lib" OutputFile="$(OutDir)\$(ProjectName).exe" LinkIncremental="2" GenerateDebugInformation="true" @@ -200,6 +202,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -224,7 +227,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage2" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage2" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_ASM_INTEL" RuntimeLibrary="0" UsePrecompiledHeader="0" @@ -246,7 +249,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2_32.lib ..\..\..\..\gmp\build.vc9\lib\$(OutDir)\gmp.lib" + AdditionalDependencies="ws2_32.lib" OutputFile="$(OutDir)\$(ProjectName).exe" LinkIncremental="1" GenerateDebugInformation="true" @@ -285,6 +288,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -310,7 +314,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage2" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src;..\..\..\src\experimental\pol5\include;..\..\..\src\experimental\pol5\stage2" PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" UsePrecompiledHeader="0" @@ -332,7 +336,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2_32.lib ..\..\..\..\gmp\build.vc9\lib\$(OutDir)\gmp.lib" + AdditionalDependencies="ws2_32.lib" OutputFile="$(OutDir)\$(ProjectName).exe" LinkIncremental="1" GenerateDebugInformation="true" Modified: trunk/build.vc/vc9/polyselect/polyselect.vcproj =================================================================== --- trunk/build.vc/vc9/polyselect/polyselect.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/polyselect/polyselect.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -51,7 +52,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -113,6 +114,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -138,7 +140,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -200,6 +202,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -224,7 +227,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" RuntimeLibrary="0" BufferSecurityCheck="false" @@ -286,6 +289,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -311,7 +315,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="NDEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GENERIC" RuntimeLibrary="0" BufferSecurityCheck="false" Modified: trunk/build.vc/vc9/procrels/procrels.vcproj =================================================================== --- trunk/build.vc/vc9/procrels/procrels.vcproj 2009-08-30 11:34:03 UTC (rev 365) +++ trunk/build.vc/vc9/procrels/procrels.vcproj 2009-08-30 15:16:53 UTC (rev 366) @@ -27,6 +27,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -51,7 +52,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -113,6 +114,7 @@ OutputDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" ConfigurationType="1" + InheritedPropertySheets="..\mp_lib.vsprops" CharacterSet="2" > <Tool @@ -138,7 +140,7 @@ Name="VCCLCompilerTool" Optimization="0" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\;..\..\..\include;"..\..\..\include-extra";..\..\..\src" + AdditionalIncludeDirectories="..\;..\..\..\include;..\..\..\src" PreprocessorDefinitions="_DEBUG;_CONSOLE;WIN64;__x86_64__;GGNFS_HOST_GEN... [truncated message content] |
From: <brg...@us...> - 2009-08-30 11:34:10
|
Revision: 365 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=365&view=rev Author: brgladman Date: 2009-08-30 11:34:03 +0000 (Sun, 30 Aug 2009) Log Message: ----------- Modified Paths: -------------- trunk/src/lasieve4/redu2.c Modified: trunk/src/lasieve4/redu2.c =================================================================== --- trunk/src/lasieve4/redu2.c 2009-08-20 04:20:52 UTC (rev 364) +++ trunk/src/lasieve4/redu2.c 2009-08-30 11:34:03 UTC (rev 365) @@ -19,6 +19,13 @@ #include "lasieve.h" +#ifdef _MSC_VER +__inline double trunc(double x) +{ + return x < 0.0 ? ceil(x) : floor(x); +} +#endif + i32_t n_iter = 0; /**************************************************************/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jo...@us...> - 2009-08-20 04:20:58
|
Revision: 364 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=364&view=rev Author: joral Date: 2009-08-20 04:20:52 +0000 (Thu, 20 Aug 2009) Log Message: ----------- Proper fix for the infinite loop bug. According to the Kleinjung / Franke paper "Continued Fractions and Lattice Sieving" the proper wat to reduce the lattice is to round all a_k terms toward 0. Modified Paths: -------------- trunk/src/lasieve4/redu2.c Modified: trunk/src/lasieve4/redu2.c =================================================================== --- trunk/src/lasieve4/redu2.c 2009-07-20 13:49:51 UTC (rev 363) +++ trunk/src/lasieve4/redu2.c 2009-08-20 04:20:52 UTC (rev 364) @@ -27,22 +27,22 @@ /**************************************************************/ { float a0sq, a1sq, s; - i32_t iter; a0sq = ((float) a0) * a0; a0sq += sigma * ((float) b0) * b0; a1sq = ((float) a1) * a1; a1sq += sigma * ((float) b1) * b1; - for (iter=1; iter<1024; iter++) { /* inf.loop prevention */ + for (;;) { s = ((float) a0) * a1; s += sigma * ((float) b0) * b1; + n_iter++; if (a0sq < a1sq) { i32_t k; assert(((s / a0sq) >= INT_MIN) && ((s / a0sq) <= INT_MAX)); - k = (i32_t)rint(s / a0sq); + k = (i32_t)trunc(s / a0sq); if (k == 0) break; a1 -= k * a0; @@ -53,7 +53,7 @@ i32_t k; assert(((s / a1sq) >= INT_MIN) && ((s / a1sq) <= INT_MAX)); - k = (i32_t)rint(s / a1sq); + k = (i32_t)trunc(s / a1sq); if (k == 0) break; a0 -= k * a1; @@ -62,7 +62,6 @@ a0sq += sigma * ((float) b0) * b0; } } - n_iter += iter; if (b0 < 0) { b0 = -b0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jas...@us...> - 2009-07-20 13:49:54
|
Revision: 363 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=363&view=rev Author: jasonp_sf Date: 2009-07-20 13:49:51 +0000 (Mon, 20 Jul 2009) Log Message: ----------- remove msieve code; msieve is now on sourceforge and the GGNFS version of the codebase is too old Removed Paths: ------------- trunk/src/msieve/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-06-20 20:30:30
|
Revision: 362 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=362&view=rev Author: Batalov Date: 2009-06-20 20:30:12 +0000 (Sat, 20 Jun 2009) Log Message: ----------- On-the-fly default skew Modified Paths: -------------- trunk/tests/factLat.pl trunk/tests/factMsieve.pl Modified: trunk/tests/factLat.pl =================================================================== --- trunk/tests/factLat.pl 2009-04-27 20:46:44 UTC (rev 361) +++ trunk/tests/factLat.pl 2009-06-20 20:30:12 UTC (rev 362) @@ -891,7 +891,10 @@ die("Error: 'n' not supplied!\n") unless ($N); die("Error: 'm' not supplied!\n") unless ($M || defined $COEFHASH{Y1}); die("Error: polynomial not supplied!\n") unless (defined $COEFHASH{'c'.$DEGREE}); - die("Error: 'skew' not supplied!\n") unless ($SKEW); + unless ($SKEW) { + $SKEW = abs($COEFHASH{'c0'}/$COEFHASH{'c'.$DEGREE})**(1.0/$DEGREE); + print "-> Using calculated skew $SKEW\n"; + } die("Error: 'rlim' not supplied!\n") unless ($RLIM); die("Error: 'alim' not supplied!\n") unless ($ALIM); die("Error: 'lpbr' not supplied!\n") unless ($LPBR); @@ -1650,7 +1653,7 @@ $relprocT=0.0; open(INFO,$LOGFILE); while (<INFO>) { - chomp; + s/\s+$//; @_ = split; if ($_[0] eq "LatSieveTime:") { $sieveT += $_[1]; } if ($_[2] eq "RelProcTime:") { $relprocT += $_[3]; } Modified: trunk/tests/factMsieve.pl =================================================================== --- trunk/tests/factMsieve.pl 2009-04-27 20:46:44 UTC (rev 361) +++ trunk/tests/factMsieve.pl 2009-06-20 20:30:12 UTC (rev 362) @@ -952,7 +952,10 @@ die("Error: 'n' not supplied!\n") unless ($N); die("Error: 'm' not supplied!\n") unless ($M || defined $COEFHASH{Y1}); die("Error: polynomial not supplied!\n") unless (defined $COEFHASH{'c'.$DEGREE}); - die("Error: 'skew' not supplied!\n") unless ($SKEW); + unless ($SKEW) { + $SKEW = abs($COEFHASH{'c0'}/$COEFHASH{'c'.$DEGREE})**(1.0/$DEGREE); + print "-> Using calculated skew $SKEW\n"; + } die("Error: 'rlim' not supplied!\n") unless ($RLIM); die("Error: 'alim' not supplied!\n") unless ($ALIM); die("Error: 'lpbr' not supplied!\n") unless ($LPBR); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-27 20:46:53
|
Revision: 361 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=361&view=rev Author: Batalov Date: 2009-04-27 20:46:44 +0000 (Mon, 27 Apr 2009) Log Message: ----------- version reported Modified Paths: -------------- trunk/tests/factMsieve.pl Modified: trunk/tests/factMsieve.pl =================================================================== --- trunk/tests/factMsieve.pl 2009-04-26 19:21:58 UTC (rev 360) +++ trunk/tests/factMsieve.pl 2009-04-27 20:46:44 UTC (rev 361) @@ -1758,6 +1758,7 @@ s/\s+$//; @_ = split; if ($_[0] eq "LatSieveTime:") { $sieveT += $_[1]; } + if (/(Msieve.*)$/) { $version = $1; } if (/RelProcTime: (\S+)/) { $relprocT += $1; } if (/BLanczosTime: (\S+)/) { $matT += $1; } if (/sqrtTime: (\S+)/) { $sqrtT += $1; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-26 19:22:08
|
Revision: 360 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=360&view=rev Author: Batalov Date: 2009-04-26 19:21:58 +0000 (Sun, 26 Apr 2009) Log Message: ----------- minor Modified Paths: -------------- trunk/src/lasieve4/gnfs-lasieve4e.c Modified: trunk/src/lasieve4/gnfs-lasieve4e.c =================================================================== --- trunk/src/lasieve4/gnfs-lasieve4e.c 2009-04-22 20:57:53 UTC (rev 359) +++ trunk/src/lasieve4/gnfs-lasieve4e.c 2009-04-26 19:21:58 UTC (rev 360) @@ -717,12 +717,14 @@ break; } else { +#if 0 char *cmd; asprintf(&cmd, "touch badsched.%s.%u.%u.%u", base_name, special_q_side, special_q, r_ptr[root_no]); system(cmd); free(cmd); +#endif continue; } } @@ -3207,11 +3209,11 @@ schedules[s][i].n_strips = ns; #if I_bits<15 /* no change here, there were no sched.pathologies, and memory footprint is small */ -#define SCHED_PAD 0 +#define SCHED_PAD 32 #define SCHED_TOL 2 #else /* these values are experimental; report SCHED_PATHOLOGY to http://mersenneforum.org/showthread.php?t=11430 */ -#define SCHED_PAD 32 +#define SCHED_PAD 48 #define SCHED_TOL 1.2 #endif assert(rint(SCHED_PAD + SCHED_TOL * n_i * j_per_strip * log(log(fbp_ub) / log(fbp_lb))) <= ULONG_MAX); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-22 20:57:56
|
Revision: 359 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=359&view=rev Author: Batalov Date: 2009-04-22 20:57:53 +0000 (Wed, 22 Apr 2009) Log Message: ----------- minor Modified Paths: -------------- trunk/tests/factMsieve.pl Modified: trunk/tests/factMsieve.pl =================================================================== --- trunk/tests/factMsieve.pl 2009-04-22 19:38:35 UTC (rev 358) +++ trunk/tests/factMsieve.pl 2009-04-22 20:57:53 UTC (rev 359) @@ -497,7 +497,7 @@ if($NO_DEF_NM_PARAM || $d<100) { $d=$realDIGS; $search_a5step=1; - $npr = $d<=110 ? 4 : int($d/13-4.5); # or maybe even 3? + $npr = int($d/13-4.5); $npr=4 if $npr<4; $normmax = sprintf("%.3G", 10**(0.163 * $d - 1.4794)); $normmax1 = sprintf("%.3G", 10**(0.1522 * $d - 1.6969)); $normmax2 = sprintf("%.3G", 10**(0.142 * $d - 2.6429)); @@ -938,7 +938,7 @@ open(OF, ">.rels"); print OF "N\n"; close(OF); - $CAT = "" unless system("\"$CAT\" .rels > .lprels"); # we will use perl then + $CAT = "" if system("\"$CAT\" .rels > .lprels"); # we will use perl then unlink '.lprels'; unlink '.rels'; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-22 19:38:57
|
Revision: 358 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=358&view=rev Author: Batalov Date: 2009-04-22 19:38:35 +0000 (Wed, 22 Apr 2009) Log Message: ----------- minor Modified Paths: -------------- trunk/tests/factMsieve.pl Modified: trunk/tests/factMsieve.pl =================================================================== --- trunk/tests/factMsieve.pl 2009-04-22 19:36:37 UTC (rev 357) +++ trunk/tests/factMsieve.pl 2009-04-22 19:38:35 UTC (rev 358) @@ -121,7 +121,7 @@ } else { open FFROM, "<$from"; open FTO, "$add$to"; - while(<IN>) { + while(<FFROM>) { print FTO $_; } close FFROM; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-22 19:36:38
|
Revision: 357 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=357&view=rev Author: Batalov Date: 2009-04-22 19:36:37 +0000 (Wed, 22 Apr 2009) Log Message: ----------- patches for CAT-less and for tiny gnfs params Modified Paths: -------------- trunk/tests/factMsieve.pl Modified: trunk/tests/factMsieve.pl =================================================================== --- trunk/tests/factMsieve.pl 2009-04-19 19:30:07 UTC (rev 356) +++ trunk/tests/factMsieve.pl 2009-04-22 19:36:37 UTC (rev 357) @@ -69,6 +69,7 @@ $SYS_BIN_PATH=""; # $SYS_BIN_PATH="/bin"; +$NO_DEF_NM_PARAM=0; $CLEANUP=0; $PROMPTS=0; $DOCLASSICAL=0; @@ -113,6 +114,21 @@ $EXEC_SUFFIX=""; } +sub concat { # for CAT-less people + ($from, $add, $to) = @_; + if($CAT) { + system("\"$CAT\" $from $add $to"); + } else { + open FFROM, "<$from"; + open FTO, "$add$to"; + while(<IN>) { + print FTO $_; + } + close FFROM; + close FTO; + } +} + $LATSIEVER_L1=$GGNFS_BIN_PATH."/gnfs-lasieve4I12e".$EXEC_SUFFIX; $LATSIEVER_L2=$GGNFS_BIN_PATH."/gnfs-lasieve4I13e".$EXEC_SUFFIX; $LATSIEVER_L3=$GGNFS_BIN_PATH."/gnfs-lasieve4I14e".$EXEC_SUFFIX; @@ -478,6 +494,18 @@ unless ($#_ >=0); my $realDIGS=$_[0]; my $paramDIGS=0; + if($NO_DEF_NM_PARAM || $d<100) { + $d=$realDIGS; + $search_a5step=1; + $npr = $d<=110 ? 4 : int($d/13-4.5); # or maybe even 3? + $normmax = sprintf("%.3G", 10**(0.163 * $d - 1.4794)); + $normmax1 = sprintf("%.3G", 10**(0.1522 * $d - 1.6969)); + $normmax2 = sprintf("%.3G", 10**(0.142 * $d - 2.6429)); + $murphymax= sprintf("%.3G", 10**(-0.0569* $d - 2.8452)); + $maxPSTime= int(0.000004/$murphymax); + printf "-> Selected polsel parameters for $d digit level.\n"; + return; + } die("Could not find default parameter file $DEFAULT_POLSEL_PAR_FILE!\n") unless (-e $DEFAULT_POLSEL_PAR_FILE); open(IF, $DEFAULT_POLSEL_PAR_FILE); @@ -552,7 +580,7 @@ printf("=> $cmd\n"); $res=system($cmd); die "Abnormal return value $res. Terminating...\n" if ($res); - system("\"$CAT\" $pname.51.m >> $projectname.51.m.all"); + concat("$pname.51.m", ">>", "$projectname.51.m.all"); open(GR,"<$pname.cand"); my %polyinf = (); my $changed = 0; @@ -602,7 +630,7 @@ print BP "qintsize: $QINTSIZE\n"; close(BP); } - system "\"$CAT\" $pname.cand >> $projectname.cand.all"; + concat("$pname.cand", ">>", "$projectname.cand.all"); unlink "$pname.cand"; } printf "-> =====================================================\n"; @@ -905,6 +933,14 @@ if ($CHECK_BINARIES) { $missing .= 'msieve ' unless (-x $MSIEVE); $missing .= '(lattice siever) ' unless (-x $LATSIEVER); + unlink '.lprels'; + unlink '.rels'; + open(OF, ">.rels"); + print OF "N\n"; + close(OF); + $CAT = "" unless system("\"$CAT\" .rels > .lprels"); # we will use perl then + unlink '.lprels'; + unlink '.rels'; } if ($missing) { print "-> Could not find GGNFS programs: $missing.\n"; @@ -1286,7 +1322,7 @@ # Should we resume from an earlier run? # $resume=-1; - system("\"$CAT\" $JOBNAME.T1 > $JOBNAME") if (-e "$JOBNAME.T1"); + concat("$JOBNAME.T1", ">", "$JOBNAME") if (-e "$JOBNAME.T1"); if (-e $JOBNAME) { if ($PROMPTS) { print "-> It appears that an earlier attempt was interrupted in progress. Resume? (y/n) "; @@ -1590,7 +1626,7 @@ } $cmd="\"$CAT\" $SIEVER_OUTPUTNAME.T$j >> $SIEVER_OUTPUTNAME"; print "=>$cmd\n" if($ECHO_CMDLINE); - system($cmd); + concat("$SIEVER_OUTPUTNAME.T$j", ">>", "$SIEVER_OUTPUTNAME"); unlink "$SIEVER_OUTPUTNAME.T$j"; } } @@ -1607,7 +1643,7 @@ # Move the new relations so they won't be wiped on restart. $cmd="\"$CAT\" $SIEVER_OUTPUTNAME >> $SIEVER_ADDNAME"; print "=>$cmd\n" if($ECHO_CMDLINE); - system($cmd); + concat("$SIEVER_OUTPUTNAME", ">>", "$SIEVER_ADDNAME"); unlink "$SIEVER_OUTPUTNAME"; # And update the job file accordingly: makeJobFile($JOBNAME, $lastSPQ, $QSTEP, $CLIENT_ID, $NUM_CLIENTS); @@ -1624,20 +1660,20 @@ if ($CLIENT_ID > 1) { $cmd="\"$CAT\" $SIEVER_OUTPUTNAME >> spairs.add.$CLIENT_ID"; print "=>$cmd\n" if($ECHO_CMDLINE); - system($cmd); + concat($SIEVER_OUTPUTNAME, ">>", "spairs.add.$CLIENT_ID"); } else { # Are there relations coming from somewhere else which should be added in? if (-e "spairs.add") { $cmd="\"$CAT\" spairs.add >> spairs.out"; print "=>$cmd\n" if($ECHO_CMDLINE); - system($cmd); + concat("spairs.add", ">>", "spairs.out"); unlink "spairs.add"; } for ($i=1; $i<=$NUM_CLIENTS; $i++) { if (-e "spairs.add.$i") { $cmd="\"$CAT\" spairs.add.$i >> spairs.out"; print "=>$cmd\n" if($ECHO_CMDLINE); - system($cmd); + concat("spairs.add.$i", ">>", "spairs.out"); unlink "spairs.add.$i"; } } @@ -1653,7 +1689,7 @@ } $cmd="\"$CAT\" spairs.out >> $DATNAME"; print "=>$cmd\n" if($ECHO_CMDLINE); - system($cmd); + concat("spairs.out", ">>", "$DATNAME"); $CURR_RELS = linecount; print "Found $CURR_RELS relations, need at least $MINRELS to proceed.\n"; if ($CURR_RELS > $MINRELS) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-19 19:30:11
|
Revision: 356 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=356&view=rev Author: Batalov Date: 2009-04-19 19:30:07 +0000 (Sun, 19 Apr 2009) Log Message: ----------- Compatibility with most sievers Modified Paths: -------------- trunk/include/ggnfs.h Modified: trunk/include/ggnfs.h =================================================================== --- trunk/include/ggnfs.h 2009-04-19 18:54:21 UTC (rev 355) +++ trunk/include/ggnfs.h 2009-04-19 19:30:07 UTC (rev 356) @@ -186,8 +186,8 @@ the relation factorizations occurring in the first x of entries of the factor base(s). */ -#define CLIENT_SKIP_R_PRIMES 50 -#define CLIENT_SKIP_A_PRIMES 50 +#define CLIENT_SKIP_R_PRIMES 170 +#define CLIENT_SKIP_A_PRIMES 170 #define MAXFNAMESIZE 127 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-19 18:54:34
|
Revision: 355 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=355&view=rev Author: Batalov Date: 2009-04-19 18:54:21 +0000 (Sun, 19 Apr 2009) Log Message: ----------- minor Modified Paths: -------------- trunk/src/experimental/lasieve4_64/gnfs-lasieve4e.c Modified: trunk/src/experimental/lasieve4_64/gnfs-lasieve4e.c =================================================================== --- trunk/src/experimental/lasieve4_64/gnfs-lasieve4e.c 2009-04-19 18:47:45 UTC (rev 354) +++ trunk/src/experimental/lasieve4_64/gnfs-lasieve4e.c 2009-04-19 18:54:21 UTC (rev 355) @@ -694,7 +694,7 @@ //first_spq,FB_bound[special_q_side]); } } - fclose(input_data); + //fclose(input_data); if(poldeg[0]<poldeg[1])poldeg_max= poldeg[1]; else poldeg_max= poldeg[0]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-19 18:47:54
|
Revision: 354 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=354&view=rev Author: Batalov Date: 2009-04-19 18:47:45 +0000 (Sun, 19 Apr 2009) Log Message: ----------- Two bug fixes Modified Paths: -------------- trunk/src/experimental/lasieve4_64/athlon64/siever-config.h trunk/src/experimental/lasieve4_64/gnfs-lasieve4e.c Modified: trunk/src/experimental/lasieve4_64/athlon64/siever-config.h =================================================================== --- trunk/src/experimental/lasieve4_64/athlon64/siever-config.h 2009-04-18 03:58:53 UTC (rev 353) +++ trunk/src/experimental/lasieve4_64/athlon64/siever-config.h 2009-04-19 18:47:45 UTC (rev 354) @@ -27,6 +27,7 @@ #if 1 void MMX_TdAllocate(int,size_t,size_t); u16_t*MMX_TdInit(int,u16_t*,u16_t*,u32_t*,int); +u32_t*MMX_Td(u32_t *pbuf,int side,u16_t strip_i); void MMX_TdUpdate(int,int); #define MMX_TD #define MMX_REGW 8 Modified: trunk/src/experimental/lasieve4_64/gnfs-lasieve4e.c =================================================================== --- trunk/src/experimental/lasieve4_64/gnfs-lasieve4e.c 2009-04-18 03:58:53 UTC (rev 353) +++ trunk/src/experimental/lasieve4_64/gnfs-lasieve4e.c 2009-04-19 18:47:45 UTC (rev 354) @@ -593,7 +593,7 @@ } #endif //skip_blanks_comments(&input_line,&input_line_alloc,input_data); - close(input_data); + fclose(input_data); { FILE *fp; char token[256], value[512], thisLine[1024]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-18 03:58:56
|
Revision: 353 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=353&view=rev Author: Batalov Date: 2009-04-18 03:58:53 +0000 (Sat, 18 Apr 2009) Log Message: ----------- My patches to lasieve_64 Modified Paths: -------------- trunk/src/experimental/lasieve4_64/INSTALL trunk/src/experimental/lasieve4_64/athlon64/Makefile trunk/src/experimental/lasieve4_64/athlon64/slinie1A.asm trunk/src/experimental/lasieve4_64/athlon64/slinie2A.asm trunk/src/experimental/lasieve4_64/athlon64/slinie3A.asm trunk/src/experimental/lasieve4_64/athlon64/tdslinie1.asm trunk/src/experimental/lasieve4_64/athlon64/tdslinie2.asm trunk/src/experimental/lasieve4_64/gnfs-lasieve4e.c Modified: trunk/src/experimental/lasieve4_64/INSTALL =================================================================== --- trunk/src/experimental/lasieve4_64/INSTALL 2009-04-18 03:42:10 UTC (rev 352) +++ trunk/src/experimental/lasieve4_64/INSTALL 2009-04-18 03:58:53 UTC (rev 353) @@ -2,6 +2,8 @@ follow these steps to build the binaries on a 64-bit machine. These should build and run on Athlon64, or Core2 cpus. +Prerequisites: gmp.h libgmp + cd athlon64 make liblasieve.a make liblasieveI11.a @@ -12,5 +14,6 @@ make liblasieveI16.a cp *.a .. cd .. +ln -s athlon64 asm make Modified: trunk/src/experimental/lasieve4_64/athlon64/Makefile =================================================================== --- trunk/src/experimental/lasieve4_64/athlon64/Makefile 2009-04-18 03:42:10 UTC (rev 352) +++ trunk/src/experimental/lasieve4_64/athlon64/Makefile 2009-04-18 03:58:53 UTC (rev 353) @@ -7,7 +7,7 @@ # Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. -CFLAGS= -O3 -march=amdfam10 -mtune=amdfam10 +CFLAGS= -O3 -march=k8 -mtune=k8 -I. #CFLAGS= -g CC=gcc Modified: trunk/src/experimental/lasieve4_64/athlon64/slinie1A.asm =================================================================== --- trunk/src/experimental/lasieve4_64/athlon64/slinie1A.asm 2009-04-18 03:42:10 UTC (rev 352) +++ trunk/src/experimental/lasieve4_64/athlon64/slinie1A.asm 2009-04-18 03:58:53 UTC (rev 353) @@ -75,10 +75,6 @@ popq %rbx ret ifelse(j_per_strip,1,`divert`'',`divert(-1)')dnl -dnl In this case, it is possible to keep the sieve interval in a register -dnl since the register keeping the root is not needed. -define(sieve_interval_arg,sieve_interval)dnl -define(`sieve_interval',root)dnl function_head(slinie1) cmpq aux_ptr,aux_ptr_ub pushq %rbx @@ -86,11 +82,15 @@ jbe slinie1_ende subq $8,aux_ptr_ub slinie1_fbi_loop: + movzwq proot_src,auxreg movzwq prime_src,prime - movzwq root_src,sieve_ptr + movzwq root_src,root + subq prime,auxreg movb log_src,sieve_log + movq auxreg,proot movq sieve_interval,sieve_ptr_ub - leaq (sieve_interval,sieve_ptr),sieve_ptr + movq root,sieve_ptr + leaq (sieve_ptr_ub,sieve_ptr),sieve_ptr addq $n_i,sieve_ptr_ub subq prime,sieve_ptr_ub movb (sieve_ptr),sv0 Modified: trunk/src/experimental/lasieve4_64/athlon64/slinie2A.asm =================================================================== --- trunk/src/experimental/lasieve4_64/athlon64/slinie2A.asm 2009-04-18 03:42:10 UTC (rev 352) +++ trunk/src/experimental/lasieve4_64/athlon64/slinie2A.asm 2009-04-18 03:58:53 UTC (rev 353) @@ -78,10 +78,6 @@ popq %rbx ret ifelse(j_per_strip,1,`divert`'',`divert(-1)')dnl -dnl In this case, it is possible to keep the sieve interval in a register -dnl since the register keeping the root is not needed. -define(sieve_interval_arg,sieve_interval)dnl -define(`sieve_interval',root)dnl function_head(slinie2) cmpq aux_ptr,aux_ptr_ub pushq %rbx @@ -89,11 +85,15 @@ jbe slinie2_ende subq $8,aux_ptr_ub slinie2_fbi_loop: + movzwq proot_src,auxreg movzwq prime_src,prime - movzwq root_src,sieve_ptr + movzwq root_src,root + subq prime,auxreg movb log_src,sieve_log + movq auxreg,proot movq sieve_interval,sieve_ptr_ub - leaq (sieve_interval,sieve_ptr),sieve_ptr + movq root,sieve_ptr + leaq (sieve_ptr_ub,sieve_ptr),sieve_ptr addq $n_i,sieve_ptr_ub movb (sieve_ptr,prime),sv0 subq prime,sieve_ptr_ub Modified: trunk/src/experimental/lasieve4_64/athlon64/slinie3A.asm =================================================================== --- trunk/src/experimental/lasieve4_64/athlon64/slinie3A.asm 2009-04-18 03:42:10 UTC (rev 352) +++ trunk/src/experimental/lasieve4_64/athlon64/slinie3A.asm 2009-04-18 03:58:53 UTC (rev 353) @@ -85,10 +85,6 @@ popq %rbx ret ifelse(j_per_strip,1,`divert`'',`divert(-1)')dnl -dnl In this case, it is possible to keep the sieve interval in a register -dnl since the register keeping the root is not needed. -define(sieve_interval_arg,sieve_interval)dnl -define(`sieve_interval',root)dnl function_head(slinie3) cmpq aux_ptr,aux_ptr_ub pushq %rbx @@ -96,11 +92,15 @@ jbe slinie3_ende subq $8,aux_ptr_ub slinie3_fbi_loop: + movzwq proot_src,auxreg movzwq prime_src,prime - movzwq root_src,sieve_ptr + movzwq root_src,root + subq prime,auxreg movb log_src,sieve_log + movq auxreg,proot movq sieve_interval,sieve_ptr_ub - leaq (sieve_interval,sieve_ptr),sieve_ptr + movq root,sieve_ptr + leaq (sieve_ptr_ub,sieve_ptr),sieve_ptr addq $n_i,sieve_ptr_ub movb (sieve_ptr,prime),sv0 subq prime,sieve_ptr_ub Modified: trunk/src/experimental/lasieve4_64/athlon64/tdslinie1.asm =================================================================== --- trunk/src/experimental/lasieve4_64/athlon64/tdslinie1.asm 2009-04-18 03:42:10 UTC (rev 352) +++ trunk/src/experimental/lasieve4_64/athlon64/tdslinie1.asm 2009-04-18 03:58:53 UTC (rev 353) @@ -111,4 +111,4 @@ movq sieve_ptr,(tds_buffer,auxreg,8) tdsline1s_next_j`'i: ') - jmp tdslinie1_nextfbi \ No newline at end of file + jmp tdslinie1_nextfbi Modified: trunk/src/experimental/lasieve4_64/athlon64/tdslinie2.asm =================================================================== --- trunk/src/experimental/lasieve4_64/athlon64/tdslinie2.asm 2009-04-18 03:42:10 UTC (rev 352) +++ trunk/src/experimental/lasieve4_64/athlon64/tdslinie2.asm 2009-04-18 03:58:53 UTC (rev 353) @@ -127,4 +127,4 @@ movq sieve_ptr,(auxreg) tdslinie2s_next_j`'i: ') - jmp tdslinie2_next_fbi \ No newline at end of file + jmp tdslinie2_next_fbi Modified: trunk/src/experimental/lasieve4_64/gnfs-lasieve4e.c =================================================================== --- trunk/src/experimental/lasieve4_64/gnfs-lasieve4e.c 2009-04-18 03:42:10 UTC (rev 352) +++ trunk/src/experimental/lasieve4_64/gnfs-lasieve4e.c 2009-04-18 03:58:53 UTC (rev 353) @@ -1,6 +1,20 @@ -/*3:*/ -// #line 36 "gnfs-lasieve4e.w" +/* gnfs-lasieve4e.c + By Jens Franke. + 6/13/04: Hacked up for use in GGNFS by Chris Monico. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + You should have received a copy of the GNU General Public License along + with this program; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. +*/ +// #include "lasieve.h" + #include <stdio.h> #include <sys/types.h> #include <math.h> @@ -9,6 +23,7 @@ #include <limits.h> #include <string.h> #include <time.h> +#include <ctype.h> #ifdef LINUX #include <endian.h> #endif @@ -24,9 +39,6 @@ #define TDS_PRIMALITY_TEST TDS_IMMEDIATELY #endif -/*:3*//*4:*/ -// #line 61 "gnfs-lasieve4e.w" - #include "if.h" #include "primgen32.h" #include "asm/32bit.h" @@ -37,17 +49,11 @@ #include "gmp-aux.h" #include "lasieve-prepn.h" -/*:4*//*5:*/ -// #line 75 "gnfs-lasieve4e.w" - #define TDS_IMMEDIATELY 0 #define TDS_BIGSS 1 #define TDS_ODDNESS_CLASS 2 #define TDS_SPECIAL_Q 3 -/*:5*//*6:*/ -// #line 82 "gnfs-lasieve4e.w" - #define GCD_SIEVE_BOUND 10 #include "asm/siever-config.c" @@ -61,23 +67,15 @@ u32_t nss= 0,nzss[3]= {0,0,0}; #endif -static float -FB_bound[2],sieve_report_multiplier[2]; +static float FB_bound[2],sieve_report_multiplier[2]; static u16_t sieve_min[2],max_primebits[2],max_factorbits[2]; static u32_t*(FB[2]),*(proots[2]),FBsize[2]; - -/*44:*/ -// #line 1610 "gnfs-lasieve4e.w" - static double*(tpoly_f[2]); #define CANDIDATE_SEARCH_STEPS 128 static unsigned char**(sieve_report_bounds[2]); static i32_t n_srb_i,n_srb_j; -/*:44*/ -// #line 102 "gnfs-lasieve4e.w" - static u32_t b,first_spq,first_spq1,first_root,last_spq,sieve_count; static mpz_t m,N,aux1,aux2,aux3,sr_a,sr_b; @@ -89,7 +87,8 @@ i32_t poldeg[2],poldeg_max; -u32_t keep_factorbase; +u32_t keep_factorbase; +u32_t g_resume; #define MAX_LPFACTORS 3 static mpz_t rational_rest,algebraic_rest; mpz_t factors[MAX_LPFACTORS]; @@ -103,49 +102,34 @@ static i64_t tdsi_clock[2]= {0,0},tds1_clock[2]= {0,0},tds2_clock[2]= {0,0}; static i64_t tds3_clock[2]= {0,0},tds4_clock[2]= {0,0}; -char*basename; -char*input_line= NULL; +char *base_name; +char *input_line= NULL; size_t input_line_alloc= 0; -/*:6*//*7:*/ -// #line 133 "gnfs-lasieve4e.w" static u32_t ncand; static u16_t*cand; static unsigned char*fss_sv; +u32_t process_no; +char *sysload_cmd; +double sieveStartTime; -/*:7*//*8:*/ -// #line 139 "gnfs-lasieve4e.w" - static int tdcand_cmp(const void*x,const void*y) { -return(int)(*((u16_t*)x))-(int)(*((u16_t*)y)); + return(int)(*((u16_t*)x))-(int)(*((u16_t*)y)); } -/*:8*//*9:*/ -// #line 155 "gnfs-lasieve4e.w" - typedef struct xFBstruct{ -u32_t p,pp,q,qq,r,l; + u32_t p,pp,q,qq,r,l; }*xFBptr; static volatile xFBptr xFB[2]; static volatile u32_t xFBs[2]; -/*:9*//*10:*/ -// #line 181 "gnfs-lasieve4e.w" - static void xFBtranslate(u16_t*rop,xFBptr op); static int xFBcmp(const void*,const void*); -/*:10*//*12:*/ -// #line 196 "gnfs-lasieve4e.w" +static u32_t add_primepowers2xaFB(size_t*aFB_alloc_ptr,u32_t pp_bound,u32_t side,u32_t p,u32_t r); -static u32_t add_primepowers2xaFB(size_t*aFB_alloc_ptr, -u32_t pp_bound,u32_t side,u32_t p,u32_t r); - -/*:12*//*13:*/ -// #line 214 "gnfs-lasieve4e.w" - i32_t a0,a1,b0,b1; #if 0 u32_t I_bits; @@ -154,66 +138,36 @@ u32_t root_no; float sigma; -/*:13*//*14:*/ -// #line 234 "gnfs-lasieve4e.w" - static u32_t oddness_type; static u32_t n_i,n_j,i_bits,j_bits; -/*:14*//*15:*/ -// #line 239 "gnfs-lasieve4e.w" - -/*18:*/ -// #line 461 "gnfs-lasieve4e.w" - u32_t spq_i,spq_j,spq_x; -/*:18*//*28:*/ -// #line 995 "gnfs-lasieve4e.w" - u32_t fbi1[2]; -/*:28*//*29:*/ -// #line 1000 "gnfs-lasieve4e.w" - u32_t fbis[2]; -/*:29*//*31:*/ -// #line 1101 "gnfs-lasieve4e.w" - static u32_t j_per_strip,jps_bits,jps_mask,n_strips; static struct schedule_struct{ -u16_t***schedule; -u32_t*fbi_bounds; -u32_t n_pieces; -unsigned char*schedlogs; -u16_t n_strips,current_strip; -size_t alloc,alloc1; -u32_t*ri; + u16_t***schedule; + u32_t*fbi_bounds; + u32_t n_pieces; + unsigned char*schedlogs; + u16_t n_strips,current_strip; + size_t alloc,alloc1; + u32_t*ri; }*(schedules[2]); u32_t n_schedules[2]; -/*:31*//*32:*/ -// #line 1115 "gnfs-lasieve4e.w" - static u32_t*(LPri[2]); #define RI_SIZE 2 -/*:32*//*33:*/ -// #line 1120 "gnfs-lasieve4e.w" - static u32_t*(current_ij[2]); -/*:33*//*34:*/ -// #line 1127 "gnfs-lasieve4e.w" - static size_t sched_alloc[2]; #define SE_SIZE 2 #define SCHEDFBI_MAXSTEP 0x10000 -/*:34*//*38:*/ -// #line 1338 "gnfs-lasieve4e.w" - #define USE_MEDSCHED #ifdef USE_MEDSCHED static u16_t**(med_sched[2]); @@ -223,9 +177,6 @@ static u16_t n_medsched_pieces[2]; #endif -/*:38*//*40:*/ -// #line 1392 "gnfs-lasieve4e.w" - static unsigned char*sieve_interval= NULL,*(FB_logs[2]); static unsigned char*tiny_sieve_buffer; #define TINY_SIEVEBUFFER_SIZE 420 @@ -233,43 +184,22 @@ static double sieve_multiplier[2],FB_maxlog[2]; static u32_t j_offset; -/*:40*//*48:*/ -// #line 1682 "gnfs-lasieve4e.w" - void do_scheduling(struct schedule_struct*,u32_t,u32_t,u32_t); -/*:48*//*51:*/ -// #line 1729 "gnfs-lasieve4e.w" - static u16_t*(smallsieve_aux[2]),*(smallsieve_auxbound[2][5]); static u16_t*(smallsieve_tinybound[2]); -/*:51*//*52:*/ -// #line 1737 "gnfs-lasieve4e.w" - static u16_t*(smallsieve_aux1[2]),*(smallsieve_aux1_ub_odd[2]); static u16_t*(smallsieve_aux1_ub[2]),*(smallsieve_tinybound1[2]); -/*:52*//*53:*/ -// #line 1744 "gnfs-lasieve4e.w" - static u16_t*(smallsieve_aux2[2]),*(smallsieve_aux2_ub[2]); -/*:53*//*54:*/ -// #line 1761 "gnfs-lasieve4e.w" - static u16_t*(smallpsieve_aux[2]),*(smallpsieve_aux_ub_pow1[2]); static u16_t*(smallpsieve_aux_ub_odd[2]),*(smallpsieve_aux_ub[2]); static unsigned char*horizontal_sievesums; -/*:54*//*55:*/ -// #line 1768 "gnfs-lasieve4e.w" - static u16_t*(x2FB[2]),x2FBs[2]; -/*:55*//*56:*/ -// #line 1776 "gnfs-lasieve4e.w" - static u16_t*tinysieve_curpos; #ifndef MMX_TD static u16_t**(smalltdsieve_aux[2]); @@ -278,46 +208,25 @@ #endif #endif -/*:56*//*57:*/ -// #line 1788 "gnfs-lasieve4e.w" - #ifdef GCD_SIEVE_BOUND static u32_t np_gcd_sieve; static unsigned char*gcd_sieve_buffer; static void gcd_sieve(void); #endif -/*:57*//*95:*/ -// #line 2777 "gnfs-lasieve4e.w" - u16_t**schedbuf; -/*:95*//*103:*/ -// #line 2872 "gnfs-lasieve4e.w" - static void store_candidate(u16_t,u16_t,unsigned char); -/*:103*//*110:*/ -// #line 3050 "gnfs-lasieve4e.w" - void trial_divide(void); -/*:110*//*124:*/ -// #line 3486 "gnfs-lasieve4e.w" - #ifndef SCHED_TDS_BUFSIZE #define SCHED_TDS_BUFSIZE 1024 #endif u16_t*(sched_tds_buffer[SCHED_TDS_BUFSIZE]); -/*:124*//*140:*/ -// #line 3896 "gnfs-lasieve4e.w" - u32_t*mpz_trialdiv(mpz_t N,u32_t*pbuf,u32_t ncp,char*errmsg); -/*:140*//*142:*/ -// #line 3949 "gnfs-lasieve4e.w" - static void output_tdsurvivor(u32_t*,u32_t*,u32_t*,u32_t*,mpz_t,mpz_t); static void store_tdsurvivor(u32_t*,u32_t*,u32_t*,u32_t*,mpz_t,mpz_t); static int primality_tests(void); @@ -330,9 +239,6 @@ #define MAX_TDS_INCREMENT 1024 #define TDS_FBP_ALLOC_INCREMENT 8192 -/*:142*//*150:*/ -// #line 4229 "gnfs-lasieve4e.w" - #if 0 #define OFMT_CWI #endif @@ -340,23 +246,11 @@ static char u32_t2cwi(u32_t); #endif -/*:150*//*153:*/ -// #line 4263 "gnfs-lasieve4e.w" - void dumpsieve(u32_t j_offset,u32_t side); -/*:153*/ -// #line 240 "gnfs-lasieve4e.w" - -/*114:*/ -// #line 3135 "gnfs-lasieve4e.w" - u32_t*(td_buf[2]),**td_buf1; size_t td_buf_alloc[2]= {1024,1024}; -/*:114*//*119:*/ -// #line 3306 "gnfs-lasieve4e.w" - static unsigned char tds_coll[UCHAR_MAX]; u32_t**tds_fbi= NULL; u32_t**tds_fbi_curpos= NULL; @@ -365,26 +259,20 @@ static size_t tds_fbi_alloc= TDFBI_ALLOC; #endif -/*:119*//*138:*/ -// #line 3871 "gnfs-lasieve4e.w" - static mpz_t td_rests[L1_SIZE]; static mpz_t large_factors[2],*(large_primes[2]); static mpz_t FBb_sq[2]; -/*:138*/ -// #line 241 "gnfs-lasieve4e.w" - void Usage() { -complain("Usage"); + complain("Usage"); } static u32_t n_prereports= 0,n_reports= 0,n_rep1= 0,n_rep2= 0; static u32_t n_tdsurvivors[2]= {0,0}; -static FILE*ofile; -static char*ofile_name; +static FILE*g_ofile; +static char*g_ofile_name; #ifdef STC_DEBUG FILE*debugfile; @@ -413,8 +301,8 @@ static void terminate_sieving(int signo) { -exitval= USER_INTERRUPT_EXITVAL; -longjmp(termination_jb,USER_INTERRUPT); + exitval= USER_INTERRUPT_EXITVAL; + longjmp(termination_jb,USER_INTERRUPT); } static clock_t last_clock; @@ -423,2135 +311,1995 @@ extern u64_t MMX_TdNloop; #endif -main(int argc,char**argv) +/*******************************************************/ +double sTime() + /*******************************************************/ +#if 0 && !defined (_MSC_VER) && !defined (__MINGW32__) && !defined (MINGW32) { -u16_t zip_output,force_aFBcalc; -u16_t catch_signals; -u32_t all_spq_done; -u32_t n_spq,n_spq_discard; -double tStart, tNow, lastReport; -char*sysload_cmd; -u32_t process_no; -#ifdef STC_DEBUG -debugfile= fopen("rtdsdebug","w"); + static struct timeval this_tv; + static struct timezone dumbTZ; + double t; + + gettimeofday(&this_tv, &dumbTZ); + t = this_tv.tv_sec + 0.000001*this_tv.tv_usec; + return t; +} +#else +{ + return clock() / (double)CLOCKS_PER_SEC; +} #endif -/*21:*/ -// #line 562 "gnfs-lasieve4e.w" +/**************************************************/ +void logTotalTime() + /**************************************************/ { -i32_t option; -FILE*input_data; -u32_t i; + double t=sTime()-sieveStartTime; + FILE *fp=fopen("ggnfs.log", "a"); + + fprintf(fp, "\tLatSieveTime: %ld\n", (long)t); + fclose(fp); +} -sieve_count= U32_MAX; -ofile_name= NULL; -zip_output= 0; -special_q_side= NO_SIDE; -sigma= 0; -keep_factorbase= 0; -basename= NULL; -first_spq= 0; -sieve_count= 1; -force_aFBcalc= 0; -sysload_cmd= NULL; -process_no= 0; -catch_signals= 0; +/**************************************************/ +int parse_q_from_line(char *buf) { + /**************************************************/ + char *p, *tmp, *next_field; + u32_t q, q0, i, side; + static int first=0; + + for(p=tmp=buf; *p && isspace(*p); p++); + if(!*p) return 0; /* empty line, skip */ + + side = (special_q_side == RATIONAL_SIDE) ? 0 : 1; + for(i=0; *p; p++) { + if(*p == ':') { + if(i++ == side) tmp = p; /* we will only scan this section for a q0 */ + } else if(!(*p == '-' || *p == ',' || isspace(*p) || isxdigit(*p))) { + if(first++ == 0) printf(" Warning! some corrupt lines in the original file\n"); + return -1; + } + } + if(i!=2) { + printf(" Warning: an incomplete line in the original file; if just a few, it's ok, they will be skipped\n"); + return -1; /* must have two ':' some ',' and hexdigits */ + } + + q0 = first_spq; + do { + q = strtoul(tmp + 1, &next_field, 16); + if(q >= first_spq && q < first_spq+sieve_count) + q0 = q; + tmp = next_field; + } while(tmp[0] == ',' && isxdigit(tmp[1])); + + /* I've seen cases when q0 is not the last reported in the comma-separated list */ + /* However, the closer it is to the end of the line the more likely it was the true q0 */ + /* In 99% cases it is the last value, but we don't want to depend on that */ + + if(q0 > first_spq && q0 < first_spq+sieve_count) { + sieve_count -= (q0 - first_spq); + first_spq = q0; + } + return 1; +} -first_psp_side= 2; -first_mpqs_side= 0; -J_bits= U32_MAX; - +/**************************************************/ +int main(int argc, char **argv) + /**************************************************/ +{ + u16_t zip_output,force_aFBcalc; + u16_t catch_signals; + u32_t all_spq_done; + u32_t n_spq, n_spq_discard; + double tStart, tNow, lastReport; + +#if defined (_MSC_VER) && defined (_DEBUG) + int tmpDbgFlag; + tmpDbgFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG); + /* + tmpDbgFlag |= _CRTDBG_CHECK_ALWAYS_DF; + tmpDbgFlag |= _CRTDBG_CHECK_CRT_DF; + tmpDbgFlag |= _CRTDBG_DELAY_FREE_MEM_DF; + */ + tmpDbgFlag |= _CRTDBG_LEAK_CHECK_DF; + _CrtSetDbgFlag(tmpDbgFlag); +#endif + + n_spq = 0; + n_spq_discard = 0; + + sieveStartTime = sTime(); + +#ifdef STC_DEBUG + debugfile= fopen("rtdsdebug","w"); +#endif + { + i32_t option; + FILE*input_data; + u32_t i; + + sieve_count= U32_MAX; + g_ofile_name= NULL; + zip_output= 0; + special_q_side= NO_SIDE; + sigma= 0; + keep_factorbase= 0; + g_resume= 0; + base_name= NULL; + first_spq= 0; + sieve_count= 1; + force_aFBcalc= 0; + sysload_cmd= NULL; + process_no= 0; + catch_signals= 0; + + first_psp_side= 2; + first_mpqs_side= 0; + J_bits= U32_MAX; + #define NumRead(x) if(sscanf(optarg,"%u",&x)!=1) Usage() #define NumRead16(x) if(sscanf(optarg,"%hu",&x)!=1) Usage() - -append_output= 0; -while((option= getopt(argc,argv,"FJ:L:M:N:P:S:ab:c:f:i:kn:o:q:rt:vz"))!=-1){ -switch(option){ -case'F': -force_aFBcalc= 1; -break; -case'J': -NumRead(J_bits); -break; -case'L': -sysload_cmd= optarg; -break; -case'M': -NumRead16(first_mpqs_side); -break; -case'P': -NumRead16(first_psp_side); -break; -case'S': -if(sscanf(optarg,"%f",&sigma)!=1){ -errprintf("Cannot read floating point number %s\n",optarg); -Usage(); -} -break; -case'a': -if(special_q_side!=NO_SIDE){ -errprintf("Ignoring -a\n"); -break; -} -special_q_side= ALGEBRAIC_SIDE; -break; -case'b': -if(basename!=NULL)errprintf("Ignoring -b %s\n",basename); -else basename= optarg; -break; -case'c': -NumRead(sieve_count); -break; -case'f': -if(sscanf(optarg,"%u:%u:%u",&first_spq,&first_spq1,&first_root)!=3){ -if(sscanf(optarg,"%u",&first_spq)==1){ -first_spq1= first_spq; -first_root= 0; -}else Usage(); -}else append_output= 1; -break; -case'i': -if(sscanf(optarg,"%hu",&cmdline_first_sieve_side)!=1) -complain("-i %s ???\n",optarg); -break; -case'k': -keep_factorbase= 1; -break; -case'n': -catch_signals= 1; -case'N': -NumRead(process_no); -break; -case'o': -ofile_name= optarg; -break; -case'q': -NumRead16(special_q_side); -break; -case'r': -if(special_q_side!=NO_SIDE){ -errprintf("Ignoring -r\n"); -break; -} -special_q_side= RATIONAL_SIDE; -break; -case't': -if(sscanf(optarg,"%hu",&cmdline_first_td_side)!=1) -complain("-t %s ???\n",optarg); -break; -case'v': -verbose++; -break; -case'z': -zip_output= 1; -break; -} -} -if(J_bits==U32_MAX)J_bits= I_bits-1; -if(first_psp_side==2)first_psp_side= first_mpqs_side; + + append_output= 0; + while((option= getopt(argc,argv,"FJ:L:M:N:P:RS:ab:c:f:i:kn:o:q:rt:vz"))!=-1) { + switch(option) { + case 'R': + g_resume = 1; break; + case'F': + force_aFBcalc= 1; + break; + case'J': + NumRead(J_bits); + break; + case'L': + sysload_cmd= optarg; + break; + case'M': + NumRead16(first_mpqs_side); + break; + case'P': + NumRead16(first_psp_side); + break; + case'S': + if(sscanf(optarg,"%f",&sigma)!=1) { + errprintf("Cannot read floating point number %s\n",optarg); + Usage(); + } + break; + case'a': + if(special_q_side!=NO_SIDE) { + errprintf("Ignoring -a\n"); + break; + } + special_q_side= ALGEBRAIC_SIDE; + break; + case'b': + if(base_name!=NULL)errprintf("Ignoring -b %s\n",base_name); + else base_name= optarg; + break; + case'c': + NumRead(sieve_count); + break; + case'f': + if(sscanf(optarg,"%u:%u:%u",&first_spq,&first_spq1,&first_root)!=3) { + if(sscanf(optarg,"%u",&first_spq) == 1) { + first_spq1= first_spq; + first_root= 0; + } else Usage(); + } else append_output= 1; + break; + case'i': + if(sscanf(optarg,"%hu",&cmdline_first_sieve_side)!=1) + complain("-i %s ???\n",optarg); + break; + case'k': + keep_factorbase= 1; + break; + case'n': + catch_signals= 1; + case'N': + NumRead(process_no); + break; + case'o': + g_ofile_name= optarg; + break; + case'q': + NumRead16(special_q_side); + break; + case'r': + if(special_q_side!=NO_SIDE) { + errprintf("Ignoring -r\n"); + break; + } + special_q_side= RATIONAL_SIDE; + break; + case't': + if(sscanf(optarg,"%hu",&cmdline_first_td_side)!=1) + complain("-t %s ???\n",optarg); + break; + case'v': + verbose++; + break; + case'z': + zip_output= 1; + break; + } + } + +#define LINE_BUF_SIZE 300 + + if (g_resume != 0) { + char buf[LINE_BUF_SIZE]; + int ret; + + if (zip_output != 0) + complain("Cannot resume gzipped file. gunzip, and retry without -z\n"); + if (g_ofile_name == NULL) + complain("Cannot resume without the file name\n"); + if (strcmp(g_ofile_name, "-") == 0) + complain("Cannot resume using stdout\n"); + if ((g_ofile = fopen(g_ofile_name, "ab+")) == NULL) + complain("Cannot open %s for append: %m\n", g_ofile_name); + while(fgets(buf, LINE_BUF_SIZE, g_ofile)) { + ret = parse_q_from_line(buf); + } + if(ret < 0) fprintf(g_ofile, "\n"); /* encapsulating the last incomplete line */ + printf(" Resuming with -f %d -c %d\n", first_spq, sieve_count); + first_spq1 = first_spq; + } + + if(J_bits == U32_MAX) + J_bits = I_bits-1; + if(first_psp_side == 2) + first_psp_side = first_mpqs_side; #ifndef I_bits #error Must #define I_bits #endif - -if(optind<argc&&basename==NULL){ -basename= argv[optind]; -optind++; -} -if(optind<argc)fprintf(stderr,"Ignoring %u trailing command line args\n", -argc-optind); -if(basename==NULL)basename= "gnfs"; -if((input_data= fopen(basename,"r"))==NULL){ -complain("Cannot open %s for input of nfs polynomials: %m\n",basename); -} -mpz_init(N); -mpz_init(m); -mpz_init(aux1); -mpz_init(aux2); -mpz_init(aux3); -mpz_init(sr_a); -mpz_init(sr_b); -mpz_ull_init(); -mpz_init(rational_rest); -mpz_init(algebraic_rest); -//input_poly(N,poly,poldeg,poly+1,poldeg+1,m,input_data); + + if(optind<argc&&base_name == NULL) { + base_name= argv[optind]; + optind++; + } + if(optind<argc)fprintf(stderr,"Ignoring %u trailing command line args\n", + argc-optind); + if(base_name == NULL)base_name= "gnfs"; + if((input_data= fopen(base_name,"r")) == NULL) { + complain("Cannot open %s for input of nfs polynomials: %m\n",base_name); + } + mpz_init(N); + mpz_init(m); + mpz_init(aux1); + mpz_init(aux2); + mpz_init(aux3); + mpz_init(sr_a); + mpz_init(sr_b); + mpz_ull_init(); + mpz_init(rational_rest); + mpz_init(algebraic_rest); + //input_poly(N,poly,poldeg,poly+1,poldeg+1,m,input_data); #if 0 -if(poldeg[1]> 1){ -if(poldeg[0]==1){ -mpz_t*X; -poldeg[0]= poldeg[1]; -poldeg[1]= 1; -X= poly[0]; -poly[0]= poly[1]; -poly[1]= X; -}else{ -complain("Degrees >1 on both sides not implemented\n"); -} -} + if(poldeg[1]> 1) { + if(poldeg[0] == 1) { + mpz_t*X; + poldeg[0]= poldeg[1]; + poldeg[1]= 1; + X= poly[0]; + poly[0]= poly[1]; + poly[1]= X; + } else { + complain("Degrees >1 on both sides not implemented\n"); + } + } #endif -//skip_blanks_comments(&input_line,&input_line_alloc,input_data); -close(input_data); - { FILE *fp; - char token[256], value[512], thisLine[1024]; - - - sieve_min[0] = sieve_min[1]=0; - - if (!(fp = fopen(basename, "rb"))) { - printf("Error opening %s for read!\n", basename); - return -1; - } - input_poly(N, poly, poldeg, poly + 1, poldeg + 1, m, fp); - rewind(fp); - while (!(feof(fp))) { - thisLine[0] = 0; - fgets(thisLine, 1023, fp); - /* Special case: If there's a polynomial, handle it seperately: */ - if (strncmp(thisLine, "START_POLY", 10)==0) { - while (!(feof(fp)) && strncmp(thisLine, "END_POLY", 8)) - fgets(thisLine, 1023, fp); - } else if ((sscanf(thisLine, "%255s %511s", token, value)==2) && - (thisLine[0] != '#')) { - - token[sizeof(token)-1] = 0; - if (strncmp(token, "skew:", 5)==0) { - sigma = (float)atof(value); - } else if (strncmp(token, "q0:", 3)==0) { - first_spq = atol(value); - first_spq1= first_spq; - first_root= 0; - - } else if (strncmp(token, "qintsize:", 9)==0) { - sieve_count = atol(value); - } else if ((strncmp(token, "skip0:", 6)==0) || - (strncmp(token, "askip:", 6)==0)) { - sieve_min[0] = atol(value); - } else if ((strncmp(token, "skip1:", 6)==0) || - (strncmp(token, "rskip:", 6)==0)) { - sieve_min[1] = atol(value); - } else if ((strncmp(token, "lim0:", 5)==0) || - (strncmp(token, "alim:", 5)==0)) { - FB_bound[0] = (float)atol(value); - } else if ((strncmp(token, "lim1:", 5)==0)|| - (strncmp(token, "rlim:", 5)==0)) { - FB_bound[1] = (float)atof(value); - } else if ((strncmp(token, "lpb0:", 5)==0) || - (strncmp(token, "lpba:", 5)==0)) { - max_primebits[0] = atoi(value); - } else if ((strncmp(token, "lpb1:", 5)==0) || - (strncmp(token, "lpbr:", 5)==0)) { - max_primebits[1] = atoi(value); - } else if ((strncmp(token, "mfb0:", 5)==0) || - (strncmp(token, "mfba:", 5)==0)) { - max_factorbits[0] = atoi(value); - } else if ((strncmp(token, "mfb1:", 5)==0) || - (strncmp(token, "mfbr:", 5)==0)) { - value[sizeof(value)-1] = 0; - max_factorbits[1] = atoi(value); - } else if ((strncmp(token, "lambda0:", 8)==0) || - (strncmp(token, "alambda:", 8)==0)) { - sieve_report_multiplier[0] = (float)atof(value); - } else if ((strncmp(token, "lambda1:", 8)==0) || - (strncmp(token, "rlambda:", 8)==0)) { - sieve_report_multiplier[1] = (float)atof(value); - } + //skip_blanks_comments(&input_line,&input_line_alloc,input_data); + close(input_data); + { FILE *fp; + char token[256], value[512], thisLine[1024]; + + + sieve_min[0] = sieve_min[1]=0; + + if (!(fp = fopen(base_name, "rb"))) { + printf("Error opening %s for read!\n", base_name); + return -1; + } + input_poly(N, poly, poldeg, poly + 1, poldeg + 1, m, fp); + rewind(fp); + while (!(feof(fp))) { + thisLine[0] = 0; + fgets(thisLine, 1023, fp); + /* Special case: If there's a polynomial, handle it seperately: */ + if (strncmp(thisLine, "START_POLY", 10) == 0) { + while (!(feof(fp)) && strncmp(thisLine, "END_POLY", 8)) + fgets(thisLine, 1023, fp); + } else if ((sscanf(thisLine, "%255s %511s", token, value) == 2) && + (thisLine[0] != '#')) { + + token[sizeof(token)-1] = 0; + if (strncmp(token, "skew:", 5) == 0) { + sigma = (float)atof(value); + } else if (strncmp(token, "q0:", 3) == 0) { + first_spq = atol(value); + first_spq1= first_spq; + first_root= 0; + + } else if (strncmp(token, "qintsize:", 9) == 0) { + sieve_count = atol(value); + } else if ((strncmp(token, "skip0:", 6) == 0) || + (strncmp(token, "askip:", 6) == 0)) { + sieve_min[0] = atol(value); + } else if ((strncmp(token, "skip1:", 6) == 0) || + (strncmp(token, "rskip:", 6) == 0)) { + sieve_min[1] = atol(value); + } else if ((strncmp(token, "lim0:", 5) == 0) || + (strncmp(token, "alim:", 5) == 0)) { + FB_bound[0] = (float)atol(value); + } else if ((strncmp(token, "lim1:", 5) == 0)|| + (strncmp(token, "rlim:", 5) == 0)) { + FB_bound[1] = (float)atof(value); + } else if ((strncmp(token, "lpb0:", 5) == 0) || + (strncmp(token, "lpba:", 5) == 0)) { + max_primebits[0] = atoi(value); + } else if ((strncmp(token, "lpb1:", 5) == 0) || + (strncmp(token, "lpbr:", 5) == 0)) { + max_primebits[1] = atoi(value); + } else if ((strncmp(token, "mfb0:", 5) == 0) || + (strncmp(token, "mfba:", 5) == 0)) { + max_factorbits[0] = atoi(value); + } else if ((strncmp(token, "mfb1:", 5) == 0) || + (strncmp(token, "mfbr:", 5) == 0)) { + value[sizeof(value)-1] = 0; + max_factorbits[1] = atoi(value); + } else if ((strncmp(token, "lambda0:", 8) == 0) || + (strncmp(token, "alambda:", 8) == 0)) { + sieve_report_multiplier[0] = (float)atof(value); + } else if ((strncmp(token, "lambda1:", 8) == 0) || + (strncmp(token, "rlambda:", 8) == 0)) { + sieve_report_multiplier[1] = (float)atof(value); + } #ifdef _NO - else { - printf("Warning: Ignoring input line:\n%s\n", thisLine); - } + else { + printf("Warning: Ignoring input line:\n%s\n", thisLine); + } #endif - } - } - fclose(fp); - } - last_spq= first_spq+sieve_count; -if(last_spq>=I32_MAX/2){ -complain("Cannot handle special q >= %d\n",I32_MAX/2); -} -for(i= 0;i<2;i++){ -if(FB_bound[i]<4||sieve_report_multiplier[i]<=0){ -complain("Please set all bounds to reasonable values!\n"); -} + } + } + fclose(fp); + } + last_spq= first_spq+sieve_count; + if(last_spq>=I32_MAX/2) { + complain("Cannot handle special q >= %d\n",I32_MAX/2); + } + for(i= 0;i<2;i++) { + if(FB_bound[i]<4||sieve_report_multiplier[i]<=0) { + complain("Please set all bounds to reasonable values!\n"); + } #if 1 -if(max_primebits[i]> 33){ -complain("Only large primes up to 33 bits are allowed.\n"); -} + if(max_primebits[i]> 33) { + complain("Only large primes up to 33 bits are allowed.\n"); + } #endif -} -if(sieve_count!=0){ -if(sigma==0)complain("Please set a skewness\n"); -if(special_q_side==NO_SIDE){ -errprintf("Please use -a or -r\n"); -Usage(); -} -if(FB_bound[special_q_side]> first_spq){ -FB_bound[special_q_side]=(float) first_spq-1; -printf("Warning: lowering FB_bound to %u.\n",first_spq-1); -//complain("Special q lower bound %u below rFB bound %g\n", -//first_spq,FB_bound[special_q_side]); -} -} -fclose(input_data); -if(poldeg[0]<poldeg[1])poldeg_max= poldeg[1]; -else poldeg_max= poldeg[0]; - - - -i_shift= 1<<(I_bits-1); -n_I= 1<<I_bits; -n_i= n_I/2; -i_bits= I_bits-1; -n_J= 1<<J_bits; -n_j= n_J/2; -j_bits= J_bits-1; -/*22:*/ -// #line 775 "gnfs-lasieve4e.w" - -{ -u32_t i,j; -double x,y,z; - -x= sqrt(first_spq*sigma)*n_I; -y= x/sigma; -for(j= 0;j<2;j++){ -poly_f[j]= xmalloc((poldeg[j]+1)*sizeof(*poly_f[j])); - -for(i= 0,z= 1,poly_norm[j]= 0; -i<=poldeg[j];i++){ -poly_f[j][i]= mpz_get_d(poly[j][i]); -poly_norm[j]= poly_norm[j]*y+fabs(poly_f[j][i])*z; -z*= x; -} -} -} - -/*:22*/ -// #line 771 "gnfs-lasieve4e.w" - -} - -/*:21*/ -// #line 301 "gnfs-lasieve4e.w" - -siever_init(); -/*23:*/ -// #line 795 "gnfs-lasieve4e.w" - -if(sieve_count!=0){ - -if(ofile_name==NULL){ -if(zip_output==0){ -asprintf(&ofile_name,"%s.lasieve-%u.%u-%u",basename, -special_q_side,first_spq,last_spq); -}else{ -asprintf(&ofile_name, -append_output==0? -"gzip --best --stdout > %s.lasieve-%u.%u-%u.gz": -"gzip --best --stdout >> %s.lasieve-%u.%u-%u.gz", -basename,special_q_side,first_spq,last_spq); -} -}else{ -if(strcmp(ofile_name,"-")==0){ -if(zip_output==0){ -ofile= stdout; -ofile_name= "to stdout"; -goto done_opening_output; -}else ofile_name= "gzip --best --stdout"; -}else{ -if(fnmatch("*.gz",ofile_name,0)==0){ -char*on1; - -zip_output= 1; -on1= strdup(ofile_name); -asprintf(&ofile_name,"gzip --best --stdout > %s",on1); -free(on1); -}else zip_output= 0; -} -} -if(zip_output==0){ -if(append_output> 0){ -ofile= fopen(ofile_name,"a"); -}else ofile= fopen(ofile_name,"w"); -if(ofile==NULL)complain("Cannot open %s for output: %m\n",ofile_name); -}else{ -if((ofile= popen(ofile_name,"w"))==NULL) -complain("Cannot exec %s for output: %m\n",ofile_name); -} -done_opening_output: -fprintf(ofile,""); -} - -/*:23*/ -// #line 303 "gnfs-lasieve4e.w" - -/*24:*/ -// #line 845 "gnfs-lasieve4e.w" - -{ -size_t FBS_alloc= 4096; -u32_t prime; -pr32_struct ps; -char*afbname; -FILE*afbfile; -u32_t side; - -initprime32(&ps); - -for(side= 0;side<2;side++){ -if(poldeg[side]==1){ -FB[side]= xmalloc(FBS_alloc*sizeof(u32_t)); -proots[side]= xmalloc(FBS_alloc*sizeof(u32_t)); -prime= firstprime32(&ps); -for(prime= nextprime32(&ps),fbi1[side]= 0,FBsize[side]= 0; -prime<FB_bound[side];prime= nextprime32(&ps)){ -u32_t x; -x= mpz_fdiv_ui(poly[side][1],prime); -if(x> 0){ -modulo32= prime; -x= modmul32(modinv32(x),mpz_fdiv_ui(poly[side][0],prime)); -x= x> 0?prime-x:0; -}else x= prime; -if(prime<L1_SIZE)fbi1[side]= FBsize[side]; -if(prime<n_i)fbis[side]= FBsize[side]; -if(FBsize[side]==FBS_alloc){ -FBS_alloc*= 2; -FB[side]= xrealloc(FB[side],FBS_alloc*sizeof(u32_t)); -proots[side]= xrealloc(proots[side],FBS_alloc*sizeof(u32_t)); -} -proots[side][FBsize[side]]= x; -FB[side][FBsize[side]++]= prime; -} -proots[side]= xrealloc(proots[side],FBsize[side]*sizeof(u32_t)); -FB[side]= xrealloc(FB[side],FBsize[side]*sizeof(u32_t)); -fbi1[side]++; -fbis[side]++; -if(fbi1[side]<fbis[side])fbi1[side]= fbis[side]; -}else{ -u32_t j,k,l; -asprintf(&afbname,"%s.afb.%u",basename,side); -if(force_aFBcalc> 0||(afbfile= fopen(afbname,"r"))==NULL){ -/*25:*/ -// #line 930 "gnfs-lasieve4e.w" - -u32_t*root_buffer; -size_t aFB_alloc; - -root_buffer= xmalloc(poldeg[side]*sizeof(*root_buffer)); -aFB_alloc= 4096; -FB[side]= xmalloc(aFB_alloc*sizeof(**FB)); -proots[side]= xmalloc(aFB_alloc*sizeof(**proots)); -for(prime= firstprime32(&ps),FBsize[side]= 0; -prime<FB_bound[side];prime= nextprime32(&ps)){ -u32_t i,nr; - -nr= root_finder(root_buffer,poly[side],poldeg[side],prime); -for(i= 0;i<nr;i++){ -if(aFB_alloc<=FBsize[side]){ -aFB_alloc*= 2; -FB[side]= xrealloc(FB[side],aFB_alloc*sizeof(**FB)); -proots[side]= xrealloc(proots[side],aFB_alloc*sizeof(**proots)); -} -FB[side][FBsize[side]]= prime; -proots[side][FBsize[side]]= root_buffer[i]; -if(prime> 2)FBsize[side]++; -} -} -FB[side]= xrealloc(FB[side],FBsize[side]*sizeof(**FB)); -proots[side]= xrealloc(proots[side],FBsize[side]*sizeof(**proots)); -free(root_buffer); - -/*:25*/ -// #line 889 "gnfs-lasieve4e.w" - -if(keep_factorbase> 0)/*27:*/ -// #line 975 "gnfs-lasieve4e.w" - -{ -if((afbfile= fopen(afbname,"w"))==NULL){ -complain("Cannot open %s for output of aFB: %m\n",afbname); -} -if(write_u32(afbfile,&(FBsize[side]),1)!=1){ -complain("Cannot write aFBsize to %s: %m\n",afbname); -} -if(write_u32(afbfile,FB[side],FBsize[side])!=FBsize[side]|| -write_u32(afbfile,proots[side],FBsize[side])!=FBsize[side]){ -complain("Cannot write aFB to %s: %m\n",afbname); -} -if(write_u32(afbfile,&xFBs[side],1)!=1){ -complain("Cannot write aFBsize to %s: %m\n",afbname); -} -fclose(afbfile); -} - -/*:27*/ -// #line 890 "gnfs-lasieve4e.w" - -}else{ -/*26:*/ -// #line 959 "gnfs-lasieve4e.w" - -if(read_u32(afbfile,&(FBsize[side]),1)!=1){ -complain("Cannot read aFB size from %s: %m\n",afbname); -} -FB[side]= xmalloc(FBsize[side]*sizeof(u32_t)); -proots[side]= xmalloc(FBsize[side]*sizeof(u32_t)); -if(read_u32(afbfile,FB[side],FBsize[side])!=FBsize[side]|| -read_u32(afbfile,proots[side],FBsize[side])!=FBsize[side]){ -complain("Cannot read aFB from %s: %m\n",afbname); -} -if(read_u32(afbfile,&xFBs[side],1)!=1){ -complain("%s: Cannot read xFBsize\n",afbname); -} -fclose(afbfile); - -/*:26*/ -// #line 892 "gnfs-lasieve4e.w" - -} - - -for(j= 0,k= 0,l= 0;j<FBsize[side];j++){ -if(FB[side][j]<L1_SIZE)k= j; -if(FB[side][j]<n_i)l= j; -if(FB[side][j]> L1_SIZE&&FB[side][j]> n_I)break; -} -if(FBsize[side]> 0){ -if(k<l)k= l; -fbis[side]= l+1; -fbi1[side]= k+1; -}else{ -fbis[side]= 0; -fbi1[side]= 0; -} -} -} - -{ -u32_t i,srfbs,safbs; - -for(i= 0,srfbs= 0;i<xFBs[1];i++){ -if(xFB[1][i].p==xFB[1][i].pp)srfbs++; -} -for(i= 0,safbs= 0;i<xFBs[0];i++){ -if(xFB[0][i].p==xFB[0][i].pp)safbs++; -} -logbook(0,"FBsize %u+%u (deg %u), %u+%u (deg %u)\n", -FBsize[0],safbs,poldeg[0],FBsize[1],srfbs,poldeg[1]); -} -free(afbname); - -/*45:*/ -// #line 1617 "gnfs-lasieve4e.w" - -{ -u32_t i; -size_t si,sj; - -n_srb_i= 2*((n_i+2*CANDIDATE_SEARCH_STEPS-1)/(2*CANDIDATE_SEARCH_STEPS)); -n_srb_j= (n_J+2*CANDIDATE_SEARCH_STEPS-1)/(2*CANDIDATE_SEARCH_STEPS); -sj= n_srb_j*sizeof(*(sieve_report_bounds[0])); -si= n_srb_i*sizeof(**(sieve_report_bounds[0])); -for(i= 0;i<2;i++){ -u32_t j; - -tpoly_f[i]= xmalloc((1+poldeg[i])*sizeof(**tpoly_f)); -sieve_report_bounds[i]= xmalloc(sj); -for(j= 0;j<n_srb_j;j++) -sieve_report_bounds[i][j]= xmalloc(si); -} -} - -/*:45*/ -// #line 926 "gnfs-lasieve4e.w" - -} - -/*:24*/ -// #line 304 "gnfs-lasieve4e.w" - -if(sieve_count==0)exit(0); -/*30:*/ -// #line 1004 "gnfs-lasieve4e.w" - -{ -u32_t side,i; - -for(side= 0;side<2;side++){ -u32_t prime,nr; -struct xFBstruct*s; -u32_t*root_buffer; -size_t xaFB_alloc= 0; -FB_logs[side]= xmalloc(FBsize[side]); -sieve_multiplier[side]= (UCHAR_MAX-50)/log(poly_norm[side]); - -root_buffer= xmalloc(poldeg[side]*sizeof(*root_buffer)); -prime= 2; -nr= root_finder(root_buffer,poly[side],poldeg[side],prime); - -for(i= 0;i<nr;i++){ -adjust_bufsize((void**)&(xFB[side]),&xaFB_alloc,1+xFBs[side], -16,sizeof(**xFB)); -s= xFB[side]+xFBs[side]; -s->p= prime; -s->pp= prime; -if(root_buffer[i]==prime){ -s->qq= prime; -s->q= 1; -s->r= 1; -}else{ -s->qq= 1; -s->q= prime; -s->r= root_buffer[i]; -} -xFBs[side]++; -add_primepowers2xaFB(&xaFB_alloc,n_I,side,0,0); -} -free(root_buffer); -for(i= 0;i<FBsize[side];i++){ -double l; -u32_t l1; - -prime= FB[side][i]; -if(prime> n_I/prime)break; -l= log(prime); -l1= add_primepowers2xaFB(&xaFB_alloc,n_I,side,prime,proots[side][i]); -FB_logs[side][i]= rint(l1*l*sieve_multiplier[side]); -} -while(i<FBsize[side]){ -double l; - -l= log(FB[side][i]); -if(l> FB_maxlog[side])FB_maxlog[side]= l; -FB_logs[side][i++]= rint(sieve_multiplier[side]*l); -} -FB_maxlog[side]*= sieve_multiplier[side]; -qsort(xFB[side],xFBs[side],sizeof(*(xFB[side])),xFBcmp); -} -} - -/*:30*/ -// #line 306 "gnfs-lasieve4e.w" - -/*35:*/ -// #line 1133 "gnfs-lasieve4e.w" - -sieve_interval= xvalloc(L1_SIZE); -cand= xvalloc(L1_SIZE*sizeof(*cand)); -fss_sv= xvalloc(L1_SIZE); -tiny_sieve_buffer= xmalloc(TINY_SIEVEBUFFER_SIZE); -if(n_i> L1_SIZE) -complain("Strip length %u exceeds L1 size %u\n",n_i,L1_SIZE); -j_per_strip= L1_SIZE/n_i; -jps_bits= L1_BITS-i_bits; -jps_mask= j_per_strip-1; -if(j_per_strip!=1<<jps_bits) -Schlendrian("Expected %u j per strip, calculated %u\n", -j_per_strip,1<<jps_bits); -n_strips= n_j>>(L1_BITS-i_bits); -rec_info_init(n_i,n_j); -/*58:*/ -// #line 1796 "gnfs-lasieve4e.w" - -{ -u32_t s; + } + if(sieve_count!=0) { + if(sigma == 0)complain("Please set a skewness\n"); + if(special_q_side == NO_SIDE) { + errprintf("Please use -a or -r\n"); + Usage(); + } + if(FB_bound[special_q_side]> first_spq) { + FB_bound[special_q_side]=(float) first_spq-1; + printf("Warning: lowering FB_bound to %u.\n",first_spq-1); + //complain("Special q lower bound %u below rFB bound %g\n", + //first_spq,FB_bound[special_q_side]); + } + } + fclose(input_data); + if(poldeg[0]<poldeg[1])poldeg_max= poldeg[1]; + else poldeg_max= poldeg[0]; + + + + i_shift= 1<<(I_bits-1); + n_I= 1<<I_bits; + n_i= n_I/2; + i_bits= I_bits-1; + n_J= 1<<J_bits; + n_j= n_J/2; + j_bits= J_bits-1; + { + u32_t i,j; + double x,y,z; + + x= sqrt(first_spq*sigma)*n_I; + y= x/sigma; + for(j= 0;j<2;j++) { + poly_f[j]= xmalloc((poldeg[j]+1)*sizeof(*poly_f[j])); + + for(i= 0,z= 1,poly_norm[j]= 0; + i<=poldeg[j];i++) { + poly_f[j][i]= mpz_get_d(poly[j][i]); + poly_norm[j]= poly_norm[j]*y+fabs(poly_f[j][i])*z; + z*= x; + } + } + } + + } + + siever_init(); + if(sieve_count!=0) { + if(g_ofile_name == NULL) { + if(zip_output == 0) { + asprintf(&g_ofile_name,"%s.lasieve-%u.%u-%u",base_name, + special_q_side,first_spq,last_spq); + } else { + asprintf(&g_ofile_name, + append_output == 0? + "gzip --best --stdout > %s.lasieve-%u.%u-%u.gz": + "gzip --best --stdout >> %s.lasieve-%u.%u-%u.gz", + base_name,special_q_side,first_spq,last_spq); + } + } else { + if(strcmp(g_ofile_name,"-") == 0) { + if(zip_output == 0) { + g_ofile= stdout; + g_ofile_name= "to stdout"; + goto done_opening_output; + } else g_ofile_name= "gzip --best --stdout"; + } else { + if(fnmatch("*.gz",g_ofile_name,0) == 0) { + char*on1; + + zip_output= 1; + on1= strdup(g_ofile_name); + asprintf(&g_ofile_name,"gzip --best --stdout > %s",on1); + free(on1); + } else zip_output= 0; + } + } + if(zip_output == 0) { + if (g_resume != 0) { + goto done_opening_output; + } + if(append_output> 0) { + g_ofile= fopen(g_ofile_name,"a"); + } else { + if ((g_ofile = fopen(g_ofile_name, "r")) != NULL) + complain(" Will not overwrite existing file %s for output; rename it, move it away, or use -R option (resume)\n", g_ofile_name); + g_ofile= fopen(g_ofile_name,"w"); + } + if(g_ofile == NULL)complain("Cannot open %s for output: %m\n",g_ofile_name); + } else { + if ((g_ofile= popen(g_ofile_name,"w")) == NULL) + complain("Cannot exec %s for output: %m\n",g_ofile_name); + } + done_opening_output: + fprintf(g_ofile,""); + } + + { + size_t FBS_alloc= 4096; + u32_t prime; + pr32_struct ps; + char*afbname; + FILE*afbfile; + u32_t side; + + initprime32(&ps); + + for(side= 0;side<2;side++) { + if(poldeg[side] == 1) { + FB[side]= xmalloc(FBS_alloc*sizeof(u32_t)); + proots[side]= xmalloc(FBS_alloc*sizeof(u32_t)); + prime= firstprime32(&ps); + for(prime= nextprime32(&ps),fbi1[side]= 0,FBsize[side]= 0; + prime<FB_bound[side];prime= nextprime32(&ps)) { + u32_t x; + x= mpz_fdiv_ui(poly[side][1],prime); + if(x> 0) { + modulo32= prime; + x= modmul32(modinv32(x),mpz_fdiv_ui(poly[side][0],prime)); + x= x> 0?prime-x:0; + } else x= prime; + if(prime<L1_SIZE)fbi1[side]= FBsize[side]; + if(prime<n_i)fbis[side]= FBsize[side]; + if(FBsize[side] == FBS_alloc) { + FBS_alloc*= 2; + FB[side]= xrealloc(FB[side],FBS_alloc*sizeof(u32_t)); + proots[side]= xrealloc(proots[side],FBS_alloc*sizeof(u32_t)); + } + proots[side][FBsize[side]]= x; + FB[side][FBsize[side]++]= prime; + } + proots[side]= xrealloc(proots[side],FBsize[side]*sizeof(u32_t)); + FB[side]= xrealloc(FB[side],FBsize[side]*sizeof(u32_t)); + fbi1[side]++; + fbis[side]++; + if(fbi1[side]<fbis[side])fbi1[side]= fbis[side]; + } else { + u32_t j,k,l; + asprintf(&afbname,"%s.afb.%u",base_name,side); + if(force_aFBcalc> 0||(afbfile= fopen(afbname,"r")) == NULL) { + u32_t*root_buffer; + size_t aFB_alloc; + + root_buffer= xmalloc(poldeg[side]*sizeof(*root_buffer)); + aFB_alloc= 4096; + FB[side]= xmalloc(aFB_alloc*sizeof(**FB)); + proots[side]= xmalloc(aFB_alloc*sizeof(**proots)); + for(prime= firstprime32(&ps),FBsize[side]= 0; + prime<FB_bound[side];prime= nextprime32(&ps)) { + u32_t i,nr; + + nr= root_finder(root_buffer,poly[side],poldeg[side],prime); + for(i= 0;i<nr;i++) { + if(aFB_alloc<=FBsize[side]) { + aFB_alloc*= 2; + FB[side]= xrealloc(FB[side],aFB_alloc*sizeof(**FB)); + proots[side]= xrealloc(proots[side],aFB_alloc*sizeof(**proots)); + } + FB[side][FBsize[side]]= prime; + proots[side][FBsize[side]]= root_buffer[i]; + if(prime> 2)FBsize[side]++; + } + } + FB[side]= xrealloc(FB[side],FBsize[side]*sizeof(**FB)); + proots[side]= xrealloc(proots[side],FBsize[side]*sizeof(**proots)); + free(root_buffer); + + if(keep_factorbase> 0) { + if((afbfile= fopen(afbname,"w")) == NULL) { + complain("Cannot open %s for output of aFB: %m\n",afbname); + } + if(write_u32(afbfile,&(FBsize[side]),1)!=1) { + complain("Cannot write aFBsize to %s: %m\n",afbname); + } + if(write_u32(afbfile,FB[side],FBsize[side])!=FBsize[side]|| + write_u32(afbfile,proots[side],FBsize[side])!=FBsize[side]) { + complain("Cannot write aFB to %s: %m\n",afbname); + } + if(write_u32(afbfile,&xFBs[side],1)!=1) { + complain("Cannot write aFBsize to %s: %m\n",afbname); + } + fclose(afbfile); + } + + } else { + if(read_u32(afbfile,&(FBsize[side]),1)!=1) { + complain("Cannot read aFB size from %s: %m\n",afbname); + } + FB[side]= xmalloc(FBsize[side]*sizeof(u32_t)); + proots[side]= xmalloc(FBsize[side]*sizeof(u32_t)); + if(read_u32(afbfile,FB[side],FBsize[side])!=FBsize[side]|| + read_u32(afbfile,proots[side],FBsize[side])!=FBsize[side]) { + complain("Cannot read aFB from %s: %m\n",afbname); + } + if(read_u32(afbfile,&xFBs[side],1)!=1) { + complain("%s: Cannot read xFBsize\n",afbname); + } + fclose(afbfile); + + } + + + for(j= 0,k= 0,l= 0;j<FBsize[side];j++) { + if(FB[side][j]<L1_SIZE)k= j; + if(FB[side][j]<n_i)l= j; + if(FB[side][j]> L1_SIZE&&FB[side][j]> n_I)break; + } + if(FBsize[side]> 0) { + if(k<l)k= l; + fbis[side]= l+1; + fbi1[side]= k+1; + } else { + fbis[side]= 0; + fbi1[side]= 0; + } + } + } + + { + u32_t i,srfbs,safbs; + + for(i= 0,srfbs= 0;i<xFBs[1];i++) { + if(xFB[1][i].p == xFB[1][i].pp)srfbs++; + } + for(i= 0,safbs= 0;i<xFBs[0];i++) { + if(xFB[0][i].p == xFB[0][i].pp)safbs++; + } + logbook(0,"FBsize %u+%u (deg %u), %u+%u (deg %u)\n", + FBsize[0],safbs,poldeg[0],FBsize[1],srfbs,poldeg[1]); + } + free(afbname); + + { + u32_t i; + size_t si,sj; + + n_srb_i= 2*((n_i+2*CANDIDATE_SEARCH_STEPS-1)/(2*CANDIDATE_SEARCH_STEPS)); + n_srb_j= (n_J+2*CANDIDATE_SEARCH_STEPS-1)/(2*CANDIDATE_SEARCH_STEPS); + sj= n_srb_j*sizeof(*(sieve_report_bounds[0])); + si= n_srb_i*sizeof(**(sieve_report_bounds[0])); + for(i= 0;i<2;i++) { + u32_t j; + + tpoly_f[i]= xmalloc((1+poldeg[i])*sizeof(**tpoly_f)); + sieve_report_bounds[i]= xmalloc(sj); + for(j= 0;j<n_srb_j;j++) + sieve_report_bounds[i][j]= xmalloc(si); + } + } + + } + + if(sieve_count == 0)exit(0); + { + u32_t side,i; + + for(side= 0;side<2;side++) { + u32_t prime,nr; + struct xFBstruct*s; + u32_t*root_buffer; + size_t xaFB_alloc= 0; + FB_logs[side]= xmalloc(FBsize[side]); + sieve_multiplier[side]= (UCHAR_MAX-50)/log(poly_norm[side]); + + root_buffer= xmalloc(poldeg[side]*sizeof(*root_buffer)); + prime= 2; + nr= root_finder(root_buffer,poly[side],poldeg[side],prime); + + for(i= 0;i<nr;i++) { + adjust_bufsize((void**)&(xFB[side]),&xaFB_alloc,1+xFBs[side], + 16,sizeof(**xFB)); + s= xFB[side]+xFBs[side]; + s->p= prime; + s->pp= prime; + if(root_buffer[i] == prime) { + s->qq= prime; + s->q= 1; + s->r= 1; + } else { + s->qq= 1; + s->q= prime; + s->r= root_buffer[i]; + } + xFBs[side]++; + add_primepowers2xaFB(&xaFB_alloc,n_I,side,0,0); + } + free(root_buffer); + for(i= 0;i<FBsize[side];i++) { + double l; + u32_t l1; + + prime= FB[side][i]; + if(prime> n_I/prime)break; + l= log(prime); + l1= add_primepowers2xaFB(&xaFB_alloc,n_I,side,prime,proots[side][i]); + FB_logs[side][i]= rint(l1*l*sieve_multiplier[side]); + } + while(i<FBsize[side]) { + double l; + + l= log(FB[side][i]); + if(l> FB_maxlog[side])FB_maxlog[side]= l; + FB_logs[side][i++]= rint(sieve_multiplier[side]*l); + } + FB_maxlog[side]*= sieve_multiplier[side]; + qsort(xFB[side],xFBs[side],sizeof(*(xFB[side])),xFBcmp); + } + } + + sieve_interval= xvalloc(L1_SIZE); + cand= xvalloc(L1_SIZE*sizeof(*cand)); + fss_sv= xvalloc(L1_SIZE); + tiny_sieve_buffer= xmalloc(TINY_SIEVEBUFFER_SIZE); + if(n_i> L1_SIZE) + complain("Strip length %u exceeds L1 size %u\n",n_i,L1_SIZE); + j_per_strip= L1_SIZE/n_i; + jps_bits= L1_BITS-i_bits; + jps_mask= j_per_strip-1; + if(j_per_strip!=1<<jps_bits) + Schlendrian("Expected %u j per strip, calculated %u\n", + j_per_strip,1<<jps_bits); + n_strips= n_j>>(L1_BITS-i_bits); + rec_info_init(n_i,n_j); + { + u32_t s; #define MAX_TINY_2POW 4 - -if(poldeg[0]<poldeg[1])s= poldeg[1]; -else s= poldeg[0]; -tinysieve_curpos= xmalloc(TINY_SIEVE_MIN*s*sizeof(*tinysieve_curpos)); -horizontal_sievesums= xmalloc(j_per_strip*sizeof(*horizontal_sievesums)); -for(s= 0;s<2;s++){ -u32_t fbi; -size_t maxent; - -smallsieve_aux[s]= xmalloc(4*fbis[s]*sizeof(*(smallsieve_aux[s]))); + + if(poldeg[0]<poldeg[1])s= poldeg[1]; + else s= poldeg[0]; + tinysieve_curpos= xmalloc(TINY_SIEVE_MIN*s*sizeof(*tinysieve_curpos)); + horizontal_sievesums= xmalloc(j_per_strip*sizeof(*horizontal_sievesums)); + for(s= 0;s<2;s++) { + u32_t fbi; + size_t maxent; + + smallsieve_aux[s]= xmalloc(4*fbis[s]*sizeof(*(smallsieve_aux[s]))); #ifndef MMX_TD #ifdef PREINVERT -smalltd_pi[s]= xmalloc(fbis[s]*sizeof(*(smalltd_pi[s]))); + smalltd_pi[s]= xmalloc(fbis[s]*sizeof(*(smalltd_pi[s]))); #endif -smalltdsieve_aux[s]= xmalloc(j_per_strip*sizeof(*(smalltdsieve_aux[s]))); -for(fbi= 0;fbi<j_per_strip;fbi++) -smalltdsieve_aux[s][fbi]= -xmalloc(fbis[s]*sizeof(**(smalltdsieve_aux[s]))); + smalltdsieve_aux[s]= xmalloc(j_per_strip*sizeof(*(smalltdsieve_aux[s]))); + for(fbi= 0;fbi<j_per_strip;fbi++) + smalltdsieve_aux[s][fbi]= + xmalloc(fbis[s]*sizeof(**(smalltdsieve_aux[s]))); #else - -MMX_TdAllocate(j_per_strip,fbis[0],fbis[1]); + + MMX_TdAllocate(j_per_strip,fbis[0],fbis[1]); #endif -smallsieve_aux1[s]= xmalloc(6*xFBs[s]*sizeof(*(smallsieve_aux1[s]))); - - -maxent= fbis[s]; -maxent+= xFBs[s]; -smallpsieve_aux[s]= xmalloc(3*maxent*sizeof(*(smallpsieve_aux[s]))); -maxent= 0; -for(fbi= 0;fbi<xFBs[s];fbi++){ -if(xFB[s][fbi].p==2) -maxent++; -} -smallsieve_aux2[s]= xmalloc(4*maxent*sizeof(*(smallsieve_aux2[s]))); -x2FB[s]= xmalloc(maxent*6*sizeof(*(x2FB[s]))); -} -} - -/*:58*//*59:*/ -// #line 1839 "gnfs-lasieve4e.w" - + smallsieve_aux1[s]= xmalloc(6*xFBs[s]*sizeof(*(smallsieve_aux1[s]))); + + + maxent= fbis[s]; + maxent+= xFBs[s]; + smallpsieve_aux[s]= xmalloc(3*maxent*sizeof(*(smallpsieve_aux[s]))); + maxent= 0; + for(fbi= 0;fbi<xFBs[s];fbi++) { + if(xFB[s][fbi].p == 2) + maxent++; + } + smallsieve_aux2[s]= xmalloc(4*maxent*sizeof(*(smallsieve_aux2[s]))); + x2FB[s]= xmalloc(maxent*6*sizeof(*(x2FB[s]))); + } + } + #ifdef GCD_SIEVE_BOUND -{ -u32_t p,i; - -firstprime32(&special_q_ps); -np_gcd_sieve= 0; -for(p= nextprime32(&special_q_ps);p<GCD_SIEVE_BOUND; -p= nextprime32(&special_q_ps))np_gcd_sieve++; -gcd_sieve_buffer= xmalloc(2*np_gcd_sieve*sizeof(*gcd_sieve_buffer)); - -firstprime32(&special_q_ps); -i= 0; -for(p= nextprime32(&special_q_ps);p<GCD_SIEVE_BOUND; -p= nextprime32(&special_q_ps))gcd_sieve_buffer[2*i++]= p; -} + { + u32_t p,i; + + firstprime32(&special_q_ps); + np_gcd_sieve= 0; + for(p= nextprime32(&special_q_ps);p<GCD_SIEVE_BOUND; + p= nextprime32(&special_q_ps))np_gcd_sieve++; + gcd_sieve_buffer= xmalloc(2*np_gcd_sieve*sizeof(*gcd_sieve_buffer)); + + firstprime32(&special_q_ps); + i= 0; + for(p= nextprime32(&special_q_ps);p<GCD_SIEVE_BOUND; + p= nextprime32(&special_q_ps))gcd_sieve_buffer[2*i++]= p; + } #endif - -/*:59*/ -// #line 1148 "gnfs-lasieve4e.w" - -{ -u32_t s; -for(s= 0;s<2;s++){ -if(sieve_min[s]<TINY_SIEVE_MIN&&sieve_min[s]!=0){ -errprintf("Sieving with all primes on side %u since\n",s); -errprintf("tiny sieve procedure is being used\n"); -sieve_min[s]= 0; -} -current_ij[s]= xmalloc(FBsize[s]*sizeof(*current_ij[s])); -LPri[s]= xmalloc(FBsize[s]*sizeof(**LPri)*RI_SIZE); -} -} - -/*:35*//*36:*/ -// #line 1175 "gnfs-lasieve4e.w" - -{ -u32_t s; -size_t total_alloc; -u16_t*sched_buf; -double pvl_max[2]; - -total_alloc= 0; -for(s= 0;s<2;s++){ -u32_t i,fbi_lb; - -if(sigma>=1)pvl_max[s]= poldeg[s]*log(last_spq*sqrt(sigma)); -else pvl_max[s]= poldeg[s]*log(last_spq/sqrt(sigma)); -pvl_max[s]+= log(poly_norm[s]); -if(fbi1[s]>=FBsize[s]||i_bits+j_bits<=L1_BITS){ -n_schedules[s]= 0; -continue; -} -for(i= 0;i<N_PRIMEBOUNDS;i++) -if(FB_bound[s]<=schedule_primebounds[i]|| -i_bits+j_bits<=schedule_sizebits[i]) -break; -n_schedules[s]= i+1; -schedules[s]= xmalloc(n_schedules[s]*sizeof(**schedules)); -fbi_lb= fbi1[s]; -for(i= 0;i<n_schedules[s];i++){ -u32_t fbp_lb,fbp_ub; -u32_t fbi,fbi_ub; -u32_t sp_i; -u32_t n,sl_i; -u32_t ns; -size_t allocate,all1; - -if(i==n_schedules[s]-1)fbp_ub= FB_bound[s]; -else fbp_ub= schedule_primebounds[i]; -if(i==0)fbp_lb= FB[s][fbi1[s]]; -else fbp_lb= schedule_primebounds[i-1]; - -if(i_bits+j_bits<schedule_sizebits[i])ns= 1<<(i_bits+j_bits-L1_BITS); -else ns= 1<<(schedule_sizebits[i]-L1_BITS); -schedules[s][i].n_strips= ns; - - - + + { + u32_t s; + for(s= 0;s<2;s++) { + if(sieve_min[s]<TINY_SIEVE_MIN&&sieve_min[s]!=0) { + errprintf("Sieving with all primes on side %u since\n",s); + errprintf("tiny sieve procedure is being used\n"); + sieve_min[s]= 0; + } + current_ij[s]= xmalloc(FBsize[s]*sizeof(*current_ij[s])); + LPri[s]= xmalloc(FBsize[s]*sizeof(**LPri)*RI_SIZE); + } + } + + { + u32_t s; + size_t total_alloc; + u16_t*sched_buf; + double pvl_max[2]; + + total_alloc= 0; + for(s= 0;s<2;s++) { + u32_t i,fbi_lb; + + if(sigma>=1)pvl_max[s]= poldeg[s]*log(last_spq*sqrt(sigma)); + else pvl_max[s]= poldeg[s]*log(last_spq/sqrt(sigma)); + pvl_max[s]+= log(poly_norm[s]); + if(fbi1[s]>=FBsize[s]||i_bits+j_bits<=L1_BITS) { + n_schedules[s]= 0; + continue; + } + for(i= 0;i<N_PRIMEBOUNDS;i++) + if(FB_bound[s]<=schedule_primebounds[i]|| + i_bits+j_bits<=schedule_sizebits[i]) + break; + n_schedules[s]= i+1; + schedules[s]= xmalloc(n_schedules[s]*sizeof(**schedules)); + fbi_lb= fbi1[s]; + for(i= 0;i<n_schedules[s];i++) { + u32_t fbp_lb,fbp_ub; + u32_t fbi,fbi_ub; + u32_t sp_i; + u32_t n,sl_i; + u32_t ns; + size_t allocate,all1; + + if(i == n_schedules[s]-1)fbp_ub= FB_bound[s]; + else fbp_ub= schedule_primebounds[i]; + if(i == 0)fbp_lb= FB[s][fbi1[s]]; + else fbp_lb= schedule_primebounds[i-1]; + + if(i_bits+j_bits<schedule_sizebits[i])ns= 1<<(i_bits+j_bits-L1_BITS); + else ns= 1<<(schedule_sizebits[i]-L1_BITS); + schedules[s][i].n_strips= ns; + + + #ifndef SCHED_TOL #ifndef NO_SCHEDTOL +/* these values are experimental; report SCHED_PATHOLOGY to http://mersenneforum.org/showthread.php?t=11430 */ +#define SCHED_PAD 48 +#if I_bits<15 #define SCHED_TOL 2 +#else +#define SCHED_TOL 1.2 #endif #endif +#endif #ifdef SCHED_TOL -allocate= rint(SCHED_TOL*n_i*j_per_strip*log(log(fbp_ub)/log(fbp_lb))); + allocate = rint(SCHED_PAD + SCHED_TOL * n_i * j_per_strip * log(log(fbp_ub) / log(fbp_lb))); #else -allocate= rint(sched_tol[i]*n_i*j_per_strip*log(log(fbp_ub)/log(fbp_lb))); + allocate = rint(sched_tol[i]*n_i*j_per_strip*log(log(fbp_ub)/log(fbp_lb))); #endif -allocate*= SE_SIZE; - - - -all1= allocate+n_i*ceil(pvl_max[s]/log(fbp_lb))*SE_SIZE; -schedules[s][i].alloc= allocate; -schedules[s][i].alloc1= all1; - -for(n= 0,fbi= fbi_lb;fbi<FBsize[s];){ -u32_t fbi_ub1; -fbi_ub1= fbi+SCHEDFBI_MAXSTEP; -if(fbi_ub1>=FBsize[s])fbi_ub1= FBsize[s]; -else{ -if(FB[s][fbi_ub1]> fbp_ub){ -while(FB[s][fbi_ub1]> fbp_ub) -fbi_ub1--; -fbi_ub1++; -} -} -if(FB_logs[s][fbi]==FB_logs[s][fbi_ub1-1]){ -n++; -fbi= fbi_ub1; -}else{ -u32_t l; -n+= FB_logs[s][fbi_ub1-1]-FB_logs[s][fbi]; -fbi= fbi_ub1-1; -l= FB_logs[s][fbi]; -while(FB_logs[s][fbi]==l)fbi--; -fbi++; -} -if(fbi>=FBsize[s]||FB[s][fbi]> fbp_ub)break; -} -fbi_ub= fbi; -schedules[s][i].n_pieces= n; -n++; -schedules[s][i].schedule= xmalloc(n*sizeof(*(schedules[s][i].schedule))); -for(sl_i= 0;sl_i<n;sl_i++) -schedules[s][i].schedule[sl_i]= -xmalloc(ns*sizeof(**(schedules[s][i].schedule))); -schedules[s][i].schedule[0][0]= (u16_t*)total_alloc; -total_alloc+= all1; -for(sp_i= 1;sp_i<ns;sp_i++){ -schedules[s][i].schedule[0][sp_i]= (u16_t*)total_alloc; -total_alloc+= allocate; -} -schedules[s][i].fbi_bounds= -xmalloc(n*sizeof(*(schedules[s][i].fbi_bounds))); -schedules[s][i].schedlogs= xmalloc(n); -for(n= 0,fbi= fbi_lb;fbi<fbi_ub;){ -u32_t fbi_ub1; -fbi_ub1= fbi+SCHEDFBI_MAXSTEP; -if(fbi_ub1> fbi_ub)fbi_ub1= fbi_ub; -if(FB_logs[s][fbi]==FB_logs[s][fbi_ub1-1]){ -schedules[s][i].fbi_bounds[n++]= fbi; -fbi= fbi_ub1; -}else{ -u32_t l,lmax; - -lmax= FB_logs[s][fbi_ub1-1]; -for(l= FB_logs[s][fbi];l<lmax;l++){ -schedules[s][i].fbi_bounds[n++]= fbi; -while(fbi<fbi_ub&&FB_logs[s][fbi]==l)fbi++; -} -} -} -if(n!=schedules[s][i].n_pieces) -Schlendrian("Expected %u schedule pieces on side %u, have %u\n", -schedules[s][i].n_pieces,s,n); -schedules[s][i].fbi_bounds[n++]= fbi; -for(n= 0;n<schedules[s][i].n_pieces;n++) -schedules[s][i].schedlogs[n]= FB_logs[s][schedules[s][i].fbi_bounds[n]]; -schedules[s][i].ri= -LPri[s]+(schedules[s][i].fbi_bounds[0]-fbis[s])*RI_SIZE; -fbi_lb= fbi_ub; -} -} -/*37:*/ -// #line 1323 "gnfs-lasieve4e.w" - -sched_buf= xmalloc((total_alloc+65536*SE_SIZE*j_per_strip)* -sizeof(**((**schedules).schedule))); -for(s= 0;s<2;s++){ -u32_t i; -for(i= 0;i<n_schedules[s];i++){ -u32_t sp_i; - -for(sp_i= 0;sp_i<schedules[s][i].n_strips;sp_i++) -schedules[s][i].schedule[0][sp_i]= -sched_buf+(size_t)(schedules[s][i].schedule[0][sp_i]); -} -} - -/*:37*/ -// #line 1305 "gnfs-lasieve4e.w" - -/*39:*/ -// #line 1349 "gnfs-lasieve4e.w" - + allocate*= SE_SIZE; + + all1= allocate+n_i*ceil(pvl_max[s]/log(fbp_lb))*SE_SIZE; + schedules[s][i].alloc= allocate; + schedules[s][i].alloc1= all1; + //printf("### [%d][%d] alloc = %ld %ld %ld %ld\n",s,i,allocate,all1,n_i,j_per_strip); + + for(n= 0,fbi= fbi_lb;fbi<FBsize[s];) { + u32_t fbi_ub1; + fbi_ub1= fbi+SCHEDFBI_MAXSTEP; + if(fbi_ub1>=FBsize[s])fbi_ub1= FBsize[s]; + else{ + if(FB[s][fbi_ub1]> fbp_ub) { + while(FB[s][fbi_ub1]> fbp_ub) + fbi_ub1--; + fbi_ub1++; + } + } + if(FB_logs[s][fbi] == FB_logs[s][fbi_ub1-1]) { + n++; + fbi= fbi_ub1; + } else { + u32_t l; + n+= FB_logs[s][fbi_ub1-1]-FB_logs[s][fbi]; + fbi= fbi_ub1-1; + l= FB_logs[s][fbi]; + while(FB_logs[s][fbi] == l)fbi--; + fbi++; + } + if(fbi>=FBsize[s]||FB[s][fbi]> fbp_ub)break; + } + fbi_ub= fbi; + schedules[s][i].n_pieces= n; + n++; + schedules[s][i].schedule... [truncated message content] |
From: <Ba...@us...> - 2009-04-18 03:42:19
|
Revision: 352 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=352&view=rev Author: Batalov Date: 2009-04-18 03:42:10 +0000 (Sat, 18 Apr 2009) Log Message: ----------- Adding 64-bit linux optimized lasieve4 Added Paths: ----------- trunk/src/experimental/lasieve4_64/ trunk/src/experimental/lasieve4_64/COPYING trunk/src/experimental/lasieve4_64/INSTALL trunk/src/experimental/lasieve4_64/Makefile trunk/src/experimental/lasieve4_64/athlon/ trunk/src/experimental/lasieve4_64/athlon/32bit.h trunk/src/experimental/lasieve4_64/athlon/MMX-TD.c trunk/src/experimental/lasieve4_64/athlon/MMX-TD1.asm trunk/src/experimental/lasieve4_64/athlon/asm_mul128.asm trunk/src/experimental/lasieve4_64/athlon/asm_mul64.asm trunk/src/experimental/lasieve4_64/athlon/asm_mul96.asm trunk/src/experimental/lasieve4_64/athlon/basemath.c trunk/src/experimental/lasieve4_64/athlon/gcd32.c trunk/src/experimental/lasieve4_64/athlon/lasched.w trunk/src/experimental/lasieve4_64/athlon/lasched0.asm trunk/src/experimental/lasieve4_64/athlon/lasched1.asm trunk/src/experimental/lasieve4_64/athlon/lasched2.asm trunk/src/experimental/lasieve4_64/athlon/lasched3.asm trunk/src/experimental/lasieve4_64/athlon/ls-defs.asm trunk/src/experimental/lasieve4_64/athlon/medsched.w trunk/src/experimental/lasieve4_64/athlon/medsched0.asm trunk/src/experimental/lasieve4_64/athlon/modinv1002.asm trunk/src/experimental/lasieve4_64/athlon/montgomery_mul.c trunk/src/experimental/lasieve4_64/athlon/montgomery_mul.h trunk/src/experimental/lasieve4_64/athlon/mpqs.c trunk/src/experimental/lasieve4_64/athlon/mpqs_eval.asm trunk/src/experimental/lasieve4_64/athlon/mpqs_sieve.asm trunk/src/experimental/lasieve4_64/athlon/mpqs_td.asm trunk/src/experimental/lasieve4_64/athlon/mpz-td.asm trunk/src/experimental/lasieve4_64/athlon/mpz-trialdiv.w trunk/src/experimental/lasieve4_64/athlon/psp.c trunk/src/experimental/lasieve4_64/athlon/ri-aux.asm trunk/src/experimental/lasieve4_64/athlon/search0.asm trunk/src/experimental/lasieve4_64/athlon/sieve-from-sched.S trunk/src/experimental/lasieve4_64/athlon/siever-config.w trunk/src/experimental/lasieve4_64/athlon/slinie1.asm trunk/src/experimental/lasieve4_64/athlon/slinie1A.asm trunk/src/experimental/lasieve4_64/athlon/slinie2.asm trunk/src/experimental/lasieve4_64/athlon/slinie2A.asm trunk/src/experimental/lasieve4_64/athlon/slinie3.asm trunk/src/experimental/lasieve4_64/athlon/slinie3A.asm trunk/src/experimental/lasieve4_64/athlon/slinieG.asm trunk/src/experimental/lasieve4_64/athlon/tdsieve-from-sched.asm trunk/src/experimental/lasieve4_64/athlon/tdslinie.asm trunk/src/experimental/lasieve4_64/athlon/tdslinie1.asm trunk/src/experimental/lasieve4_64/athlon/tdslinie2.asm trunk/src/experimental/lasieve4_64/athlon/tdslinie3.asm trunk/src/experimental/lasieve4_64/athlon64/ trunk/src/experimental/lasieve4_64/athlon64/32bit.h trunk/src/experimental/lasieve4_64/athlon64/MMX-TD.c trunk/src/experimental/lasieve4_64/athlon64/MMX-TD1.asm trunk/src/experimental/lasieve4_64/athlon64/MMX-TD2.asm trunk/src/experimental/lasieve4_64/athlon64/Makefile trunk/src/experimental/lasieve4_64/athlon64/asm-zeit.asm trunk/src/experimental/lasieve4_64/athlon64/gcd32.c trunk/src/experimental/lasieve4_64/athlon64/gmp-aux.c trunk/src/experimental/lasieve4_64/athlon64/gmp-aux.h trunk/src/experimental/lasieve4_64/athlon64/if.c trunk/src/experimental/lasieve4_64/athlon64/if.h trunk/src/experimental/lasieve4_64/athlon64/invtab.c trunk/src/experimental/lasieve4_64/athlon64/lasched.c trunk/src/experimental/lasieve4_64/athlon64/lasched.h trunk/src/experimental/lasieve4_64/athlon64/lasched0.asm trunk/src/experimental/lasieve4_64/athlon64/lasched1.asm trunk/src/experimental/lasieve4_64/athlon64/lasched3.asm trunk/src/experimental/lasieve4_64/athlon64/lasieve-asmprepn.asm trunk/src/experimental/lasieve4_64/athlon64/lasieve-asmprepn2.asm trunk/src/experimental/lasieve4_64/athlon64/ls-defs.asm trunk/src/experimental/lasieve4_64/athlon64/medsched.c trunk/src/experimental/lasieve4_64/athlon64/medsched.h trunk/src/experimental/lasieve4_64/athlon64/medsched0.asm trunk/src/experimental/lasieve4_64/athlon64/modinv1000.asm trunk/src/experimental/lasieve4_64/athlon64/modinv1000b.asm trunk/src/experimental/lasieve4_64/athlon64/modinv32.c trunk/src/experimental/lasieve4_64/athlon64/mpqs-config.h trunk/src/experimental/lasieve4_64/athlon64/mpqs_eval.asm trunk/src/experimental/lasieve4_64/athlon64/mpqs_gauss.asm trunk/src/experimental/lasieve4_64/athlon64/mpqs_nextpol.asm trunk/src/experimental/lasieve4_64/athlon64/mpqs_sieve.asm trunk/src/experimental/lasieve4_64/athlon64/mpqs_sieveinit.asm trunk/src/experimental/lasieve4_64/athlon64/mpqs_td.asm trunk/src/experimental/lasieve4_64/athlon64/mpz-td.asm trunk/src/experimental/lasieve4_64/athlon64/mpz-trialdiv.c trunk/src/experimental/lasieve4_64/athlon64/psp.c trunk/src/experimental/lasieve4_64/athlon64/pt64.asm trunk/src/experimental/lasieve4_64/athlon64/ri-aux.asm trunk/src/experimental/lasieve4_64/athlon64/schedsieve.asm trunk/src/experimental/lasieve4_64/athlon64/search0.asm trunk/src/experimental/lasieve4_64/athlon64/siever-config.c trunk/src/experimental/lasieve4_64/athlon64/siever-config.h trunk/src/experimental/lasieve4_64/athlon64/slinie1A.asm trunk/src/experimental/lasieve4_64/athlon64/slinie2A.asm trunk/src/experimental/lasieve4_64/athlon64/slinie3A.asm trunk/src/experimental/lasieve4_64/athlon64/slinieG.asm trunk/src/experimental/lasieve4_64/athlon64/tdsieve-from-sched.asm trunk/src/experimental/lasieve4_64/athlon64/tdslinie.asm trunk/src/experimental/lasieve4_64/athlon64/tdslinie1.asm trunk/src/experimental/lasieve4_64/athlon64/tdslinie2.asm trunk/src/experimental/lasieve4_64/athlon64/tdslinie3.asm trunk/src/experimental/lasieve4_64/athlon64/zeit.c trunk/src/experimental/lasieve4_64/athlon64/zeit.h trunk/src/experimental/lasieve4_64/cweb.INSTALL.and.USE trunk/src/experimental/lasieve4_64/fbgen.c trunk/src/experimental/lasieve4_64/fbgen.h trunk/src/experimental/lasieve4_64/generic/ trunk/src/experimental/lasieve4_64/generic/32bit.h trunk/src/experimental/lasieve4_64/generic/gcd32.c trunk/src/experimental/lasieve4_64/generic/lasched.w trunk/src/experimental/lasieve4_64/generic/medsched.w trunk/src/experimental/lasieve4_64/generic/modinv32.c trunk/src/experimental/lasieve4_64/generic/mpqs.c trunk/src/experimental/lasieve4_64/generic/psp.c trunk/src/experimental/lasieve4_64/generic/siever-config32.w trunk/src/experimental/lasieve4_64/generic/siever-config64.w trunk/src/experimental/lasieve4_64/gmp-aux.c trunk/src/experimental/lasieve4_64/gmp-aux.h trunk/src/experimental/lasieve4_64/gnfs-lasieve4e.c trunk/src/experimental/lasieve4_64/if.c trunk/src/experimental/lasieve4_64/if.h trunk/src/experimental/lasieve4_64/input-poly.c trunk/src/experimental/lasieve4_64/input-poly.h trunk/src/experimental/lasieve4_64/input-poly.orig.c trunk/src/experimental/lasieve4_64/itanium/ trunk/src/experimental/lasieve4_64/itanium/32bit.h trunk/src/experimental/lasieve4_64/itanium/MMX-Td.c trunk/src/experimental/lasieve4_64/itanium/MMX-Td1.asm trunk/src/experimental/lasieve4_64/itanium/asmdefs.asm trunk/src/experimental/lasieve4_64/itanium/gcd32.c trunk/src/experimental/lasieve4_64/itanium/lasched.w trunk/src/experimental/lasieve4_64/itanium/lasched0.asm trunk/src/experimental/lasieve4_64/itanium/lasched1.asm trunk/src/experimental/lasieve4_64/itanium/lasched2.asm trunk/src/experimental/lasieve4_64/itanium/lasched3.asm trunk/src/experimental/lasieve4_64/itanium/lasieve-setup.asm trunk/src/experimental/lasieve4_64/itanium/ls-defs.asm trunk/src/experimental/lasieve4_64/itanium/medsched.w trunk/src/experimental/lasieve4_64/itanium/medsched0.asm trunk/src/experimental/lasieve4_64/itanium/modinv15.asm trunk/src/experimental/lasieve4_64/itanium/modinv32.c trunk/src/experimental/lasieve4_64/itanium/mpqs.c trunk/src/experimental/lasieve4_64/itanium/mpz-td.asm trunk/src/experimental/lasieve4_64/itanium/mpz-trialdiv.w trunk/src/experimental/lasieve4_64/itanium/psp.c trunk/src/experimental/lasieve4_64/itanium/ri-aux.asm trunk/src/experimental/lasieve4_64/itanium/schedsieve3.asm trunk/src/experimental/lasieve4_64/itanium/siever-config.w trunk/src/experimental/lasieve4_64/itanium/slinie.asm trunk/src/experimental/lasieve4_64/lasieve-prepn.c trunk/src/experimental/lasieve4_64/lasieve-prepn.h trunk/src/experimental/lasieve4_64/mips/ trunk/src/experimental/lasieve4_64/mips/32bit.h trunk/src/experimental/lasieve4_64/mips/gcd32.c trunk/src/experimental/lasieve4_64/mips/lasched.h trunk/src/experimental/lasieve4_64/mips/lasched3.asm trunk/src/experimental/lasieve4_64/mips/lasieve-prepn.asm trunk/src/experimental/lasieve4_64/mips/ls-defs.asm trunk/src/experimental/lasieve4_64/mips/medsched.h trunk/src/experimental/lasieve4_64/mips/medsched2.asm trunk/src/experimental/lasieve4_64/mips/modinv1002.asm trunk/src/experimental/lasieve4_64/mips/mpqs.c trunk/src/experimental/lasieve4_64/mips/psp.c trunk/src/experimental/lasieve4_64/mips/pt64.asm trunk/src/experimental/lasieve4_64/mips/ri-aux.asm trunk/src/experimental/lasieve4_64/mips/sieve-from-sched4p.asm trunk/src/experimental/lasieve4_64/mips/siever-config.w trunk/src/experimental/lasieve4_64/mips/slinie.asm trunk/src/experimental/lasieve4_64/mips/tdsieve-from-sched4q.asm trunk/src/experimental/lasieve4_64/mips/ula2.asm trunk/src/experimental/lasieve4_64/mpqs.c trunk/src/experimental/lasieve4_64/mpz-ull.c trunk/src/experimental/lasieve4_64/orig_gnfs-lasieve4e.c trunk/src/experimental/lasieve4_64/piii/ trunk/src/experimental/lasieve4_64/piii/32bit.h trunk/src/experimental/lasieve4_64/piii/MMX-TD.c trunk/src/experimental/lasieve4_64/piii/MMX-TD1.asm trunk/src/experimental/lasieve4_64/piii/asm_mul128.asm trunk/src/experimental/lasieve4_64/piii/asm_mul64.asm trunk/src/experimental/lasieve4_64/piii/asm_mul96.asm trunk/src/experimental/lasieve4_64/piii/basemath.c trunk/src/experimental/lasieve4_64/piii/gcd32.c trunk/src/experimental/lasieve4_64/piii/lasched.w trunk/src/experimental/lasieve4_64/piii/lasched0.asm trunk/src/experimental/lasieve4_64/piii/lasched1.asm trunk/src/experimental/lasieve4_64/piii/lasched2.asm trunk/src/experimental/lasieve4_64/piii/lasched3.asm trunk/src/experimental/lasieve4_64/piii/ls-defs.asm trunk/src/experimental/lasieve4_64/piii/medsched.w trunk/src/experimental/lasieve4_64/piii/medsched0.asm trunk/src/experimental/lasieve4_64/piii/modinv1002.asm trunk/src/experimental/lasieve4_64/piii/montgomery_mul.c trunk/src/experimental/lasieve4_64/piii/montgomery_mul.h trunk/src/experimental/lasieve4_64/piii/mpqs.c trunk/src/experimental/lasieve4_64/piii/mpqs_eval.asm trunk/src/experimental/lasieve4_64/piii/mpqs_sieve.asm trunk/src/experimental/lasieve4_64/piii/mpqs_td.asm trunk/src/experimental/lasieve4_64/piii/mpz-td.asm trunk/src/experimental/lasieve4_64/piii/mpz-trialdiv.w trunk/src/experimental/lasieve4_64/piii/psp.c trunk/src/experimental/lasieve4_64/piii/ri-aux.asm trunk/src/experimental/lasieve4_64/piii/search0.asm trunk/src/experimental/lasieve4_64/piii/sieve-from-sched.S trunk/src/experimental/lasieve4_64/piii/siever-config.w trunk/src/experimental/lasieve4_64/piii/slinie1.asm trunk/src/experimental/lasieve4_64/piii/slinie1A.asm trunk/src/experimental/lasieve4_64/piii/slinie2.asm trunk/src/experimental/lasieve4_64/piii/slinie2A.asm trunk/src/experimental/lasieve4_64/piii/slinie3.asm trunk/src/experimental/lasieve4_64/piii/slinie3A.asm trunk/src/experimental/lasieve4_64/piii/slinieG.asm trunk/src/experimental/lasieve4_64/piii/tdsieve-from-sched.asm trunk/src/experimental/lasieve4_64/piii/tdslinie.asm trunk/src/experimental/lasieve4_64/piii/tdslinie1.asm trunk/src/experimental/lasieve4_64/piii/tdslinie2.asm trunk/src/experimental/lasieve4_64/piii/tdslinie3.asm trunk/src/experimental/lasieve4_64/piii-win/ trunk/src/experimental/lasieve4_64/piii-win/32bit.h trunk/src/experimental/lasieve4_64/piii-win/gcd32.c trunk/src/experimental/lasieve4_64/piii-win/lasched.w trunk/src/experimental/lasieve4_64/piii-win/medsched.w trunk/src/experimental/lasieve4_64/piii-win/modinv32.c trunk/src/experimental/lasieve4_64/piii-win/mpqs.c trunk/src/experimental/lasieve4_64/piii-win/psp.c trunk/src/experimental/lasieve4_64/piii-win/siever-config.w trunk/src/experimental/lasieve4_64/primgen32.c trunk/src/experimental/lasieve4_64/primgen32.h trunk/src/experimental/lasieve4_64/real-poly-aux.c trunk/src/experimental/lasieve4_64/real-poly-aux.h trunk/src/experimental/lasieve4_64/recurrence6.c trunk/src/experimental/lasieve4_64/recurrence6.h trunk/src/experimental/lasieve4_64/redu2.c trunk/src/experimental/lasieve4_64/redu2.h Added: trunk/src/experimental/lasieve4_64/COPYING =================================================================== --- trunk/src/experimental/lasieve4_64/COPYING (rev 0) +++ trunk/src/experimental/lasieve4_64/COPYING 2009-04-18 03:42:10 UTC (rev 352) @@ -0,0 +1,336 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Hereny it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Section |
From: <Ba...@us...> - 2009-04-12 18:37:36
|
Revision: 351 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=351&view=rev Author: Batalov Date: 2009-04-12 18:37:34 +0000 (Sun, 12 Apr 2009) Log Message: ----------- Reverting the patch for sievers under I15e Modified Paths: -------------- trunk/src/lasieve4/gnfs-lasieve4e.c Modified: trunk/src/lasieve4/gnfs-lasieve4e.c =================================================================== --- trunk/src/lasieve4/gnfs-lasieve4e.c 2009-04-11 04:27:50 UTC (rev 350) +++ trunk/src/lasieve4/gnfs-lasieve4e.c 2009-04-12 18:37:34 UTC (rev 351) @@ -3205,9 +3205,15 @@ else ns = 1 << (schedule_sizebits[i] - L1_BITS); schedules[s][i].n_strips = ns; - +#if I_bits<15 +/* no change here, there were no sched.pathologies, and memory footprint is small */ +#define SCHED_PAD 0 +#define SCHED_TOL 2 +#else +/* these values are experimental; report SCHED_PATHOLOGY to http://mersenneforum.org/showthread.php?t=11430 */ #define SCHED_PAD 32 #define SCHED_TOL 1.2 +#endif assert(rint(SCHED_PAD + SCHED_TOL * n_i * j_per_strip * log(log(fbp_ub) / log(fbp_lb))) <= ULONG_MAX); allocate = (size_t)rint(SCHED_PAD + SCHED_TOL * n_i * j_per_strip * log(log(fbp_ub) / log(fbp_lb))); allocate *= SE_SIZE; @@ -3519,8 +3525,9 @@ if (sched->schedule[ll + 1][k] >= sched->schedule[0][k] + sched->alloc) { if (k == 0 && sched->schedule[ll + 1][k] < sched->schedule[0][k] + sched->alloc1) continue; - fprintf(stderr,"\rSCHED_PATHOLOGY k=%d excess=%d \n", - k, sched->schedule[ll+1][k]-(sched->schedule[0][k]+sched->alloc)); +/* report SCHED_PATHOLOGY to http://mersenneforum.org/showthread.php?t=11430 */ + fprintf(stderr,"\rSCHED_PATHOLOGY q0=%u k=%d excess=%d \n", + (unsigned int)special_q, k, sched->schedule[ll+1][k]-(sched->schedule[0][k]+sched->alloc)); longjmp(termination_jb, SCHED_PATHOLOGY); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-11 04:27:55
|
Revision: 350 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=350&view=rev Author: Batalov Date: 2009-04-11 04:27:50 +0000 (Sat, 11 Apr 2009) Log Message: ----------- error reporting for new alloc Modified Paths: -------------- trunk/src/lasieve4/gnfs-lasieve4e.c Modified: trunk/src/lasieve4/gnfs-lasieve4e.c =================================================================== --- trunk/src/lasieve4/gnfs-lasieve4e.c 2009-04-11 04:00:41 UTC (rev 349) +++ trunk/src/lasieve4/gnfs-lasieve4e.c 2009-04-11 04:27:50 UTC (rev 350) @@ -3519,6 +3519,8 @@ if (sched->schedule[ll + 1][k] >= sched->schedule[0][k] + sched->alloc) { if (k == 0 && sched->schedule[ll + 1][k] < sched->schedule[0][k] + sched->alloc1) continue; + fprintf(stderr,"\rSCHED_PATHOLOGY k=%d excess=%d \n", + k, sched->schedule[ll+1][k]-(sched->schedule[0][k]+sched->alloc)); longjmp(termination_jb, SCHED_PATHOLOGY); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-11 04:00:42
|
Revision: 349 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=349&view=rev Author: Batalov Date: 2009-04-11 04:00:41 +0000 (Sat, 11 Apr 2009) Log Message: ----------- more robust and tighter memory estimate Modified Paths: -------------- trunk/src/lasieve4/gnfs-lasieve4e.c Modified: trunk/src/lasieve4/gnfs-lasieve4e.c =================================================================== --- trunk/src/lasieve4/gnfs-lasieve4e.c 2009-04-04 02:44:20 UTC (rev 348) +++ trunk/src/lasieve4/gnfs-lasieve4e.c 2009-04-11 04:00:41 UTC (rev 349) @@ -3206,14 +3206,10 @@ ns = 1 << (schedule_sizebits[i] - L1_BITS); schedules[s][i].n_strips = ns; - assert(rint(2 * n_i * j_per_strip * log(log(fbp_ub) / log(fbp_lb))) <= ULONG_MAX); - allocate = (size_t)rint(2 * n_i * j_per_strip * log(log(fbp_ub) / log(fbp_lb))); - -#define TOO_THIN 200 - if(i == n_schedules[s] - 1 && allocate<TOO_THIN) { - printf("Warning: padding the last schedule (FB_bound[%d] is close to a power of two)\n",s); - allocate = TOO_THIN; - } +#define SCHED_PAD 32 +#define SCHED_TOL 1.2 + assert(rint(SCHED_PAD + SCHED_TOL * n_i * j_per_strip * log(log(fbp_ub) / log(fbp_lb))) <= ULONG_MAX); + allocate = (size_t)rint(SCHED_PAD + SCHED_TOL * n_i * j_per_strip * log(log(fbp_ub) / log(fbp_lb))); allocate *= SE_SIZE; assert(((double)allocate + n_i * ceil(pvl_max[s] / log(fbp_lb)) * SE_SIZE) <= ULONG_MAX); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-04 02:44:21
|
Revision: 348 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=348&view=rev Author: Batalov Date: 2009-04-04 02:44:20 +0000 (Sat, 04 Apr 2009) Log Message: ----------- First patch for badscheds near to schedule_primebounds Modified Paths: -------------- trunk/src/lasieve4/gnfs-lasieve4e.c Modified: trunk/src/lasieve4/gnfs-lasieve4e.c =================================================================== --- trunk/src/lasieve4/gnfs-lasieve4e.c 2009-04-01 20:59:03 UTC (rev 347) +++ trunk/src/lasieve4/gnfs-lasieve4e.c 2009-04-04 02:44:20 UTC (rev 348) @@ -466,7 +466,7 @@ { static struct timeval this_tv; static struct timezone dumbTZ; double t; - + gettimeofday(&this_tv, &dumbTZ); t = this_tv.tv_sec + 0.000001*this_tv.tv_usec; return t; @@ -2846,7 +2846,6 @@ { i32_t option; - first_spq = 0; sieve_count = UINT_MAX; g_ofile_name = "spairs.out"; zip_output = 0; @@ -3209,6 +3208,12 @@ assert(rint(2 * n_i * j_per_strip * log(log(fbp_ub) / log(fbp_lb))) <= ULONG_MAX); allocate = (size_t)rint(2 * n_i * j_per_strip * log(log(fbp_ub) / log(fbp_lb))); + +#define TOO_THIN 200 + if(i == n_schedules[s] - 1 && allocate<TOO_THIN) { + printf("Warning: padding the last schedule (FB_bound[%d] is close to a power of two)\n",s); + allocate = TOO_THIN; + } allocate *= SE_SIZE; assert(((double)allocate + n_i * ceil(pvl_max[s] / log(fbp_lb)) * SE_SIZE) <= ULONG_MAX); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-01 20:59:13
|
Revision: 347 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=347&view=rev Author: Batalov Date: 2009-04-01 20:59:03 +0000 (Wed, 01 Apr 2009) Log Message: ----------- good catch by Tom Womack Modified Paths: -------------- trunk/tests/factMsieve.pl Modified: trunk/tests/factMsieve.pl =================================================================== --- trunk/tests/factMsieve.pl 2009-04-01 05:43:38 UTC (rev 346) +++ trunk/tests/factMsieve.pl 2009-04-01 20:59:03 UTC (rev 347) @@ -540,8 +540,8 @@ $cmd="$NICE \"$POL51M0\" -b $pname -v -v -p $npr -n $normmax -a $H -A $HH > $pname.log"; printf("=> $cmd\n"); my $res=system($cmd); - if ($res) {$H=$HH; next;} # lambda-comp and ull5-comp related errors can be simply skipped - #WAS: die "Abnormal return value $res. Terminating...\n" if ($res); + if (!$res) { # lambda-comp related errors can be skipped and some polys are then found + # ull5-comp related are probably fatal, but let the elapsed time take care of them $nerr=0; open(GR,"$pname.log"); my @logout=<GR>; @@ -610,6 +610,7 @@ printf "-> =====================================================\n\n"; unlink "$pname.log"; unlink "$pname.51.m"; + } my $nowTime = time; if ($nowTime - $startTime > $maxPSTime) { $terminate_job=1; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-01 05:43:42
|
Revision: 346 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=346&view=rev Author: Batalov Date: 2009-04-01 05:43:38 +0000 (Wed, 01 Apr 2009) Log Message: ----------- minor Modified Paths: -------------- trunk/tests/factMsieve.pl Modified: trunk/tests/factMsieve.pl =================================================================== --- trunk/tests/factMsieve.pl 2009-04-01 04:58:34 UTC (rev 345) +++ trunk/tests/factMsieve.pl 2009-04-01 05:43:38 UTC (rev 346) @@ -1212,7 +1212,7 @@ if ($TYPE =~ /snfs/) { # We need the difficulty level of the number, which may be # noticably larger than the number of digits. - $SNFS_DIFFICULTY = (new Math::BigFloat $polyval)->babs->blog(10); + $SNFS_DIFFICULTY = (new Math::BigFloat $polyval)->babs->blog(10,6); printf "-> SNFS_DIFFICULTY is about $SNFS_DIFFICULTY.\n"; loadDefaultParams($SNFS_DIFFICULTY->bstr(), $DEGREE, $TYPE); @@ -1643,8 +1643,8 @@ $stopTime = time; $totalTime = $stopTime - $startTime; - if(-e "MINRELS") { - open IN,"<MINRELS"; + if(-e "MINRELS.txt") { + open IN,"<MINRELS.txt"; my $q = <IN>; $q =~ /(\d+)/; $MINRELS=$1 if($1); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-04-01 04:59:02
|
Revision: 345 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=345&view=rev Author: Batalov Date: 2009-04-01 04:58:34 +0000 (Wed, 01 Apr 2009) Log Message: ----------- added user control over MINRELS Modified Paths: -------------- trunk/tests/factMsieve.pl Modified: trunk/tests/factMsieve.pl =================================================================== --- trunk/tests/factMsieve.pl 2009-03-31 03:39:02 UTC (rev 344) +++ trunk/tests/factMsieve.pl 2009-04-01 04:58:34 UTC (rev 345) @@ -1643,7 +1643,13 @@ $stopTime = time; $totalTime = $stopTime - $startTime; - + if(-e "MINRELS") { + open IN,"<MINRELS"; + my $q = <IN>; + $q =~ /(\d+)/; + $MINRELS=$1 if($1); + close IN; + } $cmd="\"$CAT\" spairs.out >> $DATNAME"; print "=>$cmd\n" if($ECHO_CMDLINE); system($cmd); @@ -1767,7 +1773,7 @@ while($_ = shift @DIVISORS) { printf(" r%d=%s (pp%d)\n", $r++, $_, length($_)); } -$version = "Msieve-1.39" unless $version; +$version = "Msieve-1.40" unless $version; printf("Version: $version\n"); printf("Total time: %1.2f hours.\n", $totalT); printf("Scaled time: %1.2f units (timescale=%1.3lf).\n", $totalT*$TIMESCALE,$TIMESCALE); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-03-31 03:39:06
|
Revision: 344 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=344&view=rev Author: Batalov Date: 2009-03-31 03:39:02 +0000 (Tue, 31 Mar 2009) Log Message: ----------- minor Modified Paths: -------------- trunk/tests/factMsieve.pl Modified: trunk/tests/factMsieve.pl =================================================================== --- trunk/tests/factMsieve.pl 2009-03-31 00:21:35 UTC (rev 343) +++ trunk/tests/factMsieve.pl 2009-03-31 03:39:02 UTC (rev 344) @@ -438,7 +438,8 @@ } } close(IF); - $DIGS = ($type eq "gnfs") ? $realDIGS/0.7 : $realDIGS; + $DIGS = ($type eq "gnfs") ? $realDIGS/0.72 : $realDIGS; + # 0.72 is inspired by T.Womack's crossover 28/29 for GNFS-144 among other considerations if($DIGS>=160) { # the table parameters are easily splined; the table may be not needed at all --SB. $RLIM= $ALIM = int(0.07*10**($DIGS/60.0)+0.5)*100000; $LPBR= $LPBA = int(21+$DIGS/25); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-03-31 00:21:37
|
Revision: 343 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=343&view=rev Author: Batalov Date: 2009-03-31 00:21:35 +0000 (Tue, 31 Mar 2009) Log Message: ----------- Splined default parameters (instead of extending def-par.txt) Modified Paths: -------------- trunk/tests/factMsieve.pl Modified: trunk/tests/factMsieve.pl =================================================================== --- trunk/tests/factMsieve.pl 2009-03-28 01:44:00 UTC (rev 342) +++ trunk/tests/factMsieve.pl 2009-03-31 00:21:35 UTC (rev 343) @@ -438,6 +438,17 @@ } } close(IF); + $DIGS = ($type eq "gnfs") ? $realDIGS/0.7 : $realDIGS; + if($DIGS>=160) { # the table parameters are easily splined; the table may be not needed at all --SB. + $RLIM= $ALIM = int(0.07*10**($DIGS/60.0)+0.5)*100000; + $LPBR= $LPBA = int(21+$DIGS/25); + $MFBR= $MFBA = ($DIGS<190) ? 2*$LPBR-1 : 2*$LPBR; + $RLAMBDA= $ALAMBDA= ($DIGS<200) ? 2.5 : 2.6; + $QINTSIZE=$QSTEP = 100000; + $classicalA = 4000000; + $classicalB = 400; + $paramDIGS = $realDIGS; + } $DEG = $paramDEG; printf "-> Selected default factorization parameters for $paramDIGS digit level.\n"; if ($type eq "gnfs") { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ba...@us...> - 2009-03-28 01:48:34
|
Revision: 342 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=342&view=rev Author: Batalov Date: 2009-03-28 01:44:00 +0000 (Sat, 28 Mar 2009) Log Message: ----------- time accounting in factMsieve.pl Modified Paths: -------------- trunk/tests/factMsieve.pl Modified: trunk/tests/factMsieve.pl =================================================================== --- trunk/tests/factMsieve.pl 2009-03-26 21:59:27 UTC (rev 341) +++ trunk/tests/factMsieve.pl 2009-03-28 01:44:00 UTC (rev 342) @@ -1703,9 +1703,9 @@ s/\s+$//; @_ = split; if ($_[0] eq "LatSieveTime:") { $sieveT += $_[1]; } - if ($_[2] eq "RelProcTime:") { $relprocT += $_[3]; } - if ($_[2] eq "BLanczosTime:") { $matT = $_[3]; } - if ($_[2] eq "sqrtTime:") { $sqrtT = $_[3]; } + if (/RelProcTime: (\S+)/) { $relprocT += $1; } + if (/BLanczosTime: (\S+)/) { $matT += $1; } + if (/sqrtTime: (\S+)/) { $sqrtT += $1; } if (/rational ideals/) { $rprimes=$_[6]." ".$_[7]." ".$_[5]; } if (/algebraic ideals/) { $aprimes=$_[6]." ".$_[7]." ".$_[5]; } # if (/largePrimes:/) { $lprimes=$_[2].$_[3].' encountered'; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |