ADMB Documentation  11.4.2891
 All Classes Files Functions Variables Typedefs Friends Defines
dvect12.cpp
Go to the documentation of this file.
00001 /*
00002  * $Id$
00003  *
00004  * Author: David Fournier
00005  * Copyright (c) 2008-2012 Regents of the University of California
00006  */
00011 #include <fvar.hpp>
00012 
00017 double sum(const dvector &v)
00018   {
00019     double tmp=0;
00020     for (int i=v.indexmin(); i<=v.indexmax(); i++)
00021     {
00022       tmp+=v.elem(i);
00023     }
00024     return tmp;
00025   }
00026 
00034 dvector colsum(const dmatrix &v)
00035   {
00036     int cmin=v.colmin();
00037     int cmax=v.colmax();
00038     int rmin=v.rowmin();
00039     int rmax=v.rowmax();
00040 
00041    // cout << "In colsum" << endl;
00042     dvector tmp(cmin,cmax);
00043     tmp.initialize();
00044     for (int j=cmin; j<=cmax; j++)
00045     {
00046       for (int i=rmin; i<=rmax; i++)
00047       {
00048         tmp(j)+=v(i,j);
00049       }
00050     }
00051     return tmp;
00052   }
00053 
00061 dvector rowsum(const dmatrix &v)
00062   {
00063     //int cmin=v.colmin();
00064     //int cmax=v.colmax();
00065     int rmin=v.rowmin();
00066     int rmax=v.rowmax();
00067 
00068     dvector tmp(rmin,rmax);
00069     for (int i=rmin; i<=rmax; i++)
00070     {
00071       tmp(i)=sum(v(i));
00072     }
00073     return tmp;
00074   }
00075 
00080 double sum(const dmatrix& m)
00081 {
00082   double tmp=0.;
00083   for (int i=m.rowmin();i<=m.rowmax();i++)
00084   {
00085     tmp+=sum(m.elem(i));
00086   }
00087   return tmp;
00088 }