Go to the documentation of this file.00001 #include "statsLib.h"
00002
00040 void fill(const dmatrix& _d,const dvector& _v)
00041 {
00042 ADUNCONST(dmatrix,d)
00043 ADUNCONST(dvector,v)
00044 int mmin =d.indexmin();
00045 int mmax =d.indexmax();
00046 int sz=0;
00047 int i;
00048 ivector sz1(mmin,mmax);
00049 for (i=mmin;i<=mmax;i++)
00050 {
00051 sz1(i)=d(i).indexmax()-d(i).indexmin()+1;
00052 sz+=sz1(i);
00053 }
00054
00055 if (sz != v.indexmax()-v.indexmin()+1)
00056 {
00057 cerr << "Error in sizes in function"
00058 " void fill(const dmatrix& _d,const dvector& v)" << endl;
00059 ad_exit(1);
00060 }
00061 int offset=v.indexmin();
00062 for (i=mmin;i<=mmax;i++)
00063 {
00064 d(i)=v(offset,offset+sz1(i)-1).shift(d(i).indexmin());
00065 }
00066 }
00067
00075 void fill(const dvar_matrix& _d,const dvar_vector& _v)
00076 {
00077 ADUNCONST(dvar_matrix,d)
00078 ADUNCONST(dvar_vector,v)
00079 int mmin =d.indexmin();
00080 int mmax =d.indexmax();
00081 int sz=0;
00082 int i;
00083 ivector sz1(mmin,mmax);
00084 for (i=mmin;i<=mmax;i++)
00085 {
00086 sz1(i)=d(i).indexmax()-d(i).indexmin()+1;
00087 sz+=sz1(i);
00088 }
00089
00090 if (sz != v.indexmax()-v.indexmin()+1)
00091 {
00092 cerr << "Error in sizes in function"
00093 " void fill(const dmatrix& _d,const dvector& v)" << endl;
00094 ad_exit(1);
00095 }
00096 int offset=v.indexmin();
00097 for (i=mmin;i<=mmax;i++)
00098 {
00099 d(i)=v(offset,offset+sz1(i)-1).shift(d(i).indexmin());
00100 }
00101 }