[Insight-developers] NumericTraits for long long and __int64

Bradley Lowekamp blowekamp at mail.nih.gov
Mon Nov 23 10:14:36 EST 2009


Hello,

	I have been working on adding NumericTraits for types long long and __int64. To address the issue of size_t being type long long on win64, and to get a more portable 64-bit integer.

The traits for type long long and unsigned long long seem to be working on the systems which support the tyoe. std::numeric_limits is specialized and the values seem to be set and printed ok in the NumericTraitsTest.

Unfortunately __int64 does not seem to be working right. It appears that the Borland compiler is the only one where it is a fundamental type and it is convertible to double. It does not have a specialized std::numeric_limits defined. More problematic is the basic value of One and Zero set it itkNumericTraits.cxx don't seem to be functioning correctly. The output of itkNumericTraitsTest is: 


itk::NumericTraits<__int64>
	is_specialized: 0
	digits: 0
	digits10: 0
	is_signed: 0
	round_error(): 0
	denorm_min(): 0
	epsilon(): 0
	min(): 0
	max(): 0
	IsPositive( One )0
	IsNonpositive( One )1
	IsNegative( One )1
	IsNonnegative( One )0
	Zero: 1072693248
	One: 0
	ZeroValue(): 1072693248
	OneValue(): 0
	max(__int64): 0
	min(__int64): 0
	NonpositiveMin(): 0
itk::NumericTraits<unsigned __int64>
	is_specialized: 0
	digits: 0
	digits10: 0
	is_signed: 0
	round_error(): 0
	denorm_min(): 0
	epsilon(): 0
	min(): 0
	max(): 0
	IsPositive( One )1
	IsNonpositive( One )0
	IsNegative( One )0
	IsNonnegative( One )1
	Zero: 0
	One: 1
	ZeroValue(): 0
	OneValue(): 1
	max(unsigned __int64): 0
	min(unsigned __int64): 0
	NonpositiveMin(): 0
Take note of the One and Zero values it "__int64". 

I don't have access to the borland compiler, and don't know how to look into this issue further. I am tempted to say that we just shouldn't support the __int64 type as it'll make things simpler.

Brad


========================================================
Bradley Lowekamp  
Lockheed Martin Contractor for
Office of High Performance Computing and Communications
National Library of Medicine 
blowekamp at mail.nih.gov


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20091123/553ebe28/attachment.htm>


More information about the Insight-developers mailing list