#ifndef HANDMADE_MATH_H #define HANDMADE_MATH_H typedef struct v2 { F32 X, Y; F32 E[2]; } v2; v2 V2(F32 X, F32 Y) { v2 Result; Result.X = X; Result.Y = Y; return Result; } v2 vector_multiply(F32 A, v2 B) { v2 Result; Result.X = A * B.X; Result.Y = A * B.Y; return Result; } v2 vector_unary(v2 A) { v2 Result; Result.X = -A.X; Result.Y = -A.Y; return Result; } v2 vector_add(v2 A, v2 B) { v2 Result; Result.X = A.X + B.X; Result.Y = A.Y + B.Y; return Result; } v2 vector_subtract(v2 A, v2 B) { v2 Result; Result.X = A.X - B.X; Result.Y = A.Y - B.Y; return Result; } #endif