If I have done the calculations correctly it won't work if the product
of the two integers is less than about 4000 bits. But the assert gives
a more precise condition (which is complex).
The new test function is t-mul_fft_full.c.
I have also added fft_tuning.h (top level source directory of the
flint tree) and there are modifications to the top of mulmod_2expp1.c
where the tuning parameters were formerly recorded.
The only things remaining to be done now are efficient squaring code
and tuning code. I'll do at least one of those tomorrow. I'm sure you
can see from fft_tuning.h that tuning will be totally trivial and very
fast.
Bill.
I can't find mulmod_2expp1_basecase.c on either a Windows or Linux
checkout. Is the file possibly missing from SVN?
Case
>
> Another clue may be that the missing symbol is internal to the library and
> is hence defined in gmp-impl.h rather than mpir.h - is the right version of
> gmp-impl.h being picked up when this file is compiled?
>
> Brian
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "mpir-devel" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/mpir-devel/-/_nSqACWqfocJ.
>
> To post to this group, send email to mpir-...@googlegroups.com.
> To unsubscribe from this group, send email to
> mpir-devel+...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/mpir-devel?hl=en.
Much better. However, when I test, I get a failure in
fft_t-mul_truncate_sqrt2.exe. The only information I get from the
debugger is:
Unhandled exception at 0x000000013fd7257a in t-mul_truncate_sqrt2.exe:
0xC00000FD: Stack overflow.
The test fails when compiled with the VS2008 SDK and when compiled
with VS2010. I have attached the configure.bat and make.bat files I
used. The steps to recreate are:
cd mpir-exp\win
<<< replace existing .bat file with mine >>>
configure ABI=64
make
make check
Case
I also get a failure on t-locale.c
t-locale.c
LIBCMT.lib(lconv.obj) : error LNK2005: localeconv already defined in
t-locale.obj
t-locale.exe : fatal error LNK1169: one or more multiply defined symbols found
ERROR
IIRC, that test fails on on quite a few systems so I wasn't too worried about.
>
> --
> You received this message because you are subscribed to the Google Groups
> "mpir-devel" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/mpir-devel/-/wKc01kTkr2gJ.
It does not fail on a VS2008 SDK build. Does the MSVC version check in
t-locale.c need to be updated?
Thanks for the quick fix. Tests pass on my machine.
>
> Thanks for helping to test this branch.
>
> Do you have any applications that will exercise the MPIR-EXP 64-bit integer
> support on Windows x64?
I will be using it with GMPY2.
Case
>
> Brian
>
> --
> You received this message because you are subscribed to the Google Groups
> "mpir-devel" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/mpir-devel/-/NO9B_zsFDt8J.
This will need some configure work done first , I was just waiting for it to settle done a bit , I should have the time tonight
>
> Brian
>
>
yes , only files which may have asm overrides need to be in the mpn/generic , I think!
done it except for the new fft tuning . I had to change a minor bit about ULLONG_MAX in tests/t-constants.c as I dont think unix has these or if configure supports them , I'll check
compiling mpir with --enable-assert we get this straight away
/* fft_tuning.h -- autogenerated by tune-fft */
#ifndef FFT_TUNING_H
#define FFT_TUNING_H
#include "mpir.h"
#define FFT_TAB \
{ { mulmod_2expp1_basecase.c:51: GNU MP assertion failed: !((xp) + (n) > (yp) && (yp) + (n) > (xp))
Aborted
which is a partial overlap of src and dst in the function
with asserts on it fails make check anyway , so it's nothing to do with the tuning program , could be default
parameters for the fft or something else
Bill.