blob: fc10147590ecb803dd6104e76a87a187a446bd2a (
plain) (
blame)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 | # ===-- mat2.py -----------------------------------------------------------===##
# 
#                      The KLEE Symbolic Virtual Machine
# 
#  This file is distributed under the University of Illinois Open Source
#  License. See LICENSE.TXT for details.
# 
# ===----------------------------------------------------------------------===##
import vec2
def det(m):
	((m00,m01),(m10,m11))= m
	
	return m00*m11 - m01*m10
def mul(a,b):
	b_trans= zip(* b)
	return tuple([transmulvec2(b_trans, a_r) for a_r in a])
	# multiple vector v by a transposed matrix
def transmulvec2(m_trans,v):
	return tuple([vec2.dot(v, m_c) for m_c in m_trans])
def mulvec2(m,v):
	return transmulvec2(zip(* m), v)
def mulN(m,N):
	return tuple([vec2.mulN(v,N) for v in m])
 |