goat3d
diff libs/vmath/vector.h @ 28:9ba3e2fb8a33
modified vmath to work with vs2012, still memory corruptions in 3dsmax...
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sun, 29 Sep 2013 08:46:19 +0300 |
parents | 4deb0b12fe14 |
children |
line diff
1.1 --- a/libs/vmath/vector.h Sun Sep 29 08:20:19 2013 +0300 1.2 +++ b/libs/vmath/vector.h Sun Sep 29 08:46:19 2013 +0300 1.3 @@ -27,57 +27,57 @@ 1.4 #endif /* __cplusplus */ 1.5 1.6 /* C 2D vector functions */ 1.7 -static inline vec2_t v2_cons(scalar_t x, scalar_t y); 1.8 -static inline void v2_print(FILE *fp, vec2_t v); 1.9 +static VMATH_INLINE vec2_t v2_cons(scalar_t x, scalar_t y); 1.10 +static VMATH_INLINE void v2_print(FILE *fp, vec2_t v); 1.11 1.12 -static inline vec2_t v2_add(vec2_t v1, vec2_t v2); 1.13 -static inline vec2_t v2_sub(vec2_t v1, vec2_t v2); 1.14 -static inline vec2_t v2_scale(vec2_t v, scalar_t s); 1.15 -static inline scalar_t v2_dot(vec2_t v1, vec2_t v2); 1.16 -static inline scalar_t v2_length(vec2_t v); 1.17 -static inline scalar_t v2_length_sq(vec2_t v); 1.18 -static inline vec2_t v2_normalize(vec2_t v); 1.19 +static VMATH_INLINE vec2_t v2_add(vec2_t v1, vec2_t v2); 1.20 +static VMATH_INLINE vec2_t v2_sub(vec2_t v1, vec2_t v2); 1.21 +static VMATH_INLINE vec2_t v2_scale(vec2_t v, scalar_t s); 1.22 +static VMATH_INLINE scalar_t v2_dot(vec2_t v1, vec2_t v2); 1.23 +static VMATH_INLINE scalar_t v2_length(vec2_t v); 1.24 +static VMATH_INLINE scalar_t v2_length_sq(vec2_t v); 1.25 +static VMATH_INLINE vec2_t v2_normalize(vec2_t v); 1.26 1.27 -static inline vec2_t v2_lerp(vec2_t v1, vec2_t v2, scalar_t t); 1.28 +static VMATH_INLINE vec2_t v2_lerp(vec2_t v1, vec2_t v2, scalar_t t); 1.29 1.30 /* C 3D vector functions */ 1.31 -static inline vec3_t v3_cons(scalar_t x, scalar_t y, scalar_t z); 1.32 -static inline void v3_print(FILE *fp, vec3_t v); 1.33 +static VMATH_INLINE vec3_t v3_cons(scalar_t x, scalar_t y, scalar_t z); 1.34 +static VMATH_INLINE void v3_print(FILE *fp, vec3_t v); 1.35 1.36 -static inline vec3_t v3_add(vec3_t v1, vec3_t v2); 1.37 -static inline vec3_t v3_sub(vec3_t v1, vec3_t v2); 1.38 -static inline vec3_t v3_neg(vec3_t v); 1.39 -static inline vec3_t v3_mul(vec3_t v1, vec3_t v2); 1.40 -static inline vec3_t v3_scale(vec3_t v1, scalar_t s); 1.41 -static inline scalar_t v3_dot(vec3_t v1, vec3_t v2); 1.42 -static inline vec3_t v3_cross(vec3_t v1, vec3_t v2); 1.43 -static inline scalar_t v3_length(vec3_t v); 1.44 -static inline scalar_t v3_length_sq(vec3_t v); 1.45 -static inline vec3_t v3_normalize(vec3_t v); 1.46 -static inline vec3_t v3_transform(vec3_t v, mat4_t m); 1.47 +static VMATH_INLINE vec3_t v3_add(vec3_t v1, vec3_t v2); 1.48 +static VMATH_INLINE vec3_t v3_sub(vec3_t v1, vec3_t v2); 1.49 +static VMATH_INLINE vec3_t v3_neg(vec3_t v); 1.50 +static VMATH_INLINE vec3_t v3_mul(vec3_t v1, vec3_t v2); 1.51 +static VMATH_INLINE vec3_t v3_scale(vec3_t v1, scalar_t s); 1.52 +static VMATH_INLINE scalar_t v3_dot(vec3_t v1, vec3_t v2); 1.53 +static VMATH_INLINE vec3_t v3_cross(vec3_t v1, vec3_t v2); 1.54 +static VMATH_INLINE scalar_t v3_length(vec3_t v); 1.55 +static VMATH_INLINE scalar_t v3_length_sq(vec3_t v); 1.56 +static VMATH_INLINE vec3_t v3_normalize(vec3_t v); 1.57 +static VMATH_INLINE vec3_t v3_transform(vec3_t v, mat4_t m); 1.58 1.59 -static inline vec3_t v3_rotate(vec3_t v, scalar_t x, scalar_t y, scalar_t z); 1.60 -static inline vec3_t v3_rotate_axis(vec3_t v, scalar_t angle, scalar_t x, scalar_t y, scalar_t z); 1.61 -static inline vec3_t v3_rotate_quat(vec3_t v, quat_t q); 1.62 +static VMATH_INLINE vec3_t v3_rotate(vec3_t v, scalar_t x, scalar_t y, scalar_t z); 1.63 +static VMATH_INLINE vec3_t v3_rotate_axis(vec3_t v, scalar_t angle, scalar_t x, scalar_t y, scalar_t z); 1.64 +static VMATH_INLINE vec3_t v3_rotate_quat(vec3_t v, quat_t q); 1.65 1.66 -static inline vec3_t v3_reflect(vec3_t v, vec3_t n); 1.67 +static VMATH_INLINE vec3_t v3_reflect(vec3_t v, vec3_t n); 1.68 1.69 -static inline vec3_t v3_lerp(vec3_t v1, vec3_t v2, scalar_t t); 1.70 +static VMATH_INLINE vec3_t v3_lerp(vec3_t v1, vec3_t v2, scalar_t t); 1.71 1.72 /* C 4D vector functions */ 1.73 -static inline vec4_t v4_cons(scalar_t x, scalar_t y, scalar_t z, scalar_t w); 1.74 -static inline void v4_print(FILE *fp, vec4_t v); 1.75 +static VMATH_INLINE vec4_t v4_cons(scalar_t x, scalar_t y, scalar_t z, scalar_t w); 1.76 +static VMATH_INLINE void v4_print(FILE *fp, vec4_t v); 1.77 1.78 -static inline vec4_t v4_add(vec4_t v1, vec4_t v2); 1.79 -static inline vec4_t v4_sub(vec4_t v1, vec4_t v2); 1.80 -static inline vec4_t v4_neg(vec4_t v); 1.81 -static inline vec4_t v4_mul(vec4_t v1, vec4_t v2); 1.82 -static inline vec4_t v4_scale(vec4_t v, scalar_t s); 1.83 -static inline scalar_t v4_dot(vec4_t v1, vec4_t v2); 1.84 -static inline scalar_t v4_length(vec4_t v); 1.85 -static inline scalar_t v4_length_sq(vec4_t v); 1.86 -static inline vec4_t v4_normalize(vec4_t v); 1.87 -static inline vec4_t v4_transform(vec4_t v, mat4_t m); 1.88 +static VMATH_INLINE vec4_t v4_add(vec4_t v1, vec4_t v2); 1.89 +static VMATH_INLINE vec4_t v4_sub(vec4_t v1, vec4_t v2); 1.90 +static VMATH_INLINE vec4_t v4_neg(vec4_t v); 1.91 +static VMATH_INLINE vec4_t v4_mul(vec4_t v1, vec4_t v2); 1.92 +static VMATH_INLINE vec4_t v4_scale(vec4_t v, scalar_t s); 1.93 +static VMATH_INLINE scalar_t v4_dot(vec4_t v1, vec4_t v2); 1.94 +static VMATH_INLINE scalar_t v4_length(vec4_t v); 1.95 +static VMATH_INLINE scalar_t v4_length_sq(vec4_t v); 1.96 +static VMATH_INLINE vec4_t v4_normalize(vec4_t v); 1.97 +static VMATH_INLINE vec4_t v4_transform(vec4_t v, mat4_t m); 1.98 1.99 #ifdef __cplusplus 1.100 } /* extern "C" */ 1.101 @@ -95,11 +95,11 @@ 1.102 Vector2(const Vector3 &vec); 1.103 Vector2(const Vector4 &vec); 1.104 1.105 - inline scalar_t &operator [](int elem); 1.106 - inline const scalar_t &operator [](int elem) const; 1.107 + VMATH_INLINE scalar_t &operator [](int elem); 1.108 + VMATH_INLINE const scalar_t &operator [](int elem) const; 1.109 1.110 - inline scalar_t length() const; 1.111 - inline scalar_t length_sq() const; 1.112 + VMATH_INLINE scalar_t length() const; 1.113 + VMATH_INLINE scalar_t length_sq() const; 1.114 void normalize(); 1.115 Vector2 normalized() const; 1.116 1.117 @@ -114,39 +114,39 @@ 1.118 }; 1.119 1.120 /* unary operations */ 1.121 -inline Vector2 operator -(const Vector2 &vec); 1.122 +VMATH_INLINE Vector2 operator -(const Vector2 &vec); 1.123 1.124 /* binary vector (op) vector operations */ 1.125 -inline scalar_t dot_product(const Vector2 &v1, const Vector2 &v2); 1.126 +VMATH_INLINE scalar_t dot_product(const Vector2 &v1, const Vector2 &v2); 1.127 1.128 -inline Vector2 operator +(const Vector2 &v1, const Vector2 &v2); 1.129 -inline Vector2 operator -(const Vector2 &v1, const Vector2 &v2); 1.130 -inline Vector2 operator *(const Vector2 &v1, const Vector2 &v2); 1.131 -inline Vector2 operator /(const Vector2 &v1, const Vector2 &v2); 1.132 -inline bool operator ==(const Vector2 &v1, const Vector2 &v2); 1.133 +VMATH_INLINE Vector2 operator +(const Vector2 &v1, const Vector2 &v2); 1.134 +VMATH_INLINE Vector2 operator -(const Vector2 &v1, const Vector2 &v2); 1.135 +VMATH_INLINE Vector2 operator *(const Vector2 &v1, const Vector2 &v2); 1.136 +VMATH_INLINE Vector2 operator /(const Vector2 &v1, const Vector2 &v2); 1.137 +VMATH_INLINE bool operator ==(const Vector2 &v1, const Vector2 &v2); 1.138 1.139 -inline void operator +=(Vector2 &v1, const Vector2 &v2); 1.140 -inline void operator -=(Vector2 &v1, const Vector2 &v2); 1.141 -inline void operator *=(Vector2 &v1, const Vector2 &v2); 1.142 -inline void operator /=(Vector2 &v1, const Vector2 &v2); 1.143 +VMATH_INLINE void operator +=(Vector2 &v1, const Vector2 &v2); 1.144 +VMATH_INLINE void operator -=(Vector2 &v1, const Vector2 &v2); 1.145 +VMATH_INLINE void operator *=(Vector2 &v1, const Vector2 &v2); 1.146 +VMATH_INLINE void operator /=(Vector2 &v1, const Vector2 &v2); 1.147 1.148 /* binary vector (op) scalar and scalar (op) vector operations */ 1.149 -inline Vector2 operator +(const Vector2 &vec, scalar_t scalar); 1.150 -inline Vector2 operator +(scalar_t scalar, const Vector2 &vec); 1.151 -inline Vector2 operator -(const Vector2 &vec, scalar_t scalar); 1.152 -inline Vector2 operator *(const Vector2 &vec, scalar_t scalar); 1.153 -inline Vector2 operator *(scalar_t scalar, const Vector2 &vec); 1.154 -inline Vector2 operator /(const Vector2 &vec, scalar_t scalar); 1.155 +VMATH_INLINE Vector2 operator +(const Vector2 &vec, scalar_t scalar); 1.156 +VMATH_INLINE Vector2 operator +(scalar_t scalar, const Vector2 &vec); 1.157 +VMATH_INLINE Vector2 operator -(const Vector2 &vec, scalar_t scalar); 1.158 +VMATH_INLINE Vector2 operator *(const Vector2 &vec, scalar_t scalar); 1.159 +VMATH_INLINE Vector2 operator *(scalar_t scalar, const Vector2 &vec); 1.160 +VMATH_INLINE Vector2 operator /(const Vector2 &vec, scalar_t scalar); 1.161 1.162 -inline void operator +=(Vector2 &vec, scalar_t scalar); 1.163 -inline void operator -=(Vector2 &vec, scalar_t scalar); 1.164 -inline void operator *=(Vector2 &vec, scalar_t scalar); 1.165 -inline void operator /=(Vector2 &vec, scalar_t scalar); 1.166 +VMATH_INLINE void operator +=(Vector2 &vec, scalar_t scalar); 1.167 +VMATH_INLINE void operator -=(Vector2 &vec, scalar_t scalar); 1.168 +VMATH_INLINE void operator *=(Vector2 &vec, scalar_t scalar); 1.169 +VMATH_INLINE void operator /=(Vector2 &vec, scalar_t scalar); 1.170 1.171 std::ostream &operator <<(std::ostream &out, const Vector2 &vec); 1.172 1.173 -inline Vector2 lerp(const Vector2 &a, const Vector2 &b, scalar_t t); 1.174 -inline Vector2 catmull_rom_spline(const Vector2 &v0, const Vector2 &v1, 1.175 +VMATH_INLINE Vector2 lerp(const Vector2 &a, const Vector2 &b, scalar_t t); 1.176 +VMATH_INLINE Vector2 catmull_rom_spline(const Vector2 &v0, const Vector2 &v1, 1.177 const Vector2 &v2, const Vector2 &v3, scalar_t t); 1.178 1.179 /* 3D Vector */ 1.180 @@ -162,11 +162,11 @@ 1.181 1.182 Vector3 &operator =(const SphVector &sph); 1.183 1.184 - inline scalar_t &operator [](int elem); 1.185 - inline const scalar_t &operator [](int elem) const; 1.186 + VMATH_INLINE scalar_t &operator [](int elem); 1.187 + VMATH_INLINE const scalar_t &operator [](int elem) const; 1.188 1.189 - inline scalar_t length() const; 1.190 - inline scalar_t length_sq() const; 1.191 + VMATH_INLINE scalar_t length() const; 1.192 + VMATH_INLINE scalar_t length_sq() const; 1.193 void normalize(); 1.194 Vector3 normalized() const; 1.195 1.196 @@ -186,40 +186,40 @@ 1.197 }; 1.198 1.199 /* unary operations */ 1.200 -inline Vector3 operator -(const Vector3 &vec); 1.201 +VMATH_INLINE Vector3 operator -(const Vector3 &vec); 1.202 1.203 /* binary vector (op) vector operations */ 1.204 -inline scalar_t dot_product(const Vector3 &v1, const Vector3 &v2); 1.205 -inline Vector3 cross_product(const Vector3 &v1, const Vector3 &v2); 1.206 +VMATH_INLINE scalar_t dot_product(const Vector3 &v1, const Vector3 &v2); 1.207 +VMATH_INLINE Vector3 cross_product(const Vector3 &v1, const Vector3 &v2); 1.208 1.209 -inline Vector3 operator +(const Vector3 &v1, const Vector3 &v2); 1.210 -inline Vector3 operator -(const Vector3 &v1, const Vector3 &v2); 1.211 -inline Vector3 operator *(const Vector3 &v1, const Vector3 &v2); 1.212 -inline Vector3 operator /(const Vector3 &v1, const Vector3 &v2); 1.213 -inline bool operator ==(const Vector3 &v1, const Vector3 &v2); 1.214 +VMATH_INLINE Vector3 operator +(const Vector3 &v1, const Vector3 &v2); 1.215 +VMATH_INLINE Vector3 operator -(const Vector3 &v1, const Vector3 &v2); 1.216 +VMATH_INLINE Vector3 operator *(const Vector3 &v1, const Vector3 &v2); 1.217 +VMATH_INLINE Vector3 operator /(const Vector3 &v1, const Vector3 &v2); 1.218 +VMATH_INLINE bool operator ==(const Vector3 &v1, const Vector3 &v2); 1.219 1.220 -inline void operator +=(Vector3 &v1, const Vector3 &v2); 1.221 -inline void operator -=(Vector3 &v1, const Vector3 &v2); 1.222 -inline void operator *=(Vector3 &v1, const Vector3 &v2); 1.223 -inline void operator /=(Vector3 &v1, const Vector3 &v2); 1.224 +VMATH_INLINE void operator +=(Vector3 &v1, const Vector3 &v2); 1.225 +VMATH_INLINE void operator -=(Vector3 &v1, const Vector3 &v2); 1.226 +VMATH_INLINE void operator *=(Vector3 &v1, const Vector3 &v2); 1.227 +VMATH_INLINE void operator /=(Vector3 &v1, const Vector3 &v2); 1.228 1.229 /* binary vector (op) scalar and scalar (op) vector operations */ 1.230 -inline Vector3 operator +(const Vector3 &vec, scalar_t scalar); 1.231 -inline Vector3 operator +(scalar_t scalar, const Vector3 &vec); 1.232 -inline Vector3 operator -(const Vector3 &vec, scalar_t scalar); 1.233 -inline Vector3 operator *(const Vector3 &vec, scalar_t scalar); 1.234 -inline Vector3 operator *(scalar_t scalar, const Vector3 &vec); 1.235 -inline Vector3 operator /(const Vector3 &vec, scalar_t scalar); 1.236 +VMATH_INLINE Vector3 operator +(const Vector3 &vec, scalar_t scalar); 1.237 +VMATH_INLINE Vector3 operator +(scalar_t scalar, const Vector3 &vec); 1.238 +VMATH_INLINE Vector3 operator -(const Vector3 &vec, scalar_t scalar); 1.239 +VMATH_INLINE Vector3 operator *(const Vector3 &vec, scalar_t scalar); 1.240 +VMATH_INLINE Vector3 operator *(scalar_t scalar, const Vector3 &vec); 1.241 +VMATH_INLINE Vector3 operator /(const Vector3 &vec, scalar_t scalar); 1.242 1.243 -inline void operator +=(Vector3 &vec, scalar_t scalar); 1.244 -inline void operator -=(Vector3 &vec, scalar_t scalar); 1.245 -inline void operator *=(Vector3 &vec, scalar_t scalar); 1.246 -inline void operator /=(Vector3 &vec, scalar_t scalar); 1.247 +VMATH_INLINE void operator +=(Vector3 &vec, scalar_t scalar); 1.248 +VMATH_INLINE void operator -=(Vector3 &vec, scalar_t scalar); 1.249 +VMATH_INLINE void operator *=(Vector3 &vec, scalar_t scalar); 1.250 +VMATH_INLINE void operator /=(Vector3 &vec, scalar_t scalar); 1.251 1.252 std::ostream &operator <<(std::ostream &out, const Vector3 &vec); 1.253 1.254 -inline Vector3 lerp(const Vector3 &a, const Vector3 &b, scalar_t t); 1.255 -inline Vector3 catmull_rom_spline(const Vector3 &v0, const Vector3 &v1, 1.256 +VMATH_INLINE Vector3 lerp(const Vector3 &a, const Vector3 &b, scalar_t t); 1.257 +VMATH_INLINE Vector3 catmull_rom_spline(const Vector3 &v0, const Vector3 &v1, 1.258 const Vector3 &v2, const Vector3 &v3, scalar_t t); 1.259 1.260 /* 4D Vector */ 1.261 @@ -232,11 +232,11 @@ 1.262 Vector4(const Vector2 &vec); 1.263 Vector4(const Vector3 &vec); 1.264 1.265 - inline scalar_t &operator [](int elem); 1.266 - inline const scalar_t &operator [](int elem) const; 1.267 + VMATH_INLINE scalar_t &operator [](int elem); 1.268 + VMATH_INLINE const scalar_t &operator [](int elem) const; 1.269 1.270 - inline scalar_t length() const; 1.271 - inline scalar_t length_sq() const; 1.272 + VMATH_INLINE scalar_t length() const; 1.273 + VMATH_INLINE scalar_t length_sq() const; 1.274 void normalize(); 1.275 Vector4 normalized() const; 1.276 1.277 @@ -249,40 +249,40 @@ 1.278 1.279 1.280 /* unary operations */ 1.281 -inline Vector4 operator -(const Vector4 &vec); 1.282 +VMATH_INLINE Vector4 operator -(const Vector4 &vec); 1.283 1.284 /* binary vector (op) vector operations */ 1.285 -inline scalar_t dot_product(const Vector4 &v1, const Vector4 &v2); 1.286 -inline Vector4 cross_product(const Vector4 &v1, const Vector4 &v2, const Vector4 &v3); 1.287 +VMATH_INLINE scalar_t dot_product(const Vector4 &v1, const Vector4 &v2); 1.288 +VMATH_INLINE Vector4 cross_product(const Vector4 &v1, const Vector4 &v2, const Vector4 &v3); 1.289 1.290 -inline Vector4 operator +(const Vector4 &v1, const Vector4 &v2); 1.291 -inline Vector4 operator -(const Vector4 &v1, const Vector4 &v2); 1.292 -inline Vector4 operator *(const Vector4 &v1, const Vector4 &v2); 1.293 -inline Vector4 operator /(const Vector4 &v1, const Vector4 &v2); 1.294 -inline bool operator ==(const Vector4 &v1, const Vector4 &v2); 1.295 +VMATH_INLINE Vector4 operator +(const Vector4 &v1, const Vector4 &v2); 1.296 +VMATH_INLINE Vector4 operator -(const Vector4 &v1, const Vector4 &v2); 1.297 +VMATH_INLINE Vector4 operator *(const Vector4 &v1, const Vector4 &v2); 1.298 +VMATH_INLINE Vector4 operator /(const Vector4 &v1, const Vector4 &v2); 1.299 +VMATH_INLINE bool operator ==(const Vector4 &v1, const Vector4 &v2); 1.300 1.301 -inline void operator +=(Vector4 &v1, const Vector4 &v2); 1.302 -inline void operator -=(Vector4 &v1, const Vector4 &v2); 1.303 -inline void operator *=(Vector4 &v1, const Vector4 &v2); 1.304 -inline void operator /=(Vector4 &v1, const Vector4 &v2); 1.305 +VMATH_INLINE void operator +=(Vector4 &v1, const Vector4 &v2); 1.306 +VMATH_INLINE void operator -=(Vector4 &v1, const Vector4 &v2); 1.307 +VMATH_INLINE void operator *=(Vector4 &v1, const Vector4 &v2); 1.308 +VMATH_INLINE void operator /=(Vector4 &v1, const Vector4 &v2); 1.309 1.310 /* binary vector (op) scalar and scalar (op) vector operations */ 1.311 -inline Vector4 operator +(const Vector4 &vec, scalar_t scalar); 1.312 -inline Vector4 operator +(scalar_t scalar, const Vector4 &vec); 1.313 -inline Vector4 operator -(const Vector4 &vec, scalar_t scalar); 1.314 -inline Vector4 operator *(const Vector4 &vec, scalar_t scalar); 1.315 -inline Vector4 operator *(scalar_t scalar, const Vector4 &vec); 1.316 -inline Vector4 operator /(const Vector4 &vec, scalar_t scalar); 1.317 +VMATH_INLINE Vector4 operator +(const Vector4 &vec, scalar_t scalar); 1.318 +VMATH_INLINE Vector4 operator +(scalar_t scalar, const Vector4 &vec); 1.319 +VMATH_INLINE Vector4 operator -(const Vector4 &vec, scalar_t scalar); 1.320 +VMATH_INLINE Vector4 operator *(const Vector4 &vec, scalar_t scalar); 1.321 +VMATH_INLINE Vector4 operator *(scalar_t scalar, const Vector4 &vec); 1.322 +VMATH_INLINE Vector4 operator /(const Vector4 &vec, scalar_t scalar); 1.323 1.324 -inline void operator +=(Vector4 &vec, scalar_t scalar); 1.325 -inline void operator -=(Vector4 &vec, scalar_t scalar); 1.326 -inline void operator *=(Vector4 &vec, scalar_t scalar); 1.327 -inline void operator /=(Vector4 &vec, scalar_t scalar); 1.328 +VMATH_INLINE void operator +=(Vector4 &vec, scalar_t scalar); 1.329 +VMATH_INLINE void operator -=(Vector4 &vec, scalar_t scalar); 1.330 +VMATH_INLINE void operator *=(Vector4 &vec, scalar_t scalar); 1.331 +VMATH_INLINE void operator /=(Vector4 &vec, scalar_t scalar); 1.332 1.333 std::ostream &operator <<(std::ostream &out, const Vector4 &vec); 1.334 1.335 -inline Vector4 lerp(const Vector4 &v0, const Vector4 &v1, scalar_t t); 1.336 -inline Vector4 catmull_rom_spline(const Vector4 &v0, const Vector4 &v1, 1.337 +VMATH_INLINE Vector4 lerp(const Vector4 &v0, const Vector4 &v1, scalar_t t); 1.338 +VMATH_INLINE Vector4 catmull_rom_spline(const Vector4 &v0, const Vector4 &v1, 1.339 const Vector4 &v2, const Vector4 &v3, scalar_t t); 1.340 1.341 #endif /* __cplusplus */