| 237 | } |
| 238 | |
| 239 | friend vec3<T> cross(const vec3<T>& v1, const vec3<T>& v2) |
| 240 | { |
| 241 | /* |
| 242 | | i j k | |
| 243 | | v1.x v1.y v1.z | |
| 244 | | v2.x v2.y v2.z | |
| 245 | */ |
| 246 | return vec3<T>( |
| 247 | v1.y * v2.z - v2.y * v1.z, |
| 248 | v1.z * v2.x - v2.z * v1.x, |
| 249 | v1.x * v2.y - v2.x * v1.y); |
| 250 | } |
| 251 | |
| 252 | template <typename charT, class traits> |
| 253 | friend std::basic_istream<charT, traits>& operator >>( |
nothing calls this directly
no outgoing calls
no test coverage detected