[gmx-developers] 64bit integers
roland at utk.edu
Fri Jul 10 18:42:54 CEST 2009
which integer type should be used for integers that should be 64bit if
My current problem: ndim*ndim*4 in gmx_covar overflows for more than 7723
One could use:
- long (is only 32bit on windows)
- long long (is always 64bit, not defined in C89)
- size_t (is the size of pointer)
- same typedef
- One shouldn't use long, since it wouldn't solve it on windows.
- Using "long long" is slow (in this case unimportant) and will give warning
when passed to snew or memcpy.
- size_t doesn't seem very clean and will give warnings when passed to
printf (unless first upcasting to "unsigned long long" and then using %llu).
Is C89 support required?
Is it OK to use size_t for those integers?
What is the best option?
BTW: Is it OK to change save_calloc and save_realloc to size_t (currently
ORNL/UT Center for Molecular Biophysics cmb.ornl.gov
865-241-1537, ORNL PO BOX 2008 MS6309
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gromacs.org_gmx-developers