Mercurial > hg > tweakathon2ios
annotate algorithms.mm @ 52:89944ab3e129 tip
fix oF linker errors ios8
author | Robert Tubb <rt300@eecs.qmul.ac.uk> |
---|---|
date | Tue, 03 Feb 2015 13:18:23 +0000 |
parents | 3af380769779 |
children |
rev | line source |
---|---|
rt300@34 | 1 // |
rt300@34 | 2 // algorithms.mm |
rt300@34 | 3 // riftathon |
rt300@34 | 4 // |
rt300@34 | 5 // Created by Robert Tubb on 26/11/2014. |
rt300@34 | 6 // |
rt300@34 | 7 // |
rt300@34 | 8 |
rt300@34 | 9 #include <stdio.h> |
rt300@34 | 10 #include "algorithms.h" |
rt300@34 | 11 float euclideanDistance(vector<int> v1, vector<int> v2) { |
rt300@34 | 12 if (v1.size() != v2.size()){ |
rt300@34 | 13 cout << "ERROR ERROR: vectors must be same length for Mr Euclid"; |
rt300@34 | 14 return 0.; |
rt300@34 | 15 } |
rt300@34 | 16 vector<float> diff; |
rt300@34 | 17 |
rt300@34 | 18 std::transform(v1.begin(), v1.end(), v2.begin(), v1.begin(), difference<float>()); |
rt300@34 | 19 // sqr diff |
rt300@34 | 20 |
rt300@34 | 21 std::transform(v1.begin(), v1.end(), v1.begin(),squared<float>()); |
rt300@34 | 22 float ans = std::accumulate(v1.begin(),v1.end(),0.0); |
rt300@34 | 23 |
rt300@34 | 24 return sqrt(ans); |
rt300@34 | 25 |
rt300@34 | 26 }; |