Commit 29f44c6a authored by Cyril Bouvier's avatar Cyril Bouvier

Document in README how to change the size of variables in filter when lpb>32

parent b74fb52d
......@@ -55,6 +55,7 @@ get_override(CADO_DIST_ARCHIVE_NAME CADO_DIST_ARCHIVE_NAME)
get_override(MPI MPI)
get_override(LDFLAGS CMAKE_EXE_LINKER_FLAGS)
get_override(LDFLAGS CMAKE_SHARED_LINKER_FLAGS)
get_override(FLAGS_SIZE CMAKE_FLAGS_SIZE)
if(EXISTS ${CADO_NFS_SOURCE_DIR}/files.dist)
set(EXCLUDE_FROM_RELEASE_BUILD )
......@@ -66,6 +67,8 @@ endif(EXISTS ${CADO_NFS_SOURCE_DIR}/files.dist)
# Add the CFLAGS that are needed in all cases.
# Append them at the *end* of the parameter list so as to allow tweaking
# of e.g. warnings by the user-defined overrides.
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_FLAGS_SIZE}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_FLAGS_SIZE}")
if(CMAKE_COMPILER_IS_GNUCC)
# gcc defines __STRICT_ANSI__ with -std=c99, which under MinGW
......
......@@ -239,6 +239,16 @@ that could possibly occur with SNFS polynomials (a degree 4 polynomial
with Galois group Z/2 x Z/2 is the only reasonable example, next case is
for degree 8). The CRT approach is a workaround. See crtaglsqrt.c .
Big factorization (more than 200 digits):
=========================================
By default, to decrease memory usage, it is assumed than less than 2^32 (~ four
billion) relations or ideals are needed and that the ideals will be less than
2^32 (i.e. the lpba/lpbr parameters are less or equal to 32). In the case of
factorizations of number of more than 200 digits, these assumptions may not
hold. In this case, you have to set some variables in your local.sh script
(see Configure section above for more information on local.sh and section on big
factorization in local.sh.example).
Factoring with two non-linear polynomials:
==========================================
......
......@@ -182,3 +182,12 @@
# for Python 3 and sqlite in the CMake configuration
#
# NO_PYTHON_CHECK="foo"
############################################################
# For big factorizations, increase the size of variable.
# If you want to use large prime bound > 32, uncomment the following line
# FLAGS_SIZE="-Dp_r_values_size=64"
# If you want to be able to handle more than 2^32 ideals in you factor base or
# have more than 2^32 relations (for large prime bound > 35 or 36), uncomment
# the following line
# FLAGS_SIZE="-Dp_r_values_size=64 -Dindex_size=64"
......@@ -65,6 +65,7 @@ export CC
export CXX
export CFLAGS
export CXXFLAGS
export FLAGS_SIZE
export LDFLAGS
export PREFIX
export CADO_DIST_ARCHIVE_NAME
......@@ -101,6 +102,7 @@ if [ "$1" = "show" ] ; then
echo "CXX=\"$CXX\""
echo "CFLAGS=\"$CFLAGS\""
echo "CXXFLAGS=\"$CXXFLAGS\""
echo "FLAGS_SIZE=\"$FLAGS_SIZE\""
echo "LDFLAGS=\"$CFLAGS\""
echo "PREFIX=\"$PREFIX\""
echo "CADO_DIST_ARCHIVE_NAME=\"$CADO_DIST_ARCHIVE_NAME\""
......
......@@ -602,7 +602,7 @@ renumber_get_index_from_p_r (renumber_t renumber_info, p_r_values_t p,
renumber_info->lpba ;
if (p >> lpb)
{
fprintf (stderr, "Error (in %s, line %d) p=%" PRpr " >= 2^%" PRpr "\n",
fprintf (stderr, "Error (in %s, line %d) p=%" PRpr " >= 2^%lu\n",
__func__, __LINE__, p, lpb);
exit(EXIT_FAILURE);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment