On Feb 14, 10:18 am, Jason <ja...@njkfrudils.plus.com> wrote:
> On Sunday 13 February 2011 16:43:47 Cactus wrote:
>
>
>
>
>
>
>
>
>
> > [cut previous text]
>
> > > > Probably the easiest solution on Windows is to simply to express the
> > > > integer parameters of ui/si functions (and some internal integers in
> > > > the functions themselves) as a new global integer type that is
> > > > (unsigned) long on 32-bit Windows systems and (unsigned) long long on
> > > > 64-bit Windows.
>
> > > >    Brian
>
> > > I think changing the signature of ui/si functions will cause problems.
> > > You should assume that code using MPIR will be written using long or
> > > long long. Forcing that code to use a new type will cause issues, too.
> > > Python has specific API calls for working with long vs long long. I'd
> > > like to be able to map the output of those API calls directly to the
> > > appropriate function. A parallel ull/sll API would be the easiest for
> > > use with gmpy. A parallel uj/sj would work also and matches the API in
> > > MPFR (both ui/si and uj/sj functions are supported).
>
> > > I think the high-level API should be be expressed in terms of standard
> > > C types. Just having the alternate API defined, either ull/sll and/or
> > > uj/sj, should make it easier for software authors to make the proper
> > > choice. Since the only interface functions are defined use long, it's
> > > not surprising that all code uses long. To avoid possible name
> > > collisions with GMP, you could prefix these functions with mpir_.
>
> > Looking at all the input we have had it would seem that, if we are
> > going to do anything here, the addition of uj/sj functions (using
> > uintmax_t and intmax_t) paralleling the ui/si ones has the most
> > support.
>
> > One of my main worries was that the obvious way of doing this with the
> > 'C templates' I described earlier might mess up *nix builds.
>
> Can't see any problem with it , there are already some mpn functions like this
> , however it does conflict with our "one function=one file" , but we could
> always do it at a pre-build stage or even manually like we do for mpn generic
> logic functions
>
>
>
>
>
>
>
> > But nobody seems concerned about this so can I assume that my worries
> > are ill founded?
>
> >     Brian

Now that MPIR 2.3.0 is out, I am looking at the issue of 32bit longs
on Windows.

>From our earlier discussions I think the favoured option is to add
functions that interface with intmax_t and uintmax_t types and it
seeems logical to start with mpz_<set|get>_<u|s>intmax_t() functions
(suitably named).

But in looking at this I am wondering whether or not we are supporting
nails in MPIR as this makes a difference in how these new functions
are implemented..

    Brian

-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-devel@googlegroups.com.
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.

Reply via email to