| 70 | |
| 71 | template<typename T> |
| 72 | void rankLow(const int num) { |
| 73 | SUPPORTED_TYPE_CHECK(T); |
| 74 | LAPACK_ENABLED_CHECK(); |
| 75 | |
| 76 | dtype dt = (dtype)dtype_traits<T>::af_type; |
| 77 | |
| 78 | array a = randu(3 * num, num, dt); |
| 79 | array b = randu(3 * num, num, dt); |
| 80 | array c = a + 0.2 * b; |
| 81 | array in = join(1, a, b, c); |
| 82 | |
| 83 | // The last third is just a linear combination of first and second thirds |
| 84 | ASSERT_EQ(2 * num, (int)rank(in)); |
| 85 | } |
| 86 | |
| 87 | TYPED_TEST(Rank, small) { rankSmall<TypeParam>(); } |
| 88 |