|
|
@@ -248,8 +248,8 @@ namespace detail
|
|
|
GLM_STATIC_ASSERT(sizeof(uint) == sizeof(uint32), "uint and uint32 size mismatch");
|
|
|
|
|
|
uint64 Value64 = static_cast<uint64>(x) * static_cast<uint64>(y);
|
|
|
- msb = Value64 >> 32;
|
|
|
- lsb = Value64;
|
|
|
+ msb = static_cast<uint>(Value64 >> static_cast<uint64>(32));
|
|
|
+ lsb = static_cast<uint>(Value64);
|
|
|
}
|
|
|
|
|
|
template <precision P, template <typename, precision> class vecType>
|
|
|
@@ -268,8 +268,8 @@ namespace detail
|
|
|
GLM_STATIC_ASSERT(sizeof(int) == sizeof(int32), "int and int32 size mismatch");
|
|
|
|
|
|
int64 Value64 = static_cast<int64>(x) * static_cast<int64>(y);
|
|
|
- msb = Value64 >> 32;
|
|
|
- lsb = Value64;
|
|
|
+ msb = static_cast<int>(Value64 >> static_cast<int64>(32));
|
|
|
+ lsb = static_cast<int>(Value64);
|
|
|
}
|
|
|
|
|
|
template <precision P, template <typename, precision> class vecType>
|