ometah-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[oMetah-devel] ometah/common geometry.cpp geometry.hpp itsPoin...


From: Johann
Subject: [oMetah-devel] ometah/common geometry.cpp geometry.hpp itsPoin...
Date: Fri, 11 Mar 2005 05:23:36 -0500

CVSROOT:        /cvsroot/ometah
Module name:    ometah
Branch:         
Changes by:     Johann <address@hidden> 05/03/11 10:23:36

Modified files:
        common         : geometry.cpp geometry.hpp itsPoint.cpp 
                         itsPoint.hpp itsSet.cpp itsSet.hpp logic.cpp 
                         logic.hpp matrix.cpp matrix.hpp 

Log message:
        * corrections of the templates

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/common/geometry.cpp.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/common/geometry.hpp.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/common/itsPoint.cpp.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/common/itsPoint.hpp.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/common/itsSet.cpp.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/common/itsSet.hpp.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/common/logic.cpp.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/common/logic.hpp.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/common/matrix.cpp.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/common/matrix.hpp.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: ometah/common/geometry.cpp
diff -u ometah/common/geometry.cpp:1.1 ometah/common/geometry.cpp:1.2
--- ometah/common/geometry.cpp:1.1      Thu Mar 10 18:03:41 2005
+++ ometah/common/geometry.cpp  Fri Mar 11 10:23:36 2005
@@ -1,6 +1,6 @@
 
 /***************************************************************************
- *  $Id: geometry.cpp,v 1.1 2005/03/10 18:03:41 nojhan Exp $
+ *  $Id: geometry.cpp,v 1.2 2005/03/11 10:23:36 nojhan Exp $
  *  Author : Johann Dréo <address@hidden>
  ****************************************************************************/
 
@@ -21,11 +21,11 @@
  */
  
 //! Translate 2D rectangular coordinates to polar ones
-template<class T, class U>
-U<T> rec2pol_2D(U<T> &recVec)
+template<class T>
+T rec2pol_2D(T &recVec)
 {
-  T a;
-  U<T> polVec;
+  typename T::value_type a;
+  T polVec;
   polVec.reserve(2);
   
   // special case, both components 0
@@ -50,10 +50,10 @@
 }
 
 //! Translate 2D polar coordinates to rectangular ones
-template<class T, class U>
-U<T> pol2rec_2D(U<T> & polVec)
+template<class T>
+T pol2rec_2D(T & polVec)
 {
-  U<T> recVec;
+  T recVec;
   recVec.reserve(2);
 
   recVec.push_back( polVec[0]*cos(polVec[1]) ); // x
@@ -63,12 +63,12 @@
 }
 
 //! Translate nD polar coordinates to rectangular ones
