More tests
This commit is contained in:
13
main.cpp
13
main.cpp
@@ -26,6 +26,7 @@ void test_function() {
|
||||
assert(("converting 01001001", Function<uint16_t, 8>("01001001").string() == "01001001"));
|
||||
assert(("converting 00000000", Function<uint16_t, 8>("00000000").string() == "00000000"));
|
||||
assert(("converting 11111111", Function<uint16_t, 8>("11111111").string() == "11111111"));
|
||||
assert((Function<uint16_t, 16>("0010101111110001").string() == "0010101111110001"));
|
||||
|
||||
Function<uint16_t, 8> a(12);
|
||||
Function<uint16_t, 8> b(5);
|
||||
@@ -59,7 +60,13 @@ void test_function() {
|
||||
assert(i_matrix.string("") == "100010001");
|
||||
assert(i_matrix.get_determinant() == 1);
|
||||
assert(minus_i_matrix.string("") == "001010100");
|
||||
assert(minus_i_matrix.get_determinant() == uint16_t(-1));
|
||||
assert(minus_i_matrix.get_determinant() != 0); // == uint16_t(-1)
|
||||
|
||||
assert((BoolSquareMatrix<uint16_t, 3>(0b001001010).get_determinant() == 0));
|
||||
assert((BoolSquareMatrix<uint16_t, 3>(0b101000010).get_determinant() == 0));
|
||||
assert((BoolSquareMatrix<uint16_t, 3>(0b110101110).get_determinant() == 0));
|
||||
assert((BoolSquareMatrix<uint16_t, 3>(0b110101011).get_determinant() %2 == 0));
|
||||
assert((BoolSquareMatrix<uint16_t, 3>(0b001011111).get_determinant() != 0)); // == uint16_t(-1)
|
||||
|
||||
BoolSquareMatrix<uint16_t, 4> ones_matrix_4(0b1111111111111111),
|
||||
i_matrix_4(0b1000010000100001),
|
||||
@@ -71,6 +78,10 @@ void test_function() {
|
||||
assert(minus_i_matrix_4.string("") == "0001001001001000");
|
||||
assert(minus_i_matrix_4.get_determinant() == 1);
|
||||
|
||||
assert((BoolSquareMatrix<uint16_t, 4>(0b0001100000011010).get_determinant() == 0));
|
||||
assert((BoolSquareMatrix<uint16_t, 4>(0b0100011110111001).get_determinant() != 0));
|
||||
assert((BoolSquareMatrix<uint16_t, 4>(0b0000110100001101).get_determinant() == 0));
|
||||
assert((BoolSquareMatrix<uint16_t, 4>(0b0010101111110001).get_determinant() != 0));
|
||||
cout << "self-test passed" << endl;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user