49 T xA[], T xB[], T xBSref[],
55 T eps=100*std::numeric_limits<T>::epsilon();
61 for (
int i=0; i <
min(r,c); i++)
82 gnsstk::TestUtil testFramework(
"Matrix SVD<"+gnsstk::typeString<T>()+
">",
"--", __FILE__, __LINE__);
86 SVDTest(2, 2, a22, b2, bs2, testFramework);
88 T a23[] = {4, 11, 14, 8, 7, -2};
89 SVDTest<T>(3, 2, a23,
NULL,
NULL, testFramework);
90 SVDTest<T>(2, 3, a23,
NULL,
NULL, testFramework);
92 T a33[] = {2,-1,0,-1,2,-1,0,-1,2};
94 T bs3[] = {4.25,1.5,1.75};
95 SVDTest<T>(3, 3, a33, b3, bs3, testFramework);
97 T a44[] = {2,-1,0,0,-1,2,-1,0,0,-1,2,-1,0,0,-1,2};
100 SVDTest<T>(4, 4, a44, b4, bs4, testFramework);
101 SVDTest<T>(2, 8, a44,
NULL,
NULL, testFramework);
102 SVDTest<T>(8, 2, a44,
NULL,
NULL, testFramework);
111 ec += multipass<float>();
112 ec += multipass<double>();
113 ec += multipass<long double>();
115 std::cout <<
"Total Failures for " << __FILE__ <<
": " << ec << std::endl;