#ifndef VEC3_H #define VEC3_H typedef struct { double x, y, z; } vec3_t; vec3_t vec3_scale(vec3_t v, double s); vec3_t vec3_add(vec3_t v, vec3_t u); vec3_t vec3_sub(vec3_t v, vec3_t u); double vec3_dot(vec3_t v, vec3_t u); vec3_t vec3_cross(vec3_t v, vec3_t u); vec3_t vec3_hadamard(vec3_t v, vec3_t u); double vec3_len(vec3_t v); vec3_t vec3_unit(vec3_t v); #endif