| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Gaudi::Math::IDigit< TYPE, I, N > Struct Template Reference

Simple structure form compile-time evaluation of the Nth decimal digit for the given number. More...

#include <Digit.h>

Inheritance diagram for Gaudi::Math::IDigit< TYPE, I, N >:

[legend]
Collaboration diagram for Gaudi::Math::IDigit< TYPE, I, N >:
[legend]
List of all members.

Public Types

 value
 TYPE
 long
enum  { value, TYPE, long, value }

Public Member Functions

 BOOST_STATIC_ASSERT (boost::integer_traits< TYPE >::is_specialized)
 BOOST_STATIC_ASSERT (boost::integer_traits< TYPE >::is_integral)
 BOOST_STATIC_ASSERT (!boost::integer_traits< TYPE >::is_signed)

Detailed Description

template<class TYPE, typename Gaudi::Math::TypeWrapper< TYPE >::value_type I, unsigned int N>
struct Gaudi::Math::IDigit< TYPE, I, N >

Simple structure form compile-time evaluation of the Nth decimal digit for the given number.

  const int dig5 = IDigit<unsigned int,4362736,5>::value ;

Attention:
the least significant decimal digit is numbered as #0
Author:
Vanya BELYAEV Ivan.Belyaev@nilkhef.nl
Date:
2008-07-31

Definition at line 283 of file Digit.h.


Member Enumeration Documentation

template<class TYPE, typename TypeWrapper< TYPE >::value_type I, unsigned int N>
anonymous enum [inherited]

Enumerator:
value 
TYPE 
long 
value 

Definition at line 117 of file Digit.h.

00118           { 
00119             value = 
00120             Check10<TYPE,N>::safe ? 
00121             (I/Gaudi::Math::IPower<TYPE              ,10,N>::value )%10 :
00122             (I/Gaudi::Math::IPower<unsigned long long,10,N>::value )%10 
00123           } ;


Member Function Documentation

template<class TYPE, typename Gaudi::Math::TypeWrapper< TYPE >::value_type I, unsigned int N>
Gaudi::Math::IDigit< TYPE, I, N >::BOOST_STATIC_ASSERT ( boost::integer_traits< TYPE >::is_specialized   ) 

Reimplemented from Gaudi::Math::detail::_IDigit< TYPE, I, N >.

template<class TYPE, typename Gaudi::Math::TypeWrapper< TYPE >::value_type I, unsigned int N>
Gaudi::Math::IDigit< TYPE, I, N >::BOOST_STATIC_ASSERT ( boost::integer_traits< TYPE >::is_integral   ) 

Reimplemented from Gaudi::Math::detail::_IDigit< TYPE, I, N >.

template<class TYPE, typename Gaudi::Math::TypeWrapper< TYPE >::value_type I, unsigned int N>
Gaudi::Math::IDigit< TYPE, I, N >::BOOST_STATIC_ASSERT ( !boost::integer_traits< TYPE >::is_signed   ) 

Reimplemented from Gaudi::Math::detail::_IDigit< TYPE, I, N >.


The documentation for this struct was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:02:58 2011 for LHCbMath by doxygen 1.4.7