update documentation for new windows build plus function additions
This commit is contained in:
parent
4d1c584bd4
commit
348cdb775f
@ -1367,9 +1367,9 @@ preprocessor symbols and chooses the correct actual @file{mpir.h}.
|
||||
@cindex Visual Studio
|
||||
|
||||
MPIR can be built with the professional and higher versions of Visual Studio
|
||||
2012, 2013, 2015 and 2017. It can also be built with the community editions
|
||||
of Visual Studio 2015 and 2017. If the assembler optimised versions of MPIR
|
||||
are required, then both Python 3 and the YASM assembler also need to be
|
||||
2013, 2015 and 2017. It can also be built with the community editions of
|
||||
Visual Studio 2015 and 2017. If the assembler optimised versions of MPIR
|
||||
are required, then Python 3 and the YASM assembler also need to be
|
||||
installed. MPIR can also be built with the Intel C/C++ compiler that can be
|
||||
integrated into versions of Visual Studio.
|
||||
|
||||
@ -1399,10 +1399,9 @@ A build of MPIR is started by double clicking on the file @file{mpir.sln}
|
||||
in the appropriate sub-directory within the MPIR root directory:
|
||||
|
||||
@example
|
||||
Visual Studio 2012: mpir/build.vc11/mpir.sln
|
||||
Visual Studio 2013: mpir/build.vc12/mpir.sln
|
||||
Visual Studio 2015: mpir/build.vc14/mpir.sln
|
||||
Visual Studio 2017: mpir/build.vc15/mpir.sln
|
||||
Visual Studio 2013: mpir/msvc/vs13/mpir.sln
|
||||
Visual Studio 2015: mpir/msvc/vs15/mpir.sln
|
||||
Visual Studio 2017: mpir/msvc/vs17/mpir.sln
|
||||
@end example
|
||||
|
||||
Visual Studio will then display a list of individual build projects
|
||||
@ -1411,9 +1410,9 @@ a typical list of projects is:
|
||||
|
||||
@example
|
||||
dll_mpir_gc standard DLL, no assembler (win32 and x64)
|
||||
dll_mpir_p3 assembly optimised DLL for pentium 3 (win32)
|
||||
lib_mpir_p3 assembly optimised static library for
|
||||
pentium 3 (x64)
|
||||
dll_mpir_p6 assembly optimised DLL for pentium 6 (win32)
|
||||
lib_mpir_p6 assembly optimised static library for
|
||||
pentium 6 (win32)
|
||||
lib_mpir_core2 assembly optimised static library for
|
||||
core2 (x64)
|
||||
dll_mpir_core2 assembly optimised DLL for core2 (x64)
|
||||
@ -1445,21 +1444,23 @@ depending on whether static library or DLL versions have been built.
|
||||
|
||||
The Visual Studio builds for MPIR are initially provided with a small set
|
||||
of assembler optimised projects but many more are available and can be
|
||||
obtained by running the Python program @command{mpir_config.py <N>} that is
|
||||
in the mpir\build-vc directory. The value of <N> required depends on the
|
||||
obtained by running the Python program @command{mpir_config.py <N> [<SDK>]}
|
||||
that is in the mpir\msvc directory. The value of <N> required depends on the
|
||||
version of Visual Studio in use as follows:
|
||||
|
||||
@example
|
||||
Visual Studio 2012: 11
|
||||
Visual Studio 2013: 12
|
||||
Visual Studio 2015: 14
|
||||
Visual Studio 2017: 15
|
||||
Visual Studio 2013: 13
|
||||
Visual Studio 2015: 15
|
||||
Visual Studio 2017: 17
|
||||
@end example
|
||||
|
||||
This program, which has to be run before Visual Studio, provides a list of
|
||||
all the assembler optimised versions of MPIR that are available. Any number
|
||||
of versions can be chosen and these builds will then be available when Visual
|
||||
Studio is subsequently opened by double clicking on @file{mpir.sln}.
|
||||
The parameter <SDK> is optional and is the version number of the Windows SDK
|
||||
for which the builds will be taargetted (e.g. 10.0.16299.0). This program,
|
||||
which has to be run before Visual Studio, provides a list of all the assembler
|
||||
optimised versions of MPIR that are available. Any number of versions can be
|
||||
chosen and these builds will then be available when Visual Studio is subsequently
|
||||
opened by double clicking on @file{mpir.sln}. It is advisable not to have Visual
|
||||
Studio running when new builds are being added in this way.
|
||||
|
||||
@item Testing Visual Studio versions of MPIR
|
||||
|
||||
@ -1467,10 +1468,9 @@ Testing a version of the library once it has been built is started by double
|
||||
clicking on the appropriate solution file:
|
||||
|
||||
@example
|
||||
Visual Studio 2012: mpir/build.vc11/mpir-tests.sln
|
||||
Visual Studio 2013: mpir/build.vc12/mpir-tests.sln
|
||||
Visual Studio 2015: mpir/build.vc14/mpir-tests.sln
|
||||
Visual Studio 2017: mpir/build.vc15/mpir-tests.sln
|
||||
Visual Studio 2013: mpir/msvc/vs13/mpir-tests.sln
|
||||
Visual Studio 2015: mpir/msvc/vs15/mpir-tests.sln
|
||||
Visual Studio 2017: mpir/msvc/vs17/mpir-tests.sln
|
||||
@end example
|
||||
|
||||
The tests are always run on the last version of MPIR built and it is important
|
||||
@ -1494,7 +1494,7 @@ executing the Python program @command{run-tests.py} in the appropriate Visual
|
||||
Studio build sub-directory, for example, for Visual Studio 2017:
|
||||
|
||||
@example
|
||||
mpir/build.vc15/mpir-tests/run-tests.py
|
||||
mpir/msvc/vs17/mpir-tests/run-tests.py
|
||||
@end example
|
||||
|
||||
@end table
|
||||
@ -3054,6 +3054,16 @@ This is similar to the standard C @code{frexp} function (@pxref{Normalization
|
||||
Functions,,, libc, The GNU C Library Reference Manual}).
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun mpir_si mpz_get_2exp_d (double *@var{???}, mpz_t @var{op})
|
||||
Convert @var{op} to a @code{double}, truncating if necessary (ie.@: rounding
|
||||
towards zero), and returning the exponent separately.
|
||||
|
||||
This function has been added on Windows as an alternative to mpz_get_d_2exp
|
||||
to avoid problems that occur on 64-bit Windows systems where pointers to
|
||||
integers point to 32-bit integer variables when MPIR expects to find space
|
||||
for 64-bit integers.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun {char *} mpz_get_str (char *@var{str}, int @var{base}, mpz_t @var{op})
|
||||
Convert @var{op} to a string of digits in base @var{base}. The base may vary
|
||||
from 2 to 36 or from @minus{}2 to @minus{}36.
|
||||
@ -4752,6 +4762,16 @@ This is similar to the standard C @code{frexp} function (@pxref{Normalization
|
||||
Functions,,, libc, The GNU C Library Reference Manual}).
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun mpir_si mpf_get_2exp_d (double *@var{rop}, mpf_t @var{op})
|
||||
Convert @var{op} to a @code{double}, truncating if necessary (ie.@: rounding
|
||||
towards zero), and with an exponent returned separately.
|
||||
|
||||
This function has been added on Windows as an alternative to mpf_get_d_2exp
|
||||
to avoid problems that occur on 64-bit Windows systems where pointers to
|
||||
integers point to 32-bit integer variables when MPIR expects to find space
|
||||
for 64-bit integers.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun mpir_si mpf_get_si (mpf_t @var{op})
|
||||
@deftypefunx mpir_ui mpf_get_ui (mpf_t @var{op})
|
||||
Convert @var{op} to a @code{mpir_si} or @code{mpir_ui}, truncating any
|
||||
@ -4869,6 +4889,7 @@ Set @var{rop} to @m{@var{op1}/2^{op2}, @var{op1} divided by 2 raised to
|
||||
@cindex Comparison functions
|
||||
|
||||
@deftypefun int mpf_cmp (mpf_t @var{op1}, mpf_t @var{op2})
|
||||
@deftypefunx int mpf_cmp_z (const mpf_t @var{op1}, const mpz_t @var{op2})
|
||||
@deftypefunx int mpf_cmp_d (mpf_t @var{op1}, double @var{op2})
|
||||
@deftypefunx int mpf_cmp_ui (mpf_t @var{op1}, mpir_ui @var{op2})
|
||||
@deftypefunx int mpf_cmp_si (mpf_t @var{op1}, mpir_si @var{op2})
|
||||
@ -5336,6 +5357,10 @@ positive value if @math{@var{s1} > @var{s2}}, 0 if they are equal, or a
|
||||
negative value if @math{@var{s1} < @var{s2}}.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun int mpn_zero_p (const mp_limb_t *@var{sp}, mp_size_t @var{n})
|
||||
Test @{@var{sp}, @var{n}@} and return 1 if the operand is zero, 0 otherwise.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun mp_size_t mpn_gcd (mp_limb_t *@var{rp}, mp_limb_t *@var{s1p}, mp_size_t @var{s1n}, mp_limb_t *@var{s2p}, mp_size_t @var{s2n})
|
||||
Set @{@var{rp}, @var{retval}@} to the greatest common divisor of @{@var{s1p},
|
||||
@var{s1n}@} and @{@var{s2p}, @var{s2n}@}. The result can be up to @var{s2n}
|
||||
|
Loading…
Reference in New Issue
Block a user