+// Matrix 2x2
+// ===========================================================================================================
+
+#define M2X2_INDENTIY {{1.0f, 0.0f, }, \
+ { 0.0f, 1.0f, }}
+
+#define M2X2_ZERO {{0.0f, 0.0f, }, \
+ { 0.0f, 0.0f, }}
+
+static inline void m2x2_copy( m2x2f a, m2x2f b )
+{
+ v2_copy( a[0], b[0] );
+ v2_copy( a[1], b[1] );
+}
+
+static inline void m2x2_identity( m2x2f a )
+{
+ m2x2f id = M2X2_INDENTIY;
+ m2x2_copy( id, a );
+}
+
+static inline void m2x2_create_rotation( m2x2f a, float theta )
+{
+ float s, c;
+
+ s = sinf( theta );
+ c = cosf( theta );
+
+ a[0][0] = c;
+ a[0][1] = -s;
+ a[1][0] = s;
+ a[1][1] = c;
+}
+