Commit bdaaa8aea49a450b8b4a25ec0e60c451552e3303

Authored by Jürgen Knödlseder
1 parent 460fec47

Correct check of min, max, and sum functions.

sum function checked failed for clang on i386.
Showing 1 changed file with 6 additions and 62 deletions
test/test_GSparseMatrix.cpp
@@ -864,14 +864,7 @@ void TestGSparseMatrix::matrix_functions(void) @@ -864,14 +864,7 @@ void TestGSparseMatrix::matrix_functions(void)
864 double min = m_test.min(); 864 double min = m_test.min();
865 865
866 // Check mimimum 866 // Check mimimum
867 - double value = g_matrix[0];  
868 - for (int row = 0; row < g_rows; ++row) {  
869 - for (int col = 0; col < g_cols; ++col) {  
870 - if (g_matrix[col+row*g_cols] < value) {  
871 - value = g_matrix[col+row*g_cols];  
872 - }  
873 - }  
874 - } 867 + double value = 0.0;
875 test_value(min, value, 0.0, "Test minimum function"); 868 test_value(min, value, 0.0, "Test minimum function");
876 869
877 // Maximum 870 // Maximum
@@ -879,11 +872,9 @@ void TestGSparseMatrix::matrix_functions(void) @@ -879,11 +872,9 @@ void TestGSparseMatrix::matrix_functions(void)
879 872
880 // Check maximum 873 // Check maximum
881 value = g_matrix[0]; 874 value = g_matrix[0];
882 - for (int row = 0; row < g_rows; ++row) {  
883 - for (int col = 0; col < g_cols; ++col) {  
884 - if (g_matrix[col+row*g_cols] > value) {  
885 - value = g_matrix[col+row*g_cols];  
886 - } 875 + for (int i = 1; i < g_elements; ++i) {
  876 + if (g_matrix[i] > value) {
  877 + value = g_matrix[i];
887 } 878 }
888 } 879 }
889 test_value(max, value, 0.0, "Test maximum function"); 880 test_value(max, value, 0.0, "Test maximum function");
@@ -893,10 +884,8 @@ void TestGSparseMatrix::matrix_functions(void) @@ -893,10 +884,8 @@ void TestGSparseMatrix::matrix_functions(void)
893 884
894 // Check sum 885 // Check sum
895 value = 0.0; 886 value = 0.0;
896 - for (int row = 0; row < g_rows; ++row) {  
897 - for (int col = 0; col < g_cols; ++col) {  
898 - value += g_matrix[col+row*g_cols];  
899 - } 887 + for (int i = 0; i < g_elements; ++i) {
  888 + value += g_matrix[i];
900 } 889 }
901 test_value(sum, value, 1.0e-20, "Test sum function"); 890 test_value(sum, value, 1.0e-20, "Test sum function");
902 891
@@ -921,51 +910,6 @@ void TestGSparseMatrix::matrix_functions(void) @@ -921,51 +910,6 @@ void TestGSparseMatrix::matrix_functions(void)
921 test_assert(check_matrix(test2, 1.0, 0.0), 910 test_assert(check_matrix(test2, 1.0, 0.0),
922 "Test GSparseMatrix(GSparseMatrix) constructor", 911 "Test GSparseMatrix(GSparseMatrix) constructor",
923 "Unexpected GSparseMatrix:\n"+test2.print()); 912 "Unexpected GSparseMatrix:\n"+test2.print());
924 -  
925 - // Try extracting of lower triangle  
926 - /*  
927 - test_try("Try extracting of lower triangle");  
928 - try {  
929 - test2 = m_test.extract_lower_triangle();  
930 - test_try_failure("Expected GException::matrix_not_square exception.");  
931 - }  
932 - catch (GException::matrix_not_square &e) {  
933 - test_try_success();  
934 - }  
935 - catch (std::exception &e) {  
936 - test_try_failure(e);  
937 - }  
938 - */  
939 -  
940 - // Try extracting of upper triangle  
941 - /*  
942 - test_try("Try extracting of lower triangle");  
943 - try {  
944 - test2 = m_test.extract_upper_triangle();  
945 - test_try_failure("Expected GException::matrix_not_square exception.");  
946 - }  
947 - catch (GException::matrix_not_square &e) {  
948 - test_try_success();  
949 - }  
950 - catch (std::exception &e) {  
951 - test_try_failure(e);  
952 - }  
953 - */  
954 -  
955 - // Extract lower triangle for square matrix  
956 - /*  
957 - GSparseMatrix test3 = m_test * transpose(m_test);  
958 - GSparseMatrix test4 = test3.extract_lower_triangle();  
959 - test_assert(check_matrix_lt(test4, test3),  
960 - "Test GSparseMatrix.extract_lower_triangle() method",  
961 - "Unexpected lower triangle:\n"+test4.print());  
962 -  
963 - // Extract upper triangle  
964 - test4 = test3.extract_upper_triangle();  
965 - test_assert(check_matrix_ut(test4, test3),  
966 - "Test GSparseMatrix.extract_upper_triangle() method",  
967 - "Unexpected lower triangle:\n"+test4.print());  
968 - */  
969 913
970 // Return 914 // Return
971 return; 915 return;