rt300@34: // rt300@34: // algorithms.mm rt300@34: // riftathon rt300@34: // rt300@34: // Created by Robert Tubb on 26/11/2014. rt300@34: // rt300@34: // rt300@34: rt300@34: #include rt300@34: #include "algorithms.h" rt300@34: float euclideanDistance(vector v1, vector v2) { rt300@34: if (v1.size() != v2.size()){ rt300@34: cout << "ERROR ERROR: vectors must be same length for Mr Euclid"; rt300@34: return 0.; rt300@34: } rt300@34: vector diff; rt300@34: rt300@34: std::transform(v1.begin(), v1.end(), v2.begin(), v1.begin(), difference()); rt300@34: // sqr diff rt300@34: rt300@34: std::transform(v1.begin(), v1.end(), v1.begin(),squared()); rt300@34: float ans = std::accumulate(v1.begin(),v1.end(),0.0); rt300@34: rt300@34: return sqrt(ans); rt300@34: rt300@34: };