cuda_device friend vector4 fast_normalize(const vector4& v) { return v * fast_rsqrt_T(v.dot(v)); }
cuda_device friend T length(const vector4& v) { return sqrt_T(v.dot(v)); }
cuda_device friend T fast_length(const vector4& v) { return fast_sqrt_T(v.dot(v)); }
cuda_device friend T dot(const vector4& v1, const vector4& v2) { return v1.dot(v2); }