#include "vector.h" #include <stdio.h> int main() { vector4 v1(1,2,3,4); vector4 v2(5,6,7,8); vector4 v3; mat4x4 m1, m2, m3; m1.load_identity(); m2.load_identity(); printf("v1 = (%f, %f, %f, %f)\n", v1.x, v1.y, v1.z, v1.w); printf("v2 = (%f, %f, %f, %f)\n", v2.x, v2.y, v2.z, v2.w); v3 = v1 + v2; printf("add = (%f, %f, %f, %f)\n", v3.x, v3.y, v3.z, v3.w); v3 = v1 - v2; printf("sub = (%f, %f, %f, %f)\n", v3.x, v3.y, v3.z, v3.w); v3 = v1 * v2; printf("dot = (%f, %f, %f, %f)\n", v3.x, v3.y, v3.z, v3.w); v3.cross(v1, v2); printf("cross = (%f, %f, %f, %f)\n", v3.x, v3.y, v3.z, v3.w); v3 = v1 * m1; printf("vecmat = (%f, %f, %f, %f)\n", v3.x, v3.y, v3.z, v3.w); m3 = m1 * m2; printf("matmul = (%f, %f, %f, %f)\n", m3.m[0][0], m3.m[0][1], m3.m[0][2], m3.m[0][3]); printf(" (%f, %f, %f, %f)\n", m3.m[1][0], m3.m[1][1], m3.m[1][2], m3.m[1][3]); printf(" (%f, %f, %f, %f)\n", m3.m[2][0], m3.m[2][1], m3.m[2][2], m3.m[2][3]); printf(" (%f, %f, %f, %f)\n", m3.m[3][0], m3.m[3][1], m3.m[3][2], m3.m[3][3]); return 0; }