[Insight-developers] NumericTraits for long long and __int64

Bill Lorensen bill.lorensen at gmail.com
Mon Nov 23 10:56:29 EST 2009


Brad,

I can't tell from your note. Is this a Borland only problem? If so, I
can take a look.

Bill

On Mon, Nov 23, 2009 at 10:14 AM, Bradley Lowekamp
<blowekamp at mail.nih.gov> wrote:
> 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
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers
>
>


More information about the Insight-developers mailing list