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 int likeprof_params::num_likeprof_params=0; 00010 likeprof_params * likeprof_params::likeprofptr[500]; // this should be 00011 // a resizeable array 00012 00013 likeprof_params::likeprof_params(void) 00014 { 00015 stepsize=0.5; 00016 stepnumber=8; 00017 } 00018 00019 void likeprof_params::add_to_list(void) 00020 { 00021 likeprofptr[num_likeprof_params++]= this; // this is the list of 00022 // likelihood profile objects 00023 } 00024 00025 param_likeprof_number::param_likeprof_number() : param_stddev_number() , 00026 likeprof_params() 00027 { 00028 sigma=0.0; 00029 likeprof_params::add_to_list(); 00030 // stddev_params::add_to_list(); // don't think we need this here 00031 } 00032 00033 int param_likeprof_number::size_count(void) 00034 { 00035 return 1; 00036 } 00037 00038 /* 00039 void param_likeprof_number::set_dependent_variables(void) 00040 { 00041 #ifndef __ZTC__ 00042 dvariable(*this) << dvariable(*this); 00043 #else 00044 *this << *this; 00045 #endif 00046 } 00047 */ 00048 00049 void param_likeprof_number::allocate(const char * _s) 00050 { 00051 named_dvariable::allocate(_s); 00052 likeprof_params::allocate(); 00053 } 00054 00055 const char * param_likeprof_number::label(void) 00056 { 00057 return model_name_tag::label().mychar(); 00058 } 00059 00060 param_likeprof_number& param_likeprof_number::operator=(const prevariable& v) 00061 { 00062 this->param_stddev_number::operator = (v); 00063 return *this; 00064 } 00065 00066 param_likeprof_number& param_likeprof_number::operator=(const double v) 00067 { 00068 this->param_stddev_number::operator = (v); 00069 return *this; 00070 } 00071 00072 // for now only do likelihood profiles for numbers 00073 /* 00074 int likeprof_params::num_likeprof_calc(void) 00075 { 00076 int nvar=0; 00077 for (int i=0;i<num_likeprof_params;i++) 00078 { 00079 nvar+= (likeprofptr[i])->size_count(); 00080 } 00081 return nvar; 00082 } 00083 00084 int param_likeprof_vector::size_count(void) 00085 { 00086 return ::size_count(*this); 00087 } 00088 00089 param_likeprof_vector::param_likeprof_vector(void) : named_dvar_vector() , 00090 likeprof_params() 00091 { 00092 add_to_list(); 00093 } 00094 00095 void param_likeprof_vector::allocate(int imin,int imax,const char * s) 00096 { 00097 named_dvar_vector::allocate(imin,imax,s); 00098 likeprof_params::allocate(); 00099 } 00100 00101 void param_likeprof_vector::set_dependent_variables(void) 00102 { 00103 dvar_vector(*this) << dvar_vector(*this); 00104 } 00105 00106 param_likeprof_matrix::param_likeprof_matrix() : named_dvar_matrix() , 00107 likeprof_params() 00108 { 00109 add_to_list(); 00110 } 00111 00112 int param_likeprof_matrix::size_count(void) 00113 { 00114 return ::size_count(*this); 00115 } 00116 00117 void param_likeprof_matrix::allocate(int rmin,int rmax,int cmin,int cmax, 00118 const char * s) 00119 { 00120 named_dvar_matrix::allocate(rmin,rmax,cmin,cmax,s); 00121 likeprof_params::allocate(); 00122 } 00123 00124 void param_likeprof_matrix::set_dependent_variables(void) 00125 { 00126 dvar_matrix(*this) << dvar_matrix(*this); 00127 } 00128 00129 const char * param_likeprof_vector::label(void) 00130 { 00131 return model_name_tag::label(); 00132 } 00133 00134 const char * param_likeprof_matrix::label(void) 00135 { 00136 return model_name_tag::label(); 00137 } 00138 */
Generated on Tue Mar 8 2016 19:51:34 for ADMB Documentation by 1.8.0 |