|
|
|
@ -8,6 +8,7 @@ |
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
#include <glm/integer.hpp> |
|
|
|
|
#include <glm/gtc/vec1.hpp> |
|
|
|
|
#include <iostream> |
|
|
|
|
|
|
|
|
|
enum result |
|
|
|
@ -225,14 +226,58 @@ namespace usubBorrow |
|
|
|
|
{ |
|
|
|
|
int Error(0); |
|
|
|
|
|
|
|
|
|
glm::uint x = 16; |
|
|
|
|
glm::uint y = 17; |
|
|
|
|
glm::uint Borrow = 0; |
|
|
|
|
glm::uint Result = glm::usubBorrow(x, y, Borrow); |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
glm::uint x = 16; |
|
|
|
|
glm::uint y = 17; |
|
|
|
|
glm::uint Borrow = 0; |
|
|
|
|
glm::uint Result = glm::usubBorrow(x, y, Borrow); |
|
|
|
|
|
|
|
|
|
Error += Borrow == 1 ? 0 : 1; |
|
|
|
|
Error += Result == 1 ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
glm::uvec1 x(16); |
|
|
|
|
glm::uvec1 y(17); |
|
|
|
|
glm::uvec1 Borrow(0); |
|
|
|
|
glm::uvec1 Result(glm::usubBorrow(x, y, Borrow)); |
|
|
|
|
|
|
|
|
|
Error += glm::all(glm::equal(Borrow, glm::uvec1(1))) ? 0 : 1; |
|
|
|
|
Error += glm::all(glm::equal(Result, glm::uvec1(1))) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
glm::uvec2 x(16); |
|
|
|
|
glm::uvec2 y(17); |
|
|
|
|
glm::uvec2 Borrow(0); |
|
|
|
|
glm::uvec2 Result(glm::usubBorrow(x, y, Borrow)); |
|
|
|
|
|
|
|
|
|
Error += glm::all(glm::equal(Borrow, glm::uvec2(1))) ? 0 : 1; |
|
|
|
|
Error += glm::all(glm::equal(Result, glm::uvec2(1))) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
glm::uvec3 x(16); |
|
|
|
|
glm::uvec3 y(17); |
|
|
|
|
glm::uvec3 Borrow(0); |
|
|
|
|
glm::uvec3 Result(glm::usubBorrow(x, y, Borrow)); |
|
|
|
|
|
|
|
|
|
Error += glm::all(glm::equal(Borrow, glm::uvec3(1))) ? 0 : 1; |
|
|
|
|
Error += glm::all(glm::equal(Result, glm::uvec3(1))) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
glm::uvec4 x(16); |
|
|
|
|
glm::uvec4 y(17); |
|
|
|
|
glm::uvec4 Borrow(0); |
|
|
|
|
glm::uvec4 Result(glm::usubBorrow(x, y, Borrow)); |
|
|
|
|
|
|
|
|
|
Error += glm::all(glm::equal(Borrow, glm::uvec4(1))) ? 0 : 1; |
|
|
|
|
Error += glm::all(glm::equal(Result, glm::uvec4(1))) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return Error; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}//namespace usubBorrow
|
|
|
|
|
|
|
|
|
|
int main() |
|
|
|
@ -241,6 +286,7 @@ int main() |
|
|
|
|
|
|
|
|
|
std::cout << "sizeof(glm::uint64): " << sizeof(glm::detail::uint64) << std::endl; |
|
|
|
|
|
|
|
|
|
Error += ::usubBorrow::test(); |
|
|
|
|
Error += ::bitfieldExtract::test(); |
|
|
|
|
Error += ::bitfieldReverse::test(); |
|
|
|
|
Error += ::findMSB::test(); |
|
|
|
|