[Insight-developers] Windows 64 bits & unsigned long

Luis Ibanez luis.ibanez at kitware.com
Wed Nov 11 12:36:33 EST 2009


Now that

   1)  ITK 3.16 is out,
   2)  The Dashboard Fest has passed,
   3)  ITK 3.18 is not due until January 2010


It seems to be a good time to resume the effort
for fixing the use of integers in Windows 64 bits.

This issue is summarized in:
http://public.kitware.com/Bug/view.php?id=9260

as:

  "Windows 64 bits platforms define "long" as a 32-bits integer.
   As a consequence, the Index, Size, and Offset types are
   unable to manage images larger than 2Gb."


The suggested fix is to do a "search and replace"
of all uses of "unsigned long" and "signed long"
in the toolkit (at least when they refer to Index
computations and memory access) and replacing
them with ITK types that are ultimately defined
from:

     size_t         (for the unsigned case)
     ptrdiff_t       (for the signed case)

The ITK types to be used will be:

     ImageType::OffsetValueType
     ImageType::SizeValueType
     ImageType::IndexValueType


Any objections for attacking this problem at this point ?

Any suggestions on how to go about it in an efficient way ?


     Thanks


          Luis


More information about the Insight-developers mailing list