=============================================================================== zn_poly: a library for polynomial arithmetic (version 0.9) Copyright (C) 2007, 2008, David Harvey Copyright (C) 2018 David Harvey, E. M. Bray See the file COPYING for copyright and licensing information. =============================================================================== Installation instructions ------------------------- (1) Unpack the tarball somewhere. (2) From the tarball directory, run the configure script, i.e. ./configure <options> This creates a makefile. Python must be available for this to work. The configure script doesn't do anything intelligent (like examine your system); it just writes the makefile based on the supplied options. Available options are the following: --cflags=<flags> Flags passed to gcc. Default is "-O2". You might need "-O2 -m64". --ldflags=<flags> Flags passed to linker. You might need "-m64", especially on some macs. --prefix=<path> Where to put zn_poly header and library files. Default is "/usr/local". The header file is stored at <path>/include. The library is stored at <path>/lib. --gmp-prefix=<path> Location of GMP include/library files (assumed to be under <path>/include and <path>/lib). Default is "/usr/local". --ntl-prefix=<path> Location of NTL include/library files (assumed to be under <path>/include and <path>/lib). This is only necessary if you want to build the profiling targets with NTL profiling support. Default is "/usr/local". --use-flint Use the FLINT library instead of GMP for large integer multiplication. --flint-prefix=<path> Location of FLINT include/library files (assumed to be under <path>/include and <path>/lib). Default is "/usr/local". --(en/dis)able-tuning Enable (the default) or disable automatic tuning. (3) (optional) Run "make tune" and then "tune/tune > src/tuning.c". This determines optimal tuning values on your platform and overwrites the tuning.c source file with the new values. This only works on platforms where cycle counter code is available (currently x86, x86_64 and powerpc). If you don't run "make tune", you'll just get some default tuning values that work well on my development machine. Note: Tuning is now always done by default as a prerequisite to other make targets; to disable it run ./configure with --disable-tuning (4) Run "make" to build the library. (5) Run "make install". This copies the library and include files to the requested destination directory. (6) (optional) Step (5) only installs the static version of the library. The makefile also has targets for shared libraries (you might need to add -fPIC to --cflags): * libzn_poly.dylib: for darwin * libzn_poly.dylib64: darwin, 64 bit * libzn_poly.so: linux * libzn_poly-0.9.so: linux, with sonames * cygzn_poly.dll: for cygwin =============================================================================== Other makefile targets ---------------------- make demo/bernoulli/bernoulli An example program for computing bernoulli numbers mod p. make clean Remove all temporary files. make distclean Remove all temporary files including the generated makefile. make check Runs some quick tests to make sure that everything appears to be working. make test Builds a test program. Running "test/test all" runs the whole zn_poly test suite, which tests zn_poly much more thoroughly than "make check". make profile/mul-profile A program for profiling various polynomial multiplication algorithms over various modulus sizes and polynomial lengths. make profile/mul-profile-ntl As above, but also includes support for profiling NTL's multiplication. make profile/invert-profile make profile/invert-profile-ntl A program for profiling series inversion. make profile/negamul-profile A program for profiling various negacyclic multiplication algorithms. make profile/mulmid-profile A program for profiling various middle product algorithms. make profile/array-profile A program for profiling linear-time array functions, including butterfly routines used in the FFT multiplication routines, GMP's mpn_add and mpn_sub, and others. ===============================================================================
Select Git revision
zn_poly
-
-
- Open in your IDE
- Download source code
E. Madison Bray
authored
Name | Last commit | Last update |
---|---|---|
demo/bernoulli | ||
doc | ||
include | ||
profile | ||
src | ||
test | ||
tune | ||
.gitignore | ||
.gitlab-ci.yml | ||
ABI_VERSION | ||
CHANGES | ||
COPYING | ||
Makefile.am | ||
README | ||
VERSION | ||
autogen.sh | ||
configure.ac | ||
gpl-2.0.txt | ||
gpl-3.0.txt |