- Main Page
- Namespaces
- Files

- File List

# func_integer.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2010 G-Truc Creation (www.g-truc.net)
    00004 // Created : 2010-03-17
    00005 // Updated : 2010-03-31
    00006 // Licence : This source is under MIT License
    00007 // File    : glm/core/func_integer.hpp
    00009
    00010 #ifndef glm_core_func_integer
    00011 #define glm_core_func_integer
    00012
    00013 namespace glm
    00014 {
    00015         namespace test{
    00016                 void main_core_func_integer();
    00017         }//namespace test
    00018
    00019         namespace core{
    00020         namespace function{
    00022         namespace integer{
    00023
    00029                 template <typename genUType>
    00030                 genUType uaddCarry(
    00031                         genUType const & x,
    00032                         genUType const & y,
    00033                         genUType & carry);
    00034
    00040                 template <typename genUType>
    00041                 genUType usubBorrow(
    00042                         genUType const & x,
    00043                         genUType const & y,
    00044                         genUType & borrow);
    00045
    00050                 template <typename genUType>
    00051                 void umulExtended(
    00052                         genUType const & x,
    00053                         genUType const & y,
    00054                         genUType & msb,
    00055                         genUType & lsb);
    00056
    00061                 template <typename genIType>
    00062                 void imulExtended(
    00063                         genIType const & x,
    00064                         genIType const & y,
    00065                         genIType & msb,
    00066                         genIType & lsb);
    00067
    00068
    00081                 template <typename genIUType>
    00082                 genIUType bitfieldExtract(
    00083                         genIUType const & Value,
    00084                         int const & Offset,
    00085                         int const & Bits);
    00086
    00098                 template <typename genIUType>
    00099                 genIUType bitfieldInsert(
    00100                         genIUType const & Base,
    00101                         genIUType const & Insert,
    00102                         int const & Offset,
    00103                         int const & Bits);
    00104
    00109                 template <typename genIUType>
    00110                 genIUType bitfieldReverse(genIUType const & value);
    00111
    00114                 template <typename T, template <typename> class C>
    00115                 typename C<T>::signed_type bitCount(C<T> const & Value);
    00116
    00121                 template <typename T, template <typename> class C>
    00122                 typename C<T>::signed_type findLSB(C<T> const & Value);
    00123
    00129                 template <typename T, template <typename> class C>
    00130                 typename C<T>::signed_type findMSB(C<T> const & Value);
    00131
    00132         }//namespace integer
    00133         }//namespace function
    00134         }//namespace core
    00135
    00136         using namespace core::function::integer;
    00137 }//namespace glm
    00138
    00139 #include "func_integer.inl"
    00140
    00141 #endif//glm_core_func_integer
    00142