Files
azerothcore-wotlk/deps/g3dlite/include/G3D/uint128.h
Yehonal f06f32849f Directory Structure [step 1]: moving files
working on #672

NOTE: This commit can't be compiled!!
2017-10-12 20:00:52 +02:00

52 lines
954 B
C++

/**
@file uint128.h
@maintainer Morgan McGuire, http://graphics.cs.williams.edu
@author Kyle Whitson
@created 2008-07-17
@edited 2008-07-17
*/
#ifndef G3D_UINT128_H
#define G3D_UINT128_H
#include "G3D/g3dmath.h"
namespace G3D {
/** Limited functionality 128-bit unsigned integer. This is primarily to support FNV hashing and other
cryptography applications. See the GMP library for high-precision C++ math support. */
class uint128 {
public:
G3D::uint64 hi;
G3D::uint64 lo;
uint128(const uint64& lo);
uint128(const uint64& hi, const uint64& lo);
uint128& operator+=(const uint128& x);
uint128& operator*=(const uint128& x);
uint128& operator^=(const uint128& x);
uint128& operator&=(const uint128& x);
uint128& operator|=(const uint128& x);
bool operator==(const uint128& x);
uint128& operator>>=(const int x);
uint128& operator<<=(const int x);
uint128 operator&(const uint128& x);
};
}
#endif