ADMB Documentation  -a65f1c97
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fvar_a43.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  */
11 #include "fvar.hpp"
12 
13  void DF_cdble_dv_div(void);
14 
19 dvar_vector operator/(const double x, const dvar_vector& t1)
20  {
24 
25  dvar_vector tmp(t1.indexmin(),t1.indexmax());
26  save_identifier_string("cffb");
27  fp->save_double_value(x);
28  for (int i=t1.indexmin(); i<=t1.indexmax(); i++)
29  {
30  tmp.elem_value(i)=x/t1.elem_value(i);
31  }
32  fp->save_dvar_vector_value(t1);
35  save_identifier_string("dffa");
38  return(tmp);
39  }
40 
45  void DF_cdble_dv_div(void)
46  {
48 
53  double x=fp->restore_double_value();
55  dvector dft1(t1_pos.indexmin(),t1_pos.indexmax());
57  for (int i=t1_pos.indexmax(); i>=t1_pos.indexmin(); i--)
58  {
59  //tmp.elem_value(i)=value(x)/t1.elem_value(i);
60  double t1inv=1./t1.elem(i);
61  dft1(i)=-dftmp(i)*x*t1inv*t1inv;
62  }
63  dft1.save_dvector_derivatives(t1_pos);
64  }
double & elem(int i)
Definition: dvector.h:152
double & elem_value(int i)
Definition: fvar.hpp:2226
#define x
Vector of double precision numbers.
Definition: dvector.h:50
void save_dvector_derivatives(const dvar_vector_position &pos) const
Puts the derivative values in a dvector into a dvar_vector&#39;s guts.
Definition: cmpdif5.cpp:212
Description not yet available.
Definition: fvar.hpp:4814
int indexmin() const
Definition: fvar.hpp:4827
ADMB variable vector.
Definition: fvar.hpp:2172
void verify_identifier_string(const char *)
Verifies gradient stack string.
Definition: cmpdif3.cpp:149
void set_gradient_stack(void(*func)(void), double *dep_addr, double *ind_addr1=NULL, double mult1=0, double *ind_addr2=NULL, double mult2=0)
Description not yet available.
Definition: fvar.hpp:1045
int indexmax() const
Definition: fvar.hpp:4831
void save_dvar_vector_value(const dvar_vector &v)
Definition: cmpdif4.cpp:106
dvar_vector_position restore_dvar_vector_position()
Definition: cmpdif4.cpp:69
void RETURN_ARRAYS_INCREMENT()
Definition: gradstrc.cpp:478
Author: David Fournier Copyright (c) 2008-2012 Regents of the University of California.
double restore_double_value()
Definition: cmpdif8.cpp:186
static _THREAD gradient_structure * _instance
int save_identifier_string(const char *)
Writes a gradient stack verification string.
Definition: cmpdif2.cpp:315
dvector restore_dvar_vector_value(const dvar_vector_position &tmp)
Restores the size, address, and value information for a dvar_vector.
Definition: cmpdif4.cpp:227
int indexmin() const
Definition: fvar.hpp:2287
void save_dvar_vector_position(const dvar_vector &v)
Definition: cmpdif3.cpp:214
static _THREAD DF_FILE * fp
void DF_cdble_dv_div(void)
Description not yet available.
Definition: fvar_a43.cpp:45
Stores the adjoint gradient data that will be processed by gradcalc.
dvector restore_dvar_vector_derivatives(const dvar_vector_position &tmp)
Description not yet available.
Definition: cmpdif5.cpp:150
void RETURN_ARRAYS_DECREMENT()
Definition: gradstrc.cpp:511
d3_array operator/(const d3_array &m, const double d)
Author: David Fournier.
Definition: d3arr2b.cpp:14
void save_double_value(double x)
Definition: cmpdif8.cpp:94
static _THREAD grad_stack * GRAD_STACK1
class for things related to the gradient structures, including dimension of arrays, size of buffers, etc.
int indexmax() const
Definition: fvar.hpp:2292