-template<class T, class U>
-U<T> pol2rec(U<T> & polVec)
+template<class T>
+T pol2rec(T & polVec)
 {
-  U<T> recVec; recVec.reserve( polVec.size() );
-  U<T> ProjVec; ProjVec.reserve( 2 );
-  T Ri, Ri_1, ai, xi;
+  T recVec; recVec.reserve( polVec.size() );
+  T ProjVec; ProjVec.reserve( 2 );
+  typename T::value_type Ri, Ri_1, ai, xi;
 
   Ri=polVec[0];
 
@@ -77,7 +77,7 @@
       Ri_1=Ri;
       ai=polVec[i];
 
-      U<T> Ra;
+      T Ra;
       Ra.push_back(Ri_1);
       Ra.push_back(ai);
 
@@ -94,9 +94,9 @@
 
 //! Calculate the eucilidan distance between two vectors with n dimensions
 template<class T, class U>
-T distanceEuclidian(U<T> & vecA, U<T> & vecB)
+T distanceEuclidian(U & vecA, U & vecB)
 {
-  U<T> squares; 
+  U squares; 
   squares.reserve( vecA.size() );
 
   for(unsigned int i=0; i<vecA.size(); i++) {
@@ -108,10 +108,10 @@
 
 //! Calculate the gravity center of a matrix with n dimensions
 template<class T, class U>
-U<T> gravityCenter(U< U<T> > & points, U<T> & weights)
+T gravityCenter(U & points, T & weights)
 {
-  T Wn = 0;
-  U<T> VG;
+  typename U::value_type Wn = 0;
+  T VG;
 
   // weight sum
   unsigned int i; 
@@ -124,7 +124,7 @@
   
   // dimensions 
   for(j=0; j < points[0].size(); j++) {
-      T g = 0;
+      typename T::value_type g = 0;
       
       unsigned int i;
       for(i=0; i < points.size(); i++) {
Index: ometah/common/geometry.hpp
diff -u ometah/common/geometry.hpp:1.2 ometah/common/geometry.hpp:1.3
--- ometah/common/geometry.hpp:1.2      Mon Feb 28 14:30:04 2005
+++ ometah/common/geometry.hpp  Fri Mar 11 10:23:36 2005
@@ -2,7 +2,7 @@
 /***************************************************************************
  *  geometry.hpp
  *
- *  $Id: geometry.hpp,v 1.2 2005/02/28 14:30:04 nojhan Exp $
+ *  $Id: geometry.hpp,v 1.3 2005/03/11 10:23:36 nojhan Exp $
  *  Author : Johann Dréo <address@hidden>
  ****************************************************************************/
 
@@ -25,26 +25,26 @@
 #ifndef GEOMETRY
 #define GEOMETRY
 
-#define PI
+#define PI 3.1415926535
 
 //! Translate 2D rectangular coordinates to polar ones
-template<class T, class U>
-U<T> rec2pol_2D(U<T> &recVec);
+template<class T>
+T rec2pol_2D(T &recVec);
 
 //! Translate 2D polar coordinates to rectangular ones
-template<class T, class U>
-U<T> pol2rec_2D(U<T> & polVec);
+template<class T>
+T pol2rec_2D(T & polVec);
 
 //! Translate nD polar coordinates to rectangular ones
-template<class T, class U>
-U<T> pol2rec(U<T> & polVec);
+template<class T>
+T pol2rec(T & polVec);
 
 //! Calculate the eucilidan distance between two vectors with n dimensions
 template<class T, class U>
-T distanceEuclidian(U<T> & vecA, U<T> & vecB);
+T distanceEuclidian(U & vecA, U & vecB);
 
 //! Calculate the gravity center of a matrix with n dimensions
 template<class T, class U>
-U<T> gravityCenter(U< U<T> > & points, U<T> & weights);
+T gravityCenter(U & points, T & weights);
 
 #endif
Index: ometah/common/itsPoint.cpp
diff -u ometah/common/itsPoint.cpp:1.1 ometah/common/itsPoint.cpp:1.2
--- ometah/common/itsPoint.cpp:1.1      Thu Mar 10 18:03:41 2005
+++ ometah/common/itsPoint.cpp  Fri Mar 11 10:23:36 2005
@@ -1,5 +1,5 @@
 /***************************************************************************
- * $Id: itsPoint.cpp,v 1.1 2005/03/10 18:03:41 nojhan Exp $
+ * $Id: itsPoint.cpp,v 1.2 2005/03/11 10:23:36 nojhan Exp $
  * Author : Johann Dréo <address@hidden>
  ****************************************************************************/
 
@@ -19,6 +19,8 @@
  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
+#include "itsPoint.hpp"
+
 //! Get the solution vector
 vector<double> itsPoint::getSolution()
 {
@@ -40,5 +42,5 @@
 //! Set the value vector
 void itsPoint::setValues(vector<double> values)
 {
-  this->values = values
+  this->values = values;
 }
Index: ometah/common/itsPoint.hpp
diff -u ometah/common/itsPoint.hpp:1.4 ometah/common/itsPoint.hpp:1.5
--- ometah/common/itsPoint.hpp:1.4      Mon Feb 28 14:30:04 2005
+++ ometah/common/itsPoint.hpp  Fri Mar 11 10:23:36 2005
@@ -1,5 +1,5 @@
 /***************************************************************************
- * $Id: itsPoint.hpp,v 1.4 2005/02/28 14:30:04 nojhan Exp $
+ * $Id: itsPoint.hpp,v 1.5 2005/03/11 10:23:36 nojhan Exp $
  * Author :  Walid TFAILI <address@hidden>
  ****************************************************************************/
 
@@ -22,6 +22,9 @@
 #ifndef ITSPOINT
 #define ITSPOINT
  
+#include <vector>
+
+using namespace std;
  
 //! The point abstraction
 /*! 
@@ -47,6 +50,6 @@
  
   //! Set the value vector
   void setValues(vector<double> values);
-}
+};
  
 #endif
Index: ometah/common/itsSet.cpp
diff -u ometah/common/itsSet.cpp:1.1 ometah/common/itsSet.cpp:1.2
--- ometah/common/itsSet.cpp:1.1        Thu Mar 10 17:58:16 2005
+++ ometah/common/itsSet.cpp    Fri Mar 11 10:23:36 2005
@@ -1,5 +1,5 @@
 /***************************************************************************
- * $Id: itsSet.cpp,v 1.1 2005/03/10 17:58:16 nojhan Exp $
+ * $Id: itsSet.cpp,v 1.2 2005/03/11 10:23:36 nojhan Exp $
  * Author: Walid TFAILI <address@hidden>
  ****************************************************************************/
 
@@ -21,15 +21,19 @@
  
 
 
+
 #include "itsSet.hpp"
 
+
 template <class T>
-void itsSet::add(T item)
+void itsSet<T>::add(T item)
 {
-    collection[item.name().c_str()] = item;
+    // key is based on a const char*, so we take the c_str
+    collection[item->name().c_str()] = item;
 }
 
-void itsSet::remove(string name)
+template <class T>
+void itsSet<T>::remove(string name)
 {
     // find the element iterator
     // erase the element
@@ -38,13 +42,14 @@
     );
 }
 
-void itsSet::choose(string name)
+template <class T>
+void itsSet<T>::choose(string name)
 {
     this->currentItem = name;
 }
 
 template <class T>
-T * itsSet::item()
+T * itsSet<T>::item()
 {
     return & collection[currentItem.c_str()];
 }
Index: ometah/common/itsSet.hpp
diff -u ometah/common/itsSet.hpp:1.4 ometah/common/itsSet.hpp:1.5
--- ometah/common/itsSet.hpp:1.4        Thu Mar 10 17:58:16 2005
+++ ometah/common/itsSet.hpp    Fri Mar 11 10:23:36 2005
@@ -1,5 +1,5 @@
 /***************************************************************************
- * $Id: itsSet.hpp,v 1.4 2005/03/10 17:58:16 nojhan Exp $
+ * $Id: itsSet.hpp,v 1.5 2005/03/11 10:23:36 nojhan Exp $
  * Author: Walid TFAILI <address@hidden>
  ****************************************************************************/
 
@@ -25,12 +25,13 @@
 #include <string>
 #include <hash_map.h>
 
+using namespace std;
  
 //! A common class for all sets of objects
 /*!
   It uses templates to permit any kind of instanciation
 */ 
-template <class T, class string>
+template <class T>
 class itsSet
 {
 protected:
@@ -39,15 +40,6 @@
     /*! 
       A binary predicate that determines whether two keys are equal.
     */
-    /*
-    struct eqstr
-    {
-      bool operator()(string s1, string s2) const
-      {
-        return strcmp(s1, s2) == 0;
-      }
-    };
-*/
     struct eqstr
     {
       bool operator()(const char* s1, const char* s2) const
@@ -88,6 +80,6 @@
   //! Return a pointer on the current object
   T * item();
   
-}
+};
 
 #endif
Index: ometah/common/logic.cpp
diff -u ometah/common/logic.cpp:1.2 ometah/common/logic.cpp:1.3
--- ometah/common/logic.cpp:1.2 Sat Mar  5 22:46:17 2005
+++ ometah/common/logic.cpp     Fri Mar 11 10:23:36 2005
@@ -2,7 +2,7 @@
 /***************************************************************************
  *  logic.cpp
  *
- *  $Id: logic.cpp,v 1.2 2005/03/05 22:46:17 nojhan Exp $
+ *  $Id: logic.cpp,v 1.3 2005/03/11 10:23:36 nojhan Exp $
  *  Author : Johann Dréo <address@hidden>
  ****************************************************************************/
 
@@ -22,9 +22,11 @@
  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
+#include "logic.hpp"
+
 //! Exclusive or
 template<class T>
-bool xor(T cond1, T cond2)
+bool xOr(T cond1, T cond2)
 {
   if( cond1>0 && cond2>0 && cond1!=cond2 ) {
     return true;
Index: ometah/common/logic.hpp
diff -u ometah/common/logic.hpp:1.1 ometah/common/logic.hpp:1.2
--- ometah/common/logic.hpp:1.1 Mon Feb 21 09:37:59 2005
+++ ometah/common/logic.hpp     Fri Mar 11 10:23:36 2005
@@ -2,7 +2,7 @@
 /***************************************************************************
  *  logic.hpp
  *
- *  $Id: logic.hpp,v 1.1 2005/02/21 09:37:59 nojhan Exp $
+ *  $Id: logic.hpp,v 1.2 2005/03/11 10:23:36 nojhan Exp $
  *  Author : Johann Dréo <address@hidden>
  ****************************************************************************/
 
@@ -27,6 +27,6 @@
 
 //! Exclusive or
 template<class T>
-bool xor(T cond1, T cond2);
+bool xOr(T cond1, T cond2);
 
 #endif
Index: ometah/common/matrix.cpp
diff -u ometah/common/matrix.cpp:1.1 ometah/common/matrix.cpp:1.2
--- ometah/common/matrix.cpp:1.1        Thu Mar 10 18:03:41 2005
+++ ometah/common/matrix.cpp    Fri Mar 11 10:23:36 2005
@@ -1,6 +1,6 @@
 
 /***************************************************************************
- *  $Id: matrix.cpp,v 1.1 2005/03/10 18:03:41 nojhan Exp $
+ *  $Id: matrix.cpp,v 1.2 2005/03/11 10:23:36 nojhan Exp $
  *  Author : Johann Dréo <address@hidden>
  ****************************************************************************/
 
@@ -21,8 +21,8 @@
  */
 
 //! Test if a vector is comprised in bounds
-template<class T, class U>
-bool isInBounds( U<T> aVector, U<T> mins, U<T> maxs)
+template<class T>
+bool isInBounds( T aVector, T mins, T maxs)
 {
   unsigned int i;
   for(i=0; i<aVector.size(); i++ ){
@@ -39,10 +39,10 @@
 
 
 //! Force a vector to be in bounds
-template<class T, class U>
-U<T> forceBounds(U<T>  aVector, U<T> mins, U<T> maxs)
+template<class T>
+T forceBounds( T aVector, T mins, T maxs)
 {
-  U<T> CastedVector=aVector;
+  T CastedVector=aVector;
     
   unsigned int i;
   for(i=0; i<aVector.size(); i++ ){
@@ -58,14 +58,20 @@
 }
 
 //! Create a 2D matrix filled with values
-template<class T, class U>
-U< U<T> > matrixFilled( unsigned int dimL, unsigned int dimC, T fillValue)
+/* 
+    if we want a vector<vector<double> > :
+    T stand for double
+    V stand for vector<vector<double> >
+*/
+template <class T, class U>
+U matrixFilled( unsigned int dimL, unsigned int dimC, T fillValue )
 {
   unsigned int i;
 
-  U<T> vec(dimC, fillValue);
+  // make the vector<double> possible at this step
+  typename U::value_type vec(dimC, fillValue);
 
-  U< U<T> > mat;
+  U mat;
   for(i=0; i<dimL; i++){
     mat.push_back(vec);
   }
@@ -73,12 +79,13 @@
   return mat;
 }
 
+
 //! Multipliate two 2D matrix
-template<class T, class U>
-U< U<T> > multiply( U< U<T> > matA, U< U<T> > matB)
+template<class T>
+T multiply( T matA, T matB)
 {
 
-  U< U<T> > newMat;
+  T newMat;
 
   unsigned int Al=matA.size();
   unsigned int Ac=matA[0].size();
@@ -104,9 +111,9 @@
 
 //! Multiply each term of a vector by a scalar
 template<class T, class U>
-U<T> multiply(U<T> aVector, T aNb)
+U multiply(U aVector, T aNb)
 {
-  vector<double> res;
+  U res;
 
   res.reserve( aVector.size() );
   
@@ -120,13 +127,13 @@
 
 
 //! Cholesky factorization
-template<class T, class U>
-U< U<T> > cholesky( U< U<T> > A)
+template<class T>
+T cholesky( T A)
 {
 
   // FIXME : vérifier que A est symétrique définie positive
   
-  U< U<T> >  B;
+  T B;
   unsigned int Al=A.size();
   unsigned int Ac=A[0].size();
   B = filledMatrix(Al, Ac, 0.0);
@@ -172,13 +179,13 @@
 
 //! Transposition of a matrix
 template<class T, class U>
-U< U<T> > transpose(U< U<T> > &mat)
+U transpose( T &mat)
 {
   unsigned int iSize=mat.size();
   unsigned int jSize=mat[0].size();
 
-  U<T> aVector;
-  U< U<T> > newMat;
+  typename U::value_type  aVector;
+  U newMat;
 
   unsigned int i, j;
 
@@ -195,16 +202,16 @@
 }
 
 //! Calculate a variance-covariance matrix from a list of vector
-template<class T, class U>
-U< U<T> > varianceCovariance(U< U<T> > pop)
+template<class U>
+U varianceCovariance( U pop)
 {
   // vector of means
   // => average of columns => transposition before calculations
-  U<T> vecMeanCentered = mean( transpose(pop) );
+  typename U::value_type  vecMeanCentered = mean( transpose(pop) );
   
   // centered population 
   // same size as the initial matrix
-  U< U<T> > popMeanCentered = filledMatrix(pop.size(),pop[0].size(), 0.0);
+  U popMeanCentered = filledMatrix(pop.size(),pop[0].size(), 0.0);
 
   // centering
   // rows
@@ -216,12 +223,12 @@
   }
   
   // transposition of the centered matrix
-  U< U<T> > popMeanCenteredT;
+  U popMeanCenteredT;
   popMeanCenteredT = transpose(popMeanCentered);
 
 
   // final varaince/covariance matrix
-  U< U<T> > popVar;
+  U popVar;
   popVar = multiply( popMeanCenteredT, popMeanCentered );
 
   // multiplication by n-1 :
@@ -236,9 +243,9 @@
 
 //! Calculate the mean vector of a matrix
 template<class T, class U>
-U<T> mean( U< U<T> > mat)
+T mean( U mat)
 {
-  U<T> moyDim;
+  T moyDim;
   moyDim.reserve(mat.size());
 
   unsigned int i,a; 
@@ -252,7 +259,7 @@
 
 //! Calculate the mean of a vector
 template<class T, class U>
-T mean(U<T> aVector, int begin=0, int during=0)
+T mean(U aVector, int begin=0, int during=0)
 {
   if (during==0) {
     during = aVector.size() - begin; // if no end : take all
@@ -268,7 +275,7 @@
 
 //! Calculate the sum of a vector
 template<class T, class U>
-T sum(U<T> aVector, int begin=0, int during=0)
+T sum(U aVector, int begin=0, int during=0)
 {
   if (during==0) {
     during = aVector.size() - begin;
@@ -286,13 +293,13 @@
 
 //! Calculate the standard deviation of a vector
 template<class T, class U>
-T std(U<T> aVector, int begin=0, int during=0)
+T stdev(U aVector, int begin=0, int during=0)
 {
   if (during==0) {
     during = aVector.size() - begin;
   }
 
-  U<T> deviation;
+  U deviation;
   T aMean, aDev, aStd;
 
   aMean = mean(aVector, begin, during); // mean
@@ -310,7 +317,7 @@
 
 //! Find the minimum value of a vector
 template<class T, class U>
-T min(U<T> aVector, int begin=0, int during=0)
+T min(U aVector, int begin=0, int during=0)
 {
   if (during==0) {
     during = aVector.size() - begin;
@@ -328,10 +335,10 @@
 }
 
 //! Substraction of two vectors, terms by terms
-template<class T, class U>
-U<T> substraction(U<T> from, U<T> that)
+template<class T>
+T substraction(T from, T that)
 {
-  U<T> res;
+  T res;
   
   res.reserve(from.size());
 
@@ -342,10 +349,10 @@
 }
 
 //! Addition of two vectors, terms by terms
-template<class T, class U>
-U<T> addition(U<T> from, U<T> that)
+template<class T>
+T addition(T from, T that)
 {
-  U<T> res;
+  T res;
 
   res.reserve( from.size() );
 
@@ -356,8 +363,8 @@
 }
 
 //! Calculate the absolute values of a vector
-template<class T, class U>
-U<T> abs(U<T> aVector)
+template<class T>
+T abs(T aVector)
 {
   for(unsigned int i=0; i<aVector.size(); i++){
     aVector[i] = abs(aVector[i]);
Index: ometah/common/matrix.hpp
diff -u ometah/common/matrix.hpp:1.2 ometah/common/matrix.hpp:1.3
--- ometah/common/matrix.hpp:1.2        Mon Feb 28 14:30:04 2005
+++ ometah/common/matrix.hpp    Fri Mar 11 10:23:36 2005
@@ -2,7 +2,7 @@
 /***************************************************************************
  *  matrix.hpp
  *
- *  $Id: matrix.hpp,v 1.2 2005/02/28 14:30:04 nojhan Exp $
+ *  $Id: matrix.hpp,v 1.3 2005/03/11 10:23:36 nojhan Exp $
  *  Author : Johann Dréo <address@hidden>
  ****************************************************************************/
 
@@ -26,67 +26,67 @@
 #define MATRIX
 
 //! Test if a vector is comprised in bounds
-template<class T, class U>
-bool isInBounds( U<T> aVector, U<T> mins, U<T> maxs);
+template<class T>
+bool isInBounds( T aVector, T mins, T maxs );
 
 //! Force a vector to be in bounds
-template<class T, class U>
-U<T> forceBounds(U<T>  aVector, U<T> mins, U<T> maxs);
+template<class T>
+T forceBounds( T aVector, T mins, T maxs );
 
 //! Create a 2D matrix filled with values
 template<class T, class U>
-U< U<T> > matrixFilled( unsigned int dimL, unsigned int dimC, T fillValue);
+U matrixFilled( unsigned int dimL, unsigned int dimC, T fillValue );
 
 //! Multipliate two 2D matrix
-template<class T, class U>
-U< U<T> > multiply( U< U<T> > matA, U< U<T> > matB);
+template<class T>
+T multiply( T matA, T matB );
 
 //! Multiply each term of a vector by a scalar
 template<class T, class U>
-U<T> multiply(U<T> aVector, T aNb);
+U multiply( U aVector, T aNb );
 
 //! Cholesky factorization
-template<class T, class U>
-U< U<T> > cholesky( U< U<T> > A);
+template<class T>
+T cholesky( T A );
 
 //! Transposition of a matrix
 template<class T, class U>
-U< U<T> > transpose(U< U<T> > &mat);
+U transpose( T &mat );
 
 //! Calculate a variance-covariance matrix from a list of vector
-template<class T, class U>
-U< U<T> > varianceCovariance(U< U<T> > pop);
+template<class U>
+U varianceCovariance( U pop );
 
 //! Calculate the mean vector of a matrix
 template<class T, class U>
-U<T> mean( U< U<T> > mat);
+T mean( U mat );
 
 //! Calculate the mean of a vector
 template<class T, class U>
-T mean(U<T> aVector, int Begin=0, int During=0);
+T mean( U aVector, int Begin=0, int During=0 );
 
 //! Calculate the sum of a vector
 template<class T, class U>
-T sum(U<T> aVector, int Begin=0, int During=0);
+T sum( U aVector, int Begin=0, int During=0 );
 
 //! Calculate the standard deviation of a vector
 template<class T, class U>
-T std(U<T> aVector, int Begin=0, int During=0);
+T stdev( U aVector, int Begin=0, int During=0 );
 
 //! Find the minimum value of a vector
 template<class T, class U>
-T min(U<T> aVector, int Begin=0, int During=0);
+T min( U aVector, int Begin=0, int During=0 );
 
 //! Substraction of two vectors, terms by terms
-template<class T, class U>
-U<T> substraction(U<T> from, U<T> that);
+template<class T>
+T substraction( T from, T that );
 
 //! Addition of two vectors, terms by terms
-template<class T, class U>
-U<T> addition(U<T> from, U<T> that);
+template<class T>
+T addition( T from, T that );
 
 //! Calculate the absolute values of a vector
-template<class T, class U>
-U<T> abs(U<T> aVector);
+template<class T>
+T abs( T aVector );
 
 #endif




reply via email to

[Prev in Thread] Current Thread [Next in Thread]