18 #ifndef VectorHelper_h
19 #define VectorHelper_h
41 static T
sum(
const std::vector<T>& v) {
43 for (
typename std::vector<T>::const_iterator i = v.begin(); i != v.end(); i++) {
50 if (msum == 0 || v.size() == 0) {
56 set(v, (T) 1.0 * msum / (T) v.size());
62 static void div(std::vector<T>& v, T by) {
63 for (
typename std::vector<T>::iterator i = v.begin(); i != v.end(); i++) {
69 typename std::vector<T>::iterator i = v.begin();
70 while (i != v.end()) {
71 for (
typename std::vector<T>::iterator j = i + 1; j != v.end();) {
83 static void set(std::vector<T>& v, T to) {
84 for (
typename std::vector<T>::iterator i = v.begin(); i != v.end(); i++) {
90 T m = -std::numeric_limits<T>::max();
91 for (
typename std::vector<T>::const_iterator j = v.begin() ; j != v.end(); j++) {
100 T m = std::numeric_limits<T>::max();
101 for (
typename std::vector<T>::const_iterator j = v.begin(); j != v.end(); j++) {
110 for (
typename std::vector<T>::iterator j = v.begin(); j != v.end();) {
120 for (
typename std::vector<T>::iterator j = v.begin(); j != v.end();) {
129 static void add2All(std::vector<T>& v, T what) {
130 for (
typename std::vector<T>::iterator j = v.begin(); j != v.end(); j++) {
136 static bool subSetExists(
const std::vector<T>& v1,
const std::vector<T>& v2) {
137 for (
typename std::vector<T>::const_iterator i = v1.begin(); i != v1.end(); i++) {
139 if (find(v2.begin(), v2.end(), val1) != v2.end()) {
151 std::ostream&
operator<<(std::ostream& os,
const std::vector<T>& v) {
152 for (
typename std::vector<T>::const_iterator i = v.begin(); i != v.end(); i++) {
153 if (i != v.begin()) {