tommath.h and boost\multiprecision\tommath.hpp

Helmut Zeisel via Boost-users <[email protected]> Wed, 28 Feb 2024 09:21:47 +0100
Newsgroups gmane.comp.lib.boost.user
Message-ID <trinity-24da4fc9-b554-46b7-b5f4-aed68fb6c6cb-1709108507467@3c-app-gmx-bs01>
I tried to use boost muiltiprecision with Visual Studio 2022, 64 bit and got the following error message:

boost\multiprecision\tommath.hpp(444,36): error C2664: 'mp_err mp_radix_size(const mp_int *,int,size_t *)': cannot convert argument 3 from 'int *' to 'size_t *'

I used tommath.h from

https://github.com/libtom/libtommath/blob/develop/tommath.h

that has (line 583)

      mp_err mp_radix_size(const mp_int *a, int radix, size_t *size) MP_WUR;

but boost\multiprecision\tommath.hpp, lineS 443/444 are

      int s;
      detail::check_tommath_result(mp_radix_size(const_cast< ::mp_int*>(&m_data), base, &s));

I compared with cygwin, there tommath.h is

      mp_err mp_radix_size(const mp_int *a, int radix, int *size) MP_WUR;

So I am not sure: do I need some different tommath for Visual Studio 2022, 64 bit, or should boost\multiprecision\tommath.hpp be changed?

Helmut