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()) {