00001 /* 00002 * $Id$ 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 }
Generated on Tue Mar 8 2016 19:51:35 for ADMB Documentation by 1.8.0 |