- 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 core{
    00016         namespace function{
    00018         namespace integer{
    00019
    00022
    00029                 template <typename genUType>
    00030                 genUType uaddCarry(
    00031                         genUType const & x,
    00032                         genUType const & y,
    00033                         genUType & carry);
    00034
    00041                 template <typename genUType>
    00042                 genUType usubBorrow(
    00043                         genUType const & x,
    00044                         genUType const & y,
    00045                         genUType & borrow);
    00046
    00053                 template <typename genUType>
    00054                 void umulExtended(
    00055                         genUType const & x,
    00056                         genUType const & y,
    00057                         genUType & msb,
    00058                         genUType & lsb);
    00059
    00066                 template <typename genIType>
    00067                 void imulExtended(
    00068                         genIType const & x,
    00069                         genIType const & y,
    00070                         genIType & msb,
    00071                         genIType & lsb);
    00072
    00086                 template <typename genIUType>
    00087                 genIUType bitfieldExtract(
    00088                         genIUType const & Value,
    00089                         int const & Offset,
    00090                         int const & Bits);
    00091
    00104                 template <typename genIUType>
    00105                 genIUType bitfieldInsert(
    00106                         genIUType const & Base,
    00107                         genIUType const & Insert,
    00108                         int const & Offset,
    00109                         int const & Bits);
    00110
    00117                 template <typename genIUType>
    00118                 genIUType bitfieldReverse(genIUType const & value);
    00119
    00124                 template <typename T, template <typename> class C>
    00125                 typename C<T>::signed_type bitCount(C<T> const & Value);
    00126
    00133                 template <typename T, template <typename> class C>
    00134                 typename C<T>::signed_type findLSB(C<T> const & Value);
    00135
    00143                 template <typename T, template <typename> class C>
    00144                 typename C<T>::signed_type findMSB(C<T> const & Value);
    00145
    00147
    00148         }//namespace integer
    00149         }//namespace function
    00150         }//namespace core
    00151
    00152         using namespace core::function::integer;
    00153 }//namespace glm
    00154
    00155 #include "func_integer.inl"
    00156
    00157 #endif//glm_core_func_integer
    00158