« Return to Thread: [config] polygon library long long, long double portability

Re: [config] polygon library long long, long double portability

by John Maddock :: Rate this Message:

Reply to Author | View in Thread

>> msvc has 64 bit ints, but doesn't call them long long.

Yes it does, at least with current versions :-)

>>
> Yes, I realized that long double must be standard after grepping the boost
> codebase and seeing it used everywhere.  If we searched the archive we'd
> probably find I asked this same question in the past.  I might be a slow
> learner.  My code with long long compiles in MSVC, does is compile to a 32
> bit int?  Specifying int64_t would make sense if my integer coordinate
> traits were in terms of int32_t, but they are in terms of int.  Perhaps I
> should change that as well.

Please don't confuse types, with widths: you need to use either specific
width types throughout (which are all of unspecified type), or use specific
types.  For example code that needs to overload a function for all the
integer *types* would use long long where available, where as code that's
designed to work with specific *widths* should use the boost::intXX_t types
throughout, in the knowledge that these may not cover all the available
*types* (for example if long is a 64-bit int then long long is never used by
the intXX_t typedefs).

I hope that's not too confusing :-)  Basically decide which set to used
based on what your code does, and what the integers represent.

HTH, John.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

 « Return to Thread: [config] polygon library long long, long double portability