mini-gmpxx - mini-gmp C++ interface
Vladimir S. FONOV
vladimir.fonov at gmail.com
Mon Jul 15 21:38:48 UTC 2019
I replaced comments with #ifdef's , take a look in
, if I replace gmpxx.h with the contents of mini-gmpxx.h and configure
with --enable-cxx , running "make test" seem to be passing.
On Fri, Jul 12, 2019 at 11:42 AM Marc Glisse <marc.glisse at inria.fr> wrote:
> On Fri, 12 Jul 2019, Vladimir S. FONOV wrote:
> > I needed a mini version of gmp, to work with C++ inteface, so I created
> > mini-gmpxx.h (gmpxx.h for mini-gmp) , mostly for the purpose of compiling
> > cork on macOS without libgmp present, take a look in
> > https://github.com/vfonov/cork/tree/master/contrib/gmp-6.1.2/mini-gmp ,
> Thanks for sharing.
> > is basically original gmpxx.h with commented out pieces of code that
> > wouldn't work without mpq and mpf interfaces.
> Note that we have a mini-mpq now.
> > I also had to add couple of defines from omp.h to mini-omp.h , so there
> > small changes too.
> > Maybe it would be of interest to somebody?
> I guess if it used some #ifdef instead of commenting out the code, so the
> same file could be user for gmp and mini-gmp, it could be interesting (not
> particularly to me since I never used mini-gmp, but to others). Maybe
> gmpxx.h could check if __MINI_GMP_H__ is defined and in that case not
> include gmp.h and not use anything mpf-related. __MINI_MPQ_H__ could be
> used to conditionally enable mpq if we don't want to enable it by default.
> (I am not saying any of the above is a good idea, just the first things
> that come to mind)
> Or we could have a much more simplistic mini C++ wrapper without
> expression templates, if we are going to maintain 2 versions, although I
> am not fond of the idea of maintaining 2 versions.
> I don't see a corresponding mini-gmpxx.cc file. That could cause problems
> for numeric_limits at least.
> You kept some operator<< that seems unlikely to compile.
> Marc Glisse
Vladimir S. Fonov ~ vladimir <dot> fonov <at> gmail <dot> com
More information about the gmp-devel