Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- inline double norm_of_vector(const vector<double>& lhs)
- {
- double result = 0;
- for (auto& vector_element : lhs)
- {
- result += vector_element * vector_element;
- }
- return sqrt(result);
- }
- inline double cos_phi_between_vectors(const vector<double> &lhs, const vector<double> &rhs)
- {
- if (lhs.size() != rhs.size())
- return -1;
- double result = 0;
- const size_t n = lhs.size();
- for (size_t i = 0; i < n; i++)
- result += lhs[i] * rhs[i];
- return
- result / (norm_of_vector(lhs) * norm_of_vector(rhs));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement