|
|
@@ -2,9 +2,11 @@
|
|
|
#include <glm/glm.hpp>
|
|
|
#include <glm/gtx/pca.hpp>
|
|
|
#include <glm/gtc/epsilon.hpp>
|
|
|
+#include <glm/gtx/string_cast.hpp>
|
|
|
|
|
|
+#include <cstdio>
|
|
|
#include <vector>
|
|
|
-#ifdef GLM_HAS_CXX11_STL
|
|
|
+#if GLM_HAS_CXX11_STL == 1
|
|
|
#include <random>
|
|
|
#endif
|
|
|
|
|
|
@@ -30,8 +32,8 @@ bool matrixEpsilonEqual(glm::mat<D, D, T, Q> const& a, glm::mat<D, D, T, Q> cons
|
|
|
template<typename T>
|
|
|
T failReport(T line)
|
|
|
{
|
|
|
- printf("Failed in line %d\n", static_cast<int>(line));
|
|
|
- fprintf(stderr, "Failed in line %d\n", static_cast<int>(line));
|
|
|
+ printf("I:Failed in line %d\n", static_cast<int>(line));
|
|
|
+ fprintf(stderr, "E:Failed in line %d\n", static_cast<int>(line));
|
|
|
return line;
|
|
|
}
|
|
|
|
|
|
@@ -438,10 +440,14 @@ int testCovar(glm::length_t dataSize, unsigned int randomEngineSeed)
|
|
|
|
|
|
mat covarMat = glm::computeCovarianceMatrix(testData.data(), testData.size(), center);
|
|
|
if(_1aga::checkCovarMat(covarMat))
|
|
|
+ {
|
|
|
+ fprintf(stdout, "I:Reconstructed covarMat:\n%s\n", glm::to_string(covarMat).c_str());
|
|
|
+ fprintf(stderr, "E:Reconstructed covarMat:\n%s\n", glm::to_string(covarMat).c_str());
|
|
|
return failReport(__LINE__);
|
|
|
+ }
|
|
|
|
|
|
// #2: test function variant consitency with random data
|
|
|
-#ifdef GLM_HAS_CXX11_STL
|
|
|
+#if GLM_HAS_CXX11_STL == 1
|
|
|
std::default_random_engine rndEng(randomEngineSeed);
|
|
|
std::normal_distribution<T> normalDist;
|
|
|
testData.resize(dataSize);
|
|
|
@@ -472,9 +478,9 @@ int testCovar(glm::length_t dataSize, unsigned int randomEngineSeed)
|
|
|
return failReport(__LINE__);
|
|
|
if(!matrixEpsilonEqual(c1, c4))
|
|
|
return failReport(__LINE__);
|
|
|
-#else // GLM_HAS_CXX11_STL
|
|
|
+#else // GLM_HAS_CXX11_STL == 1
|
|
|
printf("dummy: %d %d\n", static_cast<int>(randomEngineSeed), static_cast<int>(dataSize));
|
|
|
-#endif // GLM_HAS_CXX11_STL
|
|
|
+#endif // GLM_HAS_CXX11_STL == 1
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
@@ -552,7 +558,7 @@ int smokeTest()
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-#ifdef GLM_HAS_CXX11_STL
|
|
|
+#if GLM_HAS_CXX11_STL == 1
|
|
|
int rndTest(unsigned int randomEngineSeed)
|
|
|
{
|
|
|
std::default_random_engine rndEng(randomEngineSeed);
|
|
|
@@ -626,7 +632,7 @@ int rndTest(unsigned int randomEngineSeed)
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
-#endif // GLM_HAS_CXX11_STL
|
|
|
+#endif // GLM_HAS_CXX11_STL == 1
|
|
|
|
|
|
int main()
|
|
|
{
|
|
|
@@ -679,12 +685,12 @@ int main()
|
|
|
return failReport(__LINE__);
|
|
|
|
|
|
// Final tests with randomized data
|
|
|
-#ifdef GLM_HAS_CXX11_STL
|
|
|
+#if GLM_HAS_CXX11_STL == 1
|
|
|
if(rndTest(12345) != 0)
|
|
|
return failReport(__LINE__);
|
|
|
if(rndTest(42) != 0)
|
|
|
return failReport(__LINE__);
|
|
|
-#endif // GLM_HAS_CXX11_STL
|
|
|
+#endif // GLM_HAS_CXX11_STL == 1
|
|
|
|
|
|
return 0;
|
|
|
}
|