annotate algorithms.h @ 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@22 1 #pragma once
rt300@22 2
rt300@22 3 #include "ofMain.h"
rt300@22 4 #include <functional>
rt300@22 5
rt300@22 6
rt300@22 7
rt300@22 8 template <typename T>
rt300@22 9 vector<T> makeVector(T a1, T a2,T a3,T a4,T a5,T a6, T a7, T a8){
rt300@22 10
rt300@22 11 vector<T> vec;
rt300@22 12 vec.push_back(a1);
rt300@22 13 vec.push_back(a2);
rt300@22 14 vec.push_back(a3);
rt300@22 15 vec.push_back(a4);
rt300@22 16 vec.push_back(a5);
rt300@22 17 vec.push_back(a6);
rt300@22 18 vec.push_back(a7);
rt300@22 19 vec.push_back(a8);
rt300@22 20 return vec;
rt300@22 21 }
rt300@22 22
rt300@22 23
rt300@22 24 //-------------------------------------------------------------
rt300@22 25 //-------------------------------------------------------------
rt300@22 26 template <class T>
rt300@22 27 class randomiseCCVal : public unary_function<T, T>{
rt300@22 28 public:
rt300@22 29 T operator()(T a){
rt300@22 30 return ofRandom(0,127);
rt300@22 31
rt300@22 32 };
rt300@22 33 };
rt300@22 34 template <class T>
rt300@22 35 class randomiseCCValIf : public binary_function<T, bool, T>{
rt300@22 36 public:
rt300@22 37 T operator()(T a, bool doit ){
rt300@22 38 if (doit)
rt300@22 39 return ofRandom(0,127);
rt300@22 40 return a;
rt300@22 41
rt300@22 42 };
rt300@22 43 };
rt300@22 44 template <class T>
rt300@22 45 class printThing : public unary_function<T, void>{
rt300@22 46 public:
rt300@22 47 void operator()(T a){
rt300@22 48 cout << a << endl;
rt300@22 49
rt300@22 50 };
rt300@22 51 };
rt300@22 52
rt300@22 53 template <class T>
rt300@22 54 class difference : public binary_function<T, T, T>{
rt300@22 55 public:
rt300@22 56 T operator()(T a, T b ){
rt300@22 57 return abs(a - b);
rt300@22 58 };
rt300@22 59 };
rt300@22 60 template <class T>
rt300@22 61 class squared : public unary_function<T, T>{
rt300@22 62 public:
rt300@22 63 T operator()(T a ){
rt300@22 64 return a*a;
rt300@22 65 };
rt300@22 66 };
rt300@34 67
rt300@34 68 float euclideanDistance(vector<int> v1, vector<int> v2);