ADMB Documentation  -a65f1c97
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
model53.cpp
Go to the documentation of this file.
1 /*
2  * $Id$
3  *
4  * Author: David Fournier
5  * Copyright (c) 2008-2012 Regents of the University of California
6  */
7 #include <admodel.h>
8 
9 //double ndfboundp( double x, double fmin, double fmax, const double& fpen);
10 
12  const int& _ii)
13  {
14  int& ii=(int&) _ii;
15  dvar_vector& d=(dvar_vector&) _d;
16  d(ii)=1.0;
17  ii++;
18  }
19 
21  const dvar_vector& x,const int& _ii)
22  {
23  int& ii=(int&) _ii;
24  dvar_vector& d=(dvar_vector&) _d;
25  d(ii)=dfboundp(x(ii),minb,maxb);
26  ii++;
27  }
28 
30  const dvar_vector& x,const int& _ii)
31  {
32  if (allocated(*this))
33  {
34  int& ii=(int&) _ii;
35  dvar_vector& d=(dvar_vector&) _d;
36  int mmin=indexmin();
37  int mmax=indexmax();
38  for (int i=mmin;i<=mmax;i++)
39  {
40  d(ii)=1.0;
41  ii++;
42  }
43  }
44  }
45 
46 
48  const dvar_vector& x,const int& _ii)
49  {
50  if (allocated(*this))
51  {
52  int& ii=(int&) _ii;
53  dvar_vector& d=(dvar_vector&) _d;
54  int mmin=rowmin();
55  int mmax=rowmax();
56  for (int i=mmin;i<=mmax;i++)
57  {
58  if (allocated((*this)(i)))
59  {
60  int cmin=((*this)(i)).indexmin();
61  int cmax=((*this)(i)).indexmax();
62  for (int j=cmin;j<=cmax;j++)
63  {
64  d(ii)=1.0;
65  ii++;
66  }
67  }
68  }
69  }
70  }
71 
73  const dvar_vector& x,const int& _ii)
74  {
75  if (allocated(*this))
76  {
77  int& ii=(int&) _ii;
78  dvar_vector& v=(dvar_vector&) _v;
79  int mmin=indexmin();
80  int mmax=indexmax();
81  //double pen=0;
82  for (int i=mmin;i<=mmax;i++)
83  {
84  v(ii)=dfboundp(x(ii),minb,maxb);
85  ii++;
86  }
87  }
88  }
89 
91  const dvar_vector& x,const int& _ii)
92  {
93  if (allocated(*this))
94  {
95  int& ii=(int&) _ii;
96  dvar_vector& d=(dvar_vector&) _d;
97  int mmin=rowmin();
98  int mmax=rowmax();
99  for (int i=mmin;i<=mmax;i++)
100  {
101  if (allocated((*this)(i)))
102  {
103  int cmin=((*this)(i)).indexmin();
104  int cmax=((*this)(i)).indexmax();
105  for (int j=cmin;j<=cmax;j++)
106  {
107  d(ii)=dfboundp(x(ii),minb,maxb);
108  ii++;
109  }
110  }
111  }
112  }
113  }
int rowmax(void) const
Definition: fvar.hpp:2564
#define x
int allocated(const ivector &v)
Author: David Fournier Copyright (c) 2008-2012 Regents of the University of California.
Definition: fvar_a59.cpp:13
ADMB variable vector.
Definition: fvar.hpp:2172
virtual void sd_vscale(const dvar_vector &d, const dvar_vector &x, const int &ii)
Definition: model53.cpp:11
Description not yet available.
int rowmin(void) const
Definition: fvar.hpp:2560
virtual void sd_vscale(const dvar_vector &d, const dvar_vector &x, const int &ii)
Definition: model53.cpp:72
int indexmin() const
Definition: fvar.hpp:2287
virtual void sd_vscale(const dvar_vector &d, const dvar_vector &x, const int &ii)
Definition: model53.cpp:47
dvariable dfboundp(const prevariable &x, double fmin, double fmax)
Computes the derivative of dvariable boundp(const prevariable&amp; x, double fmin, double fmax...
Definition: boundfun.cpp:170
virtual void sd_vscale(const dvar_vector &d, const dvar_vector &x, const int &ii)
Definition: model53.cpp:20
virtual void sd_vscale(const dvar_vector &d, const dvar_vector &x, const int &ii)
Definition: model53.cpp:90
int indexmax() const
Definition: fvar.hpp:2292
virtual void sd_vscale(const dvar_vector &d, const dvar_vector &x, const int &ii)
Definition: model53.cpp:29