ADMB Documentation  -a65f1c97
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mod_mc1.cpp
Go to the documentation of this file.
1 
5 #include <admodel.h>
6 
8 {
9  int ii=1;
10  for (int i=0;i<num_initial_params;i++)
11  {
13  {
14  (varsptr[i])->add_value((const dvector&)(x),ii);
15  }
16  }
17 }
18 
19 void param_init_number::add_value(const dvector& ndev, const int& _ii)
20 {
21  int& ii=(int&) _ii;
22  (*this)+=ndev(ii);
23  ii++;
24 }
25 
26 void param_init_bounded_number::add_value(const dvector& ndev, const int& _ii)
27 {
28  int& ii=(int&) _ii;
29  (*this)+=ndev(ii);
30  ii++;
31 }
32 
33 void param_init_vector::add_value(const dvector& ndev, const int& _ii)
34 {
35  int& ii=(int&) _ii;
36  int mmin=indexmin();
37  int mmax=indexmax();
38  double* pndevii = ndev.get_v() + ii;
39  for (int i=mmin;i<=mmax;i++)
40  {
41  (*this)(i) += *pndevii;
42 
43  ++pndevii;
44  ++ii;
45  }
46 }
47 
48 void param_init_bounded_vector::add_value(const dvector& ndev, const int& _ii)
49 {
50  int& ii=(int&) _ii;
51  int mmin=indexmin();
52  int mmax=indexmax();
53  for (int i=mmin;i<=mmax;i++)
54  {
55  (*this)(i)+=ndev(ii);
56  ii++;
57  }
58 }
59 
60 void param_init_matrix::add_value(const dvector& ndev, const int& _ii)
61 {
62  int& ii=(int&) _ii;
63  int rmin=rowmin();
64  int rmax=rowmax();
65  for (int i=rmin;i<=rmax;i++)
66  {
67  int cmin=(*this)(i).indexmin();
68  int cmax=(*this)(i).indexmax();
69  for (int j=cmin;j<=cmax;j++)
70  {
71  (*this)(i,j)+=ndev(ii);
72  ii++;
73  }
74  }
75 }
76 
77 void param_init_bounded_matrix::add_value(const dvector& ndev, const int& _ii)
78 {
79  int& ii=(int&) _ii;
80  int rmin=rowmin();
81  int rmax=rowmax();
82  for (int i=rmin;i<=rmax;i++)
83  {
84  int cmin=(*this)(i).indexmin();
85  int cmax=(*this)(i).indexmax();
86  for (int j=cmin;j<=cmax;j++)
87  {
88  (*this)(i,j)+=ndev(ii);
89  ii++;
90  }
91  }
92 }
virtual void add_value(const dvector &, const int &)=0
virtual void add_value(const dvector &, const dvector &, const int &, const double &, const dvector &)
Definition: montebds.cpp:133
int rowmax(void) const
Definition: fvar.hpp:2564
int withinbound(int lb, int n, int ub)
Definition: model.cpp:45
#define x
Vector of double precision numbers.
Definition: dvector.h:50
static void add_random_vector(const dvector &x)
Author: David Fournier Copyright (c) 2008-2012 Regents of the University of California.
Definition: mod_mc1.cpp:7
virtual void add_value(const dvector &, const dvector &, const int &, const double &, const dvector &)
Definition: montebds.cpp:210
virtual void add_value(const dvector &, const dvector &, const int &, const double &, const dvector &)
Definition: montebds.cpp:277
static int current_phase
Definition: admodel.h:842
virtual void add_value(const dvector &, const dvector &, const int &, const double &, const dvector &)
Definition: montebds.cpp:259
Description not yet available.
int rowmin(void) const
Definition: fvar.hpp:2560
static int num_initial_params
Definition: admodel.h:836
int indexmin() const
Definition: fvar.hpp:2287
int indexmax(void) const
Definition: fvar.hpp:2572
virtual void add_value(const dvector &, const dvector &, const int &, const double &, const dvector &)
Definition: montebds.cpp:202
int phase_start
Definition: admodel.h:848
double *& get_v(void)
Definition: dvector.h:148
int indexmin(void) const
Definition: fvar.hpp:2568
int indexmax() const
Definition: fvar.hpp:2292
virtual void add_value(const dvector &, const dvector &, const int &, const double &, const dvector &)
Definition: montebds.cpp:223
static adlist_ptr varsptr
Definition: admodel.h:838