namespace glm { template GLM_FUNC_QUALIFIER vec next_float(vec const& x) { vec Result; for(length_t i = 0, n = Result.length(); i < n; ++i) Result[i] = next_float(x[i]); return Result; } template GLM_FUNC_QUALIFIER vec next_float(vec const& x, int ULPs) { vec Result; for(length_t i = 0, n = Result.length(); i < n; ++i) Result[i] = next_float(x[i], ULPs); return Result; } template GLM_FUNC_QUALIFIER vec next_float(vec const& x, vec const& ULPs) { vec Result; for(length_t i = 0, n = Result.length(); i < n; ++i) Result[i] = next_float(x[i], ULPs[i]); return Result; } template GLM_FUNC_QUALIFIER vec prev_float(vec const& x) { vec Result; for(length_t i = 0, n = Result.length(); i < n; ++i) Result[i] = prev_float(x[i]); return Result; } template GLM_FUNC_QUALIFIER vec prev_float(vec const& x, int ULPs) { vec Result; for(length_t i = 0, n = Result.length(); i < n; ++i) Result[i] = prev_float(x[i], ULPs); return Result; } template GLM_FUNC_QUALIFIER vec prev_float(vec const& x, vec const& ULPs) { vec Result; for(length_t i = 0, n = Result.length(); i < n; ++i) Result[i] = prev_float(x[i], ULPs[i]); return Result; } template GLM_FUNC_QUALIFIER vec float_distance(vec const& x, vec const& y) { vec Result; for(length_t i = 0, n = Result.length(); i < n; ++i) Result[i] = float_distance(x[i], y[i]); return Result; } template GLM_FUNC_QUALIFIER vec float_distance(vec const& x, vec const& y) { vec Result; for(length_t i = 0, n = Result.length(); i < n; ++i) Result[i] = float_distance(x[i], y[i]); return Result; } }//namespace glm