19 #ifndef VectorHelper_h 20 #define VectorHelper_h 42 static T
sum(
const std::vector<T>& v) {
44 for (
typename std::vector<T>::const_iterator i = v.begin(); i != v.end(); i++) {
51 if (msum == 0 || v.size() == 0) {
57 set(v, (T) 1.0 * msum / (T) v.size());
63 static void div(std::vector<T>& v, T by) {
64 for (
typename std::vector<T>::iterator i = v.begin(); i != v.end(); i++) {
70 typename std::vector<T>::iterator i = v.begin();
71 while (i != v.end()) {
72 for (
typename std::vector<T>::iterator j = i + 1; j != v.end();) {
84 static void set(std::vector<T>& v, T to) {
85 for (
typename std::vector<T>::iterator i = v.begin(); i != v.end(); i++) {
91 T m = -std::numeric_limits<T>::max();
92 for (
typename std::vector<T>::const_iterator j = v.begin() ; j != v.end(); j++) {
101 T m = std::numeric_limits<T>::max();
102 for (
typename std::vector<T>::const_iterator j = v.begin(); j != v.end(); j++) {
111 for (
typename std::vector<T>::iterator j = v.begin(); j != v.end();) {
121 for (
typename std::vector<T>::iterator j = v.begin(); j != v.end();) {
130 static void add2All(std::vector<T>& v, T what) {
131 for (
typename std::vector<T>::iterator j = v.begin(); j != v.end(); j++) {
137 static bool subSetExists(
const std::vector<T>& v1,
const std::vector<T>& v2) {
138 for (
typename std::vector<T>::const_iterator i = v1.begin(); i != v1.end(); i++) {
140 if (find(v2.begin(), v2.end(), val1) != v2.end()) {
152 std::ostream& operator<<(std::ostream& os, const std::vector<T>& v) {
153 for (
typename std::vector<T>::const_iterator i = v.begin(); i != v.end(); i++) {
154 if (i != v.begin()) {
static T sum(const std::vector< T > &v)
static void add2All(std::vector< T > &v, T what)
static void remove_smaller_than(std::vector< T > &v, T swell)
static T minValue(const std::vector< T > &v)
static void removeDouble(std::vector< T > &v)
static void div(std::vector< T > &v, T by)
static void normaliseSum(std::vector< T > &v, T msum=1.0)
static bool subSetExists(const std::vector< T > &v1, const std::vector< T > &v2)
Returns the information whether at least one element is within both vectors.
static void remove_larger_than(std::vector< T > &v, T swell)
static T maxValue(const std::vector< T > &v)