ADMB Documentation  11.5.3197
 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 
00031 dvector colsum(const dmatrix &v)
00032   {
00033     int cmin=v.colmin();
00034     int cmax=v.colmax();
00035     int rmin=v.rowmin();
00036     int rmax=v.rowmax();
00037 
00038    // cout << "In colsum" << endl;
00039     dvector tmp(cmin,cmax);
00040     tmp.initialize();
00041     for (int j=cmin; j<=cmax; j++)
00042     {
00043       for (int i=rmin; i<=rmax; i++)
00044       {
00045         tmp(j)+=v(i,j);
00046       }
00047     }
00048     return tmp;
00049   }
00050 
00055 dvector rowsum(const dmatrix &v)
00056   {
00057     //int cmin=v.colmin();
00058     //int cmax=v.colmax();
00059     int rmin=v.rowmin();
00060     int rmax=v.rowmax();
00061 
00062     dvector tmp(rmin,rmax);
00063     for (int i=rmin; i<=rmax; i++)
00064     {
00065       tmp(i)=sum(v(i));
00066     }
00067     return tmp;
00068   }
00069 
00074 double sum(const dmatrix& m)
00075 {
00076   double tmp=0.;
00077   for (int i=m.rowmin();i<=m.rowmax();i++)
00078   {
00079     tmp+=sum(m.elem(i));
00080   }
00081   return tmp;
00082 }