Initial commit
This commit is contained in:
50
deps/g3dlite/include/G3D/uint128.h
vendored
Normal file
50
deps/g3dlite/include/G3D/uint128.h
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
/**
|
||||
@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
|
||||
Reference in New Issue
Block a user