- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List

# func_integer.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 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
    00026
    00032                 template <typename genUType>
    00033                 genUType uaddCarry(
    00034                         genUType const & x,
    00035                         genUType const & y,
    00036                         genUType & carry);
    00037
    00043                 template <typename genUType>
    00044                 genUType usubBorrow(
    00045                         genUType const & x,
    00046                         genUType const & y,
    00047                         genUType & borrow);
    00048
    00053                 template <typename genUType>
    00054                 void umulExtended(
    00055                         genUType const & x,
    00056                         genUType const & y,
    00057                         genUType & msb,
    00058                         genUType & lsb);
    00059
    00064                 template <typename genIType>
    00065                 void imulExtended(
    00066                         genIType const & x,
    00067                         genIType const & y,
    00068                         genIType & msb,
    00069                         genIType & lsb);
    00070
    00083                 template <typename genIUType>
    00084                 genIUType bitfieldExtract(
    00085                         genIUType const & Value,
    00086                         int const & Offset,
    00087                         int const & Bits);
    00088
    00100                 template <typename genIUType>
    00101                 genIUType bitfieldInsert(
    00102                         genIUType const & Base,
    00103                         genIUType const & Insert,
    00104                         int const & Offset,
    00105                         int const & Bits);
    00106
    00111                 template <typename genIUType>
    00112                 genIUType bitfieldReverse(genIUType const & value);
    00113
    00116                 template <typename T, template <typename> class C>
    00117                 typename C<T>::signed_type bitCount(C<T> const & Value);
    00118
    00123                 template <typename T, template <typename> class C>
    00124                 typename C<T>::signed_type findLSB(C<T> const & Value);
    00125
    00131                 template <typename T, template <typename> class C>
    00132                 typename C<T>::signed_type findMSB(C<T> const & Value);
    00133
    00135
    00136         }//namespace integer
    00137         }//namespace function
    00138         }//namespace core
    00139
    00140         using namespace core::function::integer;
    00141 }//namespace glm
    00142
    00143 #include "func_integer.inl"
    00144
    00145 #endif//glm_core_func_integer
    00146