ADMB Documentation  11.1.2246
 All Classes Files Functions Variables Typedefs Friends Defines
model32.cpp
Go to the documentation of this file.
00001 /*
00002  * $Id: model32.cpp 1919 2014-04-22 22:02:01Z johnoel $
00003  *
00004  * Author: David Fournier
00005  * Copyright (c) 2008-2012 Regents of the University of California
00006  */
00007 #include <admodel.h>
00008 
00009 dll_data_int::~dll_data_int()
00010 {
00011   *pi=val;
00012 }
00013 
00014 dll_data_number::~dll_data_number()
00015 {
00016   *pd=val;
00017 }
00018 
00019 dll_param_init_number::~dll_param_init_number()
00020 {
00021   *pd=value(*this);
00022 }
00023 
00024 dll_param_init_bounded_number::~dll_param_init_bounded_number()
00025 {
00026   *pd=value(*this);
00027 }
00028 
00029 dll_param_number::~dll_param_number()
00030 {
00031   *pd=value(*this);
00032 }
00033 
00034 dll_param_vector::~dll_param_vector()
00035 {
00036   int imin=indexmin();
00037   int imax=indexmax();
00038   double * tmp=pd;
00039   for (int i=imin;i<=imax;i++)
00040   {
00041     *tmp++=value((*this)[i]);
00042   }
00043 }
00044 
00045 dll_param_init_bounded_vector::~dll_param_init_bounded_vector()
00046 {
00047   int imin=indexmin();
00048   int imax=indexmax();
00049   double * tmp=pd;
00050   for (int i=imin;i<=imax;i++)
00051   {
00052     *tmp++=value((*this)[i]);
00053   }
00054 }
00055 
00056 dll_param_init_vector::~dll_param_init_vector()
00057 {
00058   int imin=indexmin();
00059   int imax=indexmax();
00060   double * tmp=pd;
00061   for (int i=imin;i<=imax;i++)
00062   {
00063     *tmp++=value((*this)[i]);
00064   }
00065 }
00066 
00067 dll_data_vector::~dll_data_vector()
00068 {
00069   int imin=indexmin();
00070   int imax=indexmax();
00071   double * tmp=pd;
00072   for (int i=imin;i<=imax;i++)
00073   {
00074     *tmp++=(*this)[i];
00075   }
00076 }
00077 dll_data_matrix::~dll_data_matrix()
00078 {
00079   double * tmp=d;
00080   int rmin=rowmin();
00081   int rmax=rowmax();
00082   int cmin=colmin();
00083   int cmax=colmax();
00084   if (!AD_gaussflag)
00085   {
00086     for (int j=cmin;j<=cmax;j++)
00087     {
00088       for (int i=rmin;i<=rmax;i++)
00089       {
00090         *tmp++=(*this)(i,j);
00091       }
00092     }
00093   }
00094   else
00095   {
00096     for (int i=rmin;i<=rmax;i++)
00097     {
00098       for (int j=cmin;j<=cmax;j++)
00099       {
00100         *tmp++=(*this)(i,j);
00101       }
00102     }
00103   }
00104 }
00105 dll_param_init_matrix::~dll_param_init_matrix()
00106 {
00107   double * tmp=d;
00108   int rmin=rowmin();
00109   int rmax=rowmax();
00110   int cmin=colmin();
00111   int cmax=colmax();
00112   if (!AD_gaussflag)
00113   {
00114     for (int j=cmin;j<=cmax;j++)
00115     {
00116       for (int i=rmin;i<=rmax;i++)
00117       {
00118         *tmp++=value((*this)(i,j));
00119       }
00120     }
00121   }
00122   else
00123   {
00124     for (int i=rmin;i<=rmax;i++)
00125     {
00126       for (int j=cmin;j<=cmax;j++)
00127       {
00128         *tmp++=value((*this)(i,j));
00129       }
00130     }
00131   }
00132 }
00133 
00134 dll_param_matrix::~dll_param_matrix()
00135 {
00136   double * tmp=pd;
00137   int rmin=rowmin();
00138   int rmax=rowmax();
00139   int cmin=colmin();
00140   int cmax=colmax();
00141   if (!AD_gaussflag)
00142   {
00143     for (int j=cmin;j<=cmax;j++)
00144     {
00145       for (int i=rmin;i<=rmax;i++)
00146       {
00147         *tmp++=value((*this)(i,j));
00148       }
00149     }
00150   }
00151   else
00152   {
00153     for (int i=rmin;i<=rmax;i++)
00154     {
00155       for (int j=cmin;j<=cmax;j++)
00156       {
00157         *tmp++=value((*this)(i,j));
00158       }
00159     }
00160   }
00161 }