Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00011 #include "fvar.hpp"
00012 #include "admb_messages.h"
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00032 AD_LONG_INT colsum(const lmatrix& m,int col)
00033 {
00034 if (col < m.colmin() || col > m.colmax())
00035 {
00036 ADMB_ARRAY_BOUNDS_ERROR("Row out of bounds",
00037 "AD_LONG_INT colsum(const lmatrix& m,int col)",
00038 m.colmin(), m.colmax(), col);
00039 }
00040 AD_LONG_INT isum=0;
00041 int mmin=m.rowmin();
00042 int mmax=m.rowmax();
00043 for (int i=mmin;i<=mmax;i++)
00044 {
00045 isum+=m(i,col);
00046 }
00047 return isum;
00048 }
00049
00054 lvector column(const lmatrix& m,int col)
00055 {
00056 if (col < m.colmin() || col > m.colmax())
00057 {
00058 ADMB_ARRAY_BOUNDS_ERROR("Row out of bounds",
00059 "lvector column(const lmatrix& m,int col)",
00060 m.colmin(), m.colmax(), col);
00061 }
00062 int mmin=m.rowmin();
00063 int mmax=m.rowmax();
00064 lvector tmp(mmin,mmax);
00065 for (int i=mmin;i<=mmax;i++)
00066 {
00067 tmp(i)=m(i,col);
00068 }
00069 return tmp;
00070 }