00001 #include <admodel.h>
00002 #include <df1b2fun.h>
00003 #include <adrndeff.h>
00004
00005
00006
00015 dvariable generalized_Ricker2(const double& x, const prevariable& r, const prevariable& a, const prevariable& alpha)
00016 {
00017 RETURN_ARRAYS_INCREMENT();
00018 dvariable y;
00019 y=x*exp(r*(1.0-pow(a/x, alpha)));
00020
00021 RETURN_ARRAYS_DECREMENT();
00022 return (y);
00023 }
00032 dvar_vector generalized_Ricker2(const dvector& x, const prevariable& r, const prevariable& a, const prevariable& alpha)
00033 {
00034 RETURN_ARRAYS_INCREMENT();
00035 dvar_vector y;
00036 y=elem_prod(x, exp(r*(1.0-pow(a*pow(x, -1.0), alpha))));
00037
00038 RETURN_ARRAYS_DECREMENT();
00039 return (y);
00040 }
00049 dvar_vector generalized_Ricker2(const dvector& x, const dvar_vector& r, const prevariable& a, const prevariable& alpha)
00050 {
00051 RETURN_ARRAYS_INCREMENT();
00052 dvar_vector y;
00053 y=elem_prod(x, exp(elem_prod(r, (1.0-pow(a*pow(x, -1.0), alpha)))));
00054
00055 RETURN_ARRAYS_DECREMENT();
00056 return (y);
00057 }
00058
00067 dvar_vector generalized_Ricker2(const dvector& x, const prevariable& r, const dvar_vector& a, const prevariable& alpha)
00068 {
00069 RETURN_ARRAYS_INCREMENT();
00070 dvar_vector y;
00071 y=elem_prod(x, exp(r*(1.0-pow(elem_div(a, x), alpha))));
00072
00073 RETURN_ARRAYS_DECREMENT();
00074 return (y);
00075 }
00084 dvar_vector generalized_Ricker2(const dvector& x, const dvar_vector& r, const dvar_vector& a, const prevariable& alpha)
00085 {
00086 RETURN_ARRAYS_INCREMENT();
00087 dvar_vector y;
00088 y=elem_prod(x, exp(elem_prod(r, (1.0-pow(elem_div(a, x), alpha)))));
00089
00090 RETURN_ARRAYS_DECREMENT();
00091 return (y);
00092 }
00093
00094
00103 dvar_vector generalized_Ricker2(const dvector& x, const prevariable& r, const prevariable& a, const dvar_vector& alpha)
00104 {
00105 RETURN_ARRAYS_INCREMENT();
00106 dvar_vector y;
00107 y=elem_prod(x, exp(r*(1.0-pow(a*pow(x, -1.0), alpha))));
00108
00109 RETURN_ARRAYS_DECREMENT();
00110 return (y);
00111 }
00120 dvar_vector generalized_Ricker2(const dvector& x, const dvar_vector& r, const prevariable& a, const dvar_vector& alpha)
00121 {
00122 RETURN_ARRAYS_INCREMENT();
00123 dvar_vector y;
00124 y=elem_prod(x, exp(elem_prod(r, (1.0-pow(a*pow(x, -1.0), alpha)))));
00125
00126 RETURN_ARRAYS_DECREMENT();
00127 return (y);
00128 }
00129
00138 dvar_vector generalized_Ricker2(const dvector& x, const prevariable& r, const dvar_vector& a, const dvar_vector& alpha)
00139 {
00140 RETURN_ARRAYS_INCREMENT();
00141 dvar_vector y;
00142 y=elem_prod(x, exp(r*(1.0-pow(elem_div(a, x), alpha))));
00143
00144 RETURN_ARRAYS_DECREMENT();
00145 return (y);
00146 }
00155 dvar_vector generalized_Ricker2(const dvector& x, const dvar_vector& r, const dvar_vector& a, const dvar_vector& alpha)
00156 {
00157 RETURN_ARRAYS_INCREMENT();
00158 dvar_vector y;
00159 y=elem_prod(x, exp(elem_prod(r, (1.0-pow(elem_div(a, x), alpha)))));
00160
00161 RETURN_ARRAYS_DECREMENT();
00162 return (y);
00163 }
00164
00165
00166
00175 df1b2variable generalized_Ricker2(const double& x, const df1b2variable& r, const df1b2variable& a, const df1b2variable& alpha)
00176 {
00177 df1b2variable y;
00178 y=x*exp(r*(1.0-pow(a/x, alpha)));
00179
00180 return (y);
00181 }
00190 df1b2vector generalized_Ricker2(const dvector& x, const df1b2variable& r, const df1b2variable& a, const df1b2variable& alpha)
00191 {
00192 df1b2vector y;
00193 y=elem_prod(x, exp(r*(1.0-pow(a*pow(x, -1.0), alpha))));
00194
00195 return(y);
00196 }
00205 df1b2vector generalized_Ricker2(const dvector& x, const df1b2vector& r, const df1b2variable& a, const df1b2variable& alpha)
00206 {
00207 df1b2vector y;
00208 y=elem_prod(x, exp(elem_prod(r, (1.0-pow(a*pow(x, -1.0), alpha)))));
00209
00210 return(y);
00211 }
00212
00213
00214
00223 df1b2vector generalized_Ricker2(const dvector& x, const df1b2variable& r, const df1b2vector& a, const df1b2variable& alpha)
00224 {
00225 df1b2vector y;
00226 y=elem_prod(x, exp(r*(1.0-pow(elem_div(a, x), alpha))));
00227
00228 return(y);
00229 }
00238 df1b2vector generalized_Ricker2(const dvector& x, const df1b2vector& r, const df1b2vector& a, const df1b2variable& alpha)
00239 {
00240 df1b2vector y;
00241 y=elem_prod(x, exp(elem_prod(r, (1.0-pow(elem_div(a, x), alpha)))));
00242
00243 return(y);
00244 }
00245
00246
00247
00248
00249
00258 df1b2vector generalized_Ricker2(const dvector& x, const df1b2variable& r, const df1b2variable& a, const df1b2vector& alpha)
00259 {
00260 df1b2vector y;
00261 y=elem_prod(x, exp(r*(1.0-pow(a*pow(x, -1.0), alpha))));
00262
00263 return(y);
00264 }
00273 df1b2vector generalized_Ricker2(const dvector& x, const df1b2vector& r, const df1b2variable& a, const df1b2vector& alpha)
00274 {
00275 df1b2vector y;
00276 y=elem_prod(x, exp(elem_prod(r, (1.0-pow(a*pow(x, -1.0), alpha)))));
00277
00278 return(y);
00279 }
00280
00281
00282
00291 df1b2vector generalized_Ricker2(const dvector& x, const df1b2variable& r, const df1b2vector& a, const df1b2vector& alpha)
00292 {
00293 df1b2vector y;
00294 y=elem_prod(x, exp(r*(1.0-pow(elem_div(a, x), alpha))));
00295
00296 return(y);
00297 }
00306 df1b2vector generalized_Ricker2(const dvector& x, const df1b2vector& r, const df1b2vector& a, const df1b2vector& alpha)
00307 {
00308 df1b2vector y;
00309 y=elem_prod(x, exp(elem_prod(r, (1.0-pow(elem_div(a, x), alpha)))));
00310
00311 return(y);
00312 }