use ValueError when vector/matrix multiplications sizes are not supported, was using TypeError for mat*vec and ValueError for vec*mat.

This commit is contained in:
2012-02-11 14:27:36 +00:00
parent 5e1f6f0174
commit b81bfd86b4
2 changed files with 3 additions and 3 deletions

View File

@@ -1497,7 +1497,7 @@ int column_vector_multiplication(float r_vec[MAX_DIMENSIONS], VectorObject *vec,
vec_cpy[3] = 1.0f;
}
else {
PyErr_SetString(PyExc_TypeError,
PyErr_SetString(PyExc_ValueError,
"matrix * vector: "
"len(matrix.col) and len(vector) must be the same, "
"except for 4x4 matrix * 3D vector.");

View File

@@ -111,8 +111,8 @@ class MatrixTesting(unittest.TestCase):
vec = Vector((1, 2))
self.assertRaises(TypeError, mat1.__mul__, vec)
self.assertRaises(ValueError, vec.__mul__, mat1) # Why are these different?!
self.assertRaises(ValueError, mat1.__mul__, vec)
self.assertRaises(ValueError, vec.__mul__, mat1)
mat2 = Matrix(((1, 2),
(-2, 3)))