bit.hpp
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 #pragma once
00040 
00041 // Dependencies
00042 #include "../detail/type_int.hpp"
00043 #include "../detail/setup.hpp"
00044 #include <cstddef>
00045 
00046 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
00047 #       pragma message("GLM: GLM_GTX_bit extension included")
00048 #endif
00049 
00050 namespace glm
00051 {
00054 
00057         template <typename genIType>
00058         GLM_FUNC_DECL genIType mask(genIType const & count);
00059 
00062         template <typename genType> 
00063         GLM_FUNC_DECL genType highestBitValue(genType const & value);
00064 
00067         template <typename genType> 
00068         GLM_FUNC_DECL bool isPowerOfTwo(genType const & value);
00069 
00072         template <typename genType> 
00073         GLM_FUNC_DECL genType powerOfTwoAbove(genType const & value);
00074 
00077         template <typename genType> 
00078         GLM_FUNC_DECL genType powerOfTwoBelow(genType const & value);
00079 
00082         template <typename genType> 
00083         GLM_FUNC_DECL genType powerOfTwoNearest(genType const & value);
00084 
00087         template <typename genType> 
00088         GLM_DEPRECATED GLM_FUNC_DECL genType bitRevert(genType const & value);
00089 
00092         template <typename genType>
00093         GLM_FUNC_DECL genType bitRotateRight(genType const & In, std::size_t Shift);
00094 
00097         template <typename genType>
00098         GLM_FUNC_DECL genType bitRotateLeft(genType const & In, std::size_t Shift);
00099 
00102         template <typename genIUType>
00103         GLM_FUNC_DECL genIUType fillBitfieldWithOne(
00104                 genIUType const & Value,
00105                 int const & FromBit, 
00106                 int const & ToBit);
00107 
00110         template <typename genIUType>
00111         GLM_FUNC_DECL genIUType fillBitfieldWithZero(
00112                 genIUType const & Value,
00113                 int const & FromBit, 
00114                 int const & ToBit);
00115 
00121         GLM_FUNC_DECL int16 bitfieldInterleave(int8 x, int8 y);
00122 
00128         GLM_FUNC_DECL uint16 bitfieldInterleave(uint8 x, uint8 y);
00129 
00135         GLM_FUNC_DECL int32 bitfieldInterleave(int16 x, int16 y);
00136 
00142         GLM_FUNC_DECL uint32 bitfieldInterleave(uint16 x, uint16 y);
00143 
00149         GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y);
00150 
00156         GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y);
00157 
00163         GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z);
00164 
00170         GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z);
00171 
00177         GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z);
00178 
00184         GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z);
00185 
00191         GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y, int32 z);
00192 
00198         GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y, uint32 z);
00199 
00205         GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w);
00206 
00212         GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w);
00213 
00219         GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w);
00220 
00226         GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w);
00227 
00229 } //namespace glm
00230 
00231 #include "bit.inl"


rtabmap
Author(s): Mathieu Labbe
autogenerated on Sat Jul 23 2016 11:44:15