dvector Class Reference

Fundamental container class for a vector of double precision floating point numbers. More...

#include <fvar.hpp>

Inheritance diagram for dvector:

Inheritance graph
[legend]
Collaboration diagram for dvector:

Collaboration graph
[legend]

List of all members.

Public Member Functions

dvector operator- ()
int operator! (void) const
int allocated (void) const
dvectoroperator-- (void)
dvectoroperator++ (void)
void reallocate (double size)
dvector sub (int lb, int ub)
dvector operator() (int lb, int ub)
 dvector (const predvector &pd)
void fill_randpoisson (double lambda, const random_number_generator &rng)
void fill_randnegbinomial (double lambda, double tau, const random_number_generator &rng)
void shallow_copy (const dvector &)
void allocate (int ncl, int ncu)
void allocate (const dvector &dv)
void allocatec (const dvector &dv)
void allocate (const dvar_vector &)
void allocate (const char *)
void allocate (void)
void deallocate (void)
void safe_deallocate (void)
void safe_allocate (int, int)
const double * address () const
double *& get_v (void)
double & elem (int i)
double * initpointer (void)
const double * initpointer (void) const
double * get_v (void) const
const double & elem (int i) const
void fill (const char *s)
void fill_randu_ni (long int &n)
void fill_randn_ni (long int &n)
void fill_randbi_ni (long int &n, double)
void fill_randu (long int &n)
void fill_randn (long int &n)
void fill_randbi (long int &n, double)
void fill_randbi (double p, const random_number_generator &rng)
void fill_randu (const random_number_generator &rng)
void fill_randn (const random_number_generator &rng)
void fill_randcau (const random_number_generator &rng)
void fill_seqadd (double, double)
void fill_multinomial (const int &seed, const dvector &p)
void fill_multinomial (const random_number_generator &rng, const dvector &p)
void initialize (void)
int & testmin ()
int & testmax ()
int indexmin () const
int indexmax () const
int size () const
dvectorshift (int min)
 dvector (const dvar_vector_position &dvp, const kkludge_object &)
 dvector (const ad_integer &, const index_type &)
void allocate (const ad_integer &, const index_type &)
 dvector (void)
 Null constructor.
 dvector (const dvector &)
 Copy constructor.
 dvector (const ivector &)
 dvector (const lvector &)
 dvector (const char *)
 dvector (int ncl, int ncu)
 Basic constructor with subscript bounds.
 dvector (unsigned int sz, double *x)
 dvector (char *filename, const int &column)
 ~dvector ()
void save_dvector_position (void) const
void save_dvector_derivatives (const dvar_vector_position &pos) const
void save_dvector_derivatives_na (const dvar_vector_position &pos) const
void save_dvector_derivatives (void) const
void save_dvector_value (void) const
dvector operator() (const lvector &)
dvector operator() (const ivector &u)
dvectoroperator+= (const dvector &v1)
dvectoroperator-= (const dvector &v1)
dvectoroperator+= (double v1)
dvectoroperator/= (double v1)
dvectoroperator*= (double v1)
dvectoroperator-= (double v1)
void read_from (const uistream &)
void write_on (const ostream &) const
void write_on (const uostream &) const
void read_from (const istream &)
double & operator[] (int i)
double & operator() (int i)
const double & operator[] (int i) const
const double & operator() (int i) const
dvectoroperator= (const dvector &t)
dvectoroperator= (double x)

Protected Attributes

double * v
int index_min
int index_max
vector_shapexshape

Friends

class banded_symmetric_dvar_matrix
class banded_lower_triangular_dvar_matrix
class banded_symmetric_dmatrix
class banded_lower_triangular_dmatrix
class sdmatrix
class dvar_vector
class dmatrix
class d3_array
double norm (const dvector &)
double norm2 (const dvector &)
char * fform (const char *, const dvector &)
double operator* (const dvector &, const dvector &)
dvariable operator* (const dvector &, const dvar_vector &)
dvariable operator* (const dvar_vector &, const dvector &)
dvar_vector operator* (const prevariable &, const dvector &)
dvector operator* (double, const dvector &)
dvector operator+ (const dvector &, const dvector &)
dvector elem_prod (const dvector &, const dvector &)
dvector first_difference (const dvector &)
dvector second_difference (const dvector &)
dvector elem_div (const dvector &, const dvector &)
dvar_vector elem_prod (const dvector &, const dvar_vector &)
dvar_vector elem_div (const dvector &, const dvar_vector &)
dvar_vector elem_prod (const dvar_vector &, const dvector &)
dvar_vector elem_div (const dvar_vector &, const dvector &)
dvar_vector operator+ (const dvar_vector &, const dvector &)
dvar_vector operator+ (const dvector &, const dvar_vector &)
dvector operator- (const dvector &, const dvector &)
dvar_vector operator- (const dvar_vector &, const dvector &)
dvar_vector operator- (const dvector &, const dvar_vector &)
dvector operator* (const dvector &x, const dmatrix &m)
dvector operator* (const dmatrix &x, const dvector &m)
dvar_vector operator* (const dvector &x, const dvar_matrix &m)
dvar_vector operator* (const dvar_matrix &x, const dvector &m)
dvector exp (const dvector &)
dvector log (const dvector &)
dvector fabs (const dvector &)
double max (const dvector &)
double min (const dvector &)


Detailed Description

Fundamental container class for a vector of double precision floating point numbers.

Supports most vector and matrix operations and optional subscript range checking.


Constructor & Destructor Documentation

dvector::dvector ( const predvector pd  ) 

dvector::dvector ( const dvar_vector_position dvp,
const kkludge_object  
)

dvector::dvector ( const ad_integer ,
const index_type  
)

dvector::dvector ( void   ) 

Null constructor.

Creates the pointers and internal structures for an instance of class dvector, but does NOT allocate memory. All pointers are set to NULL. This constructor is invoked by the compiler when including intances of class dvector in more complex classes and structs. In such cases, the allocate member function must be called by the constuctors of the enclosing class.

dvector::dvector ( const dvector  ) 

Copy constructor.

This constructor make a "shallow" copy. Values of existing pointers are copied. No memory is allocated. If a new object is required the assignment operator should be used. Invoked by the compiler when calling a function containing an argument of class dvector passed by value.

dvector::dvector ( const ivector  ) 

dvector::dvector ( const lvector  ) 

dvector::dvector ( const char *   ) 

dvector::dvector ( int  ncl,
int  ncu 
)

Basic constructor with subscript bounds.

Creates a vector of double precision floating point numbers with a specified valid range of subscripts.

Parameters:
ncl Lowest valid subscript.
ncu Highest valid subscript.

dvector::dvector ( unsigned int  sz,
double *  x 
)

dvector::dvector ( char *  filename,
const int &  column 
)

dvector::~dvector (  ) 


Member Function Documentation

dvector dvector::operator- (  ) 

int dvector::operator! ( void   )  const [inline]

int dvector::allocated ( void   )  const [inline]

dvector& dvector::operator-- ( void   )  [inline]

dvector& dvector::operator++ ( void   )  [inline]

void dvector::reallocate ( double  size  ) 

dvector dvector::sub ( int  lb,
int  ub 
) [inline]

dvector dvector::operator() ( int  lb,
int  ub 
) [inline]

void dvector::fill_randpoisson ( double  lambda,
const random_number_generator rng 
)

void dvector::fill_randnegbinomial ( double  lambda,
double  tau,
const random_number_generator rng 
)

void dvector::shallow_copy ( const dvector  ) 

void dvector::allocate ( int  ncl,
int  ncu 
)

void dvector::allocate ( const dvector dv  ) 

void dvector::allocatec ( const dvector dv  ) 

void dvector::allocate ( const dvar_vector  ) 

void dvector::allocate ( const char *   ) 

void dvector::allocate ( void   ) 

void dvector::deallocate ( void   ) 

void dvector::safe_deallocate ( void   ) 

void dvector::safe_allocate ( int  ,
int   
)

const double* dvector::address (  )  const [inline]

double*& dvector::get_v ( void   )  [inline]

double& dvector::elem ( int  i  )  [inline]

double* dvector::initpointer ( void   )  [inline]

const double* dvector::initpointer ( void   )  const [inline]

double* dvector::get_v ( void   )  const [inline]

const double& dvector::elem ( int  i  )  const [inline]

void dvector::fill ( const char *  s  ) 

void dvector::fill_randu_ni ( long int &  n  ) 

void dvector::fill_randn_ni ( long int &  n  ) 

void dvector::fill_randbi_ni ( long int &  n,
double   
)

void dvector::fill_randu ( long int &  n  ) 

void dvector::fill_randn ( long int &  n  ) 

void dvector::fill_randbi ( long int &  n,
double   
)

void dvector::fill_randbi ( double  p,
const random_number_generator rng 
)

void dvector::fill_randu ( const random_number_generator rng  ) 

void dvector::fill_randn ( const random_number_generator rng  ) 

void dvector::fill_randcau ( const random_number_generator rng  ) 

void dvector::fill_seqadd ( double  ,
double   
)

void dvector::fill_multinomial ( const int &  seed,
const dvector p 
)

void dvector::fill_multinomial ( const random_number_generator rng,
const dvector p 
)

void dvector::initialize ( void   ) 

int& dvector::testmin (  )  [inline]

int& dvector::testmax (  )  [inline]

int dvector::indexmin ( void   )  const [inline]

Reimplemented in dvector_index.

Referenced by dvector_index::indexmin().

int dvector::indexmax ( void   )  const [inline]

Reimplemented in dvector_index.

Referenced by dvector_index::indexmax().

int dvector::size (  )  const [inline]

dvector& dvector::shift ( int  min  ) 

void dvector::allocate ( const ad_integer ,
const index_type  
)

void dvector::save_dvector_position ( void   )  const

void dvector::save_dvector_derivatives ( const dvar_vector_position pos  )  const

void dvector::save_dvector_derivatives_na ( const dvar_vector_position pos  )  const

void dvector::save_dvector_derivatives ( void   )  const

void dvector::save_dvector_value ( void   )  const

dvector dvector::operator() ( const lvector  ) 

dvector dvector::operator() ( const ivector u  ) 

dvector& dvector::operator+= ( const dvector v1  ) 

dvector& dvector::operator-= ( const dvector v1  ) 

dvector& dvector::operator+= ( double  v1  ) 

dvector& dvector::operator/= ( double  v1  ) 

dvector& dvector::operator*= ( double  v1  ) 

dvector& dvector::operator-= ( double  v1  ) 

void dvector::read_from ( const uistream  ) 

void dvector::write_on ( const ostream &   )  const

void dvector::write_on ( const uostream  )  const

void dvector::read_from ( const istream &   ) 

double& dvector::operator[] ( int  i  ) 

Reimplemented in dvector_index.

double& dvector::operator() ( int  i  ) 

const double& dvector::operator[] ( int  i  )  const

const double& dvector::operator() ( int  i  )  const

dvector& dvector::operator= ( const dvector t  ) 

Reimplemented in independent_variables.

dvector& dvector::operator= ( double  x  ) 


Friends And Related Function Documentation

friend class banded_symmetric_dvar_matrix [friend]

friend class banded_lower_triangular_dvar_matrix [friend]

friend class banded_symmetric_dmatrix [friend]

friend class banded_lower_triangular_dmatrix [friend]

friend class sdmatrix [friend]

friend class dvar_vector [friend]

friend class dmatrix [friend]

friend class d3_array [friend]

double norm ( const dvector  )  [friend]

double norm2 ( const dvector  )  [friend]

char* fform ( const char *  ,
const dvector  
) [friend]

double operator* ( const dvector ,
const dvector  
) [friend]

dvariable operator* ( const dvector ,
const dvar_vector  
) [friend]

dvariable operator* ( const dvar_vector ,
const dvector  
) [friend]

dvar_vector operator* ( const prevariable ,
const dvector  
) [friend]

dvector operator* ( double  ,
const dvector  
) [friend]

dvector operator+ ( const dvector ,
const dvector  
) [friend]

dvector elem_prod ( const dvector ,
const dvector  
) [friend]

dvector first_difference ( const dvector  )  [friend]

dvector second_difference ( const dvector  )  [friend]

dvector elem_div ( const dvector ,
const dvector  
) [friend]

dvar_vector elem_prod ( const dvector ,
const dvar_vector  
) [friend]

dvar_vector elem_div ( const dvector ,
const dvar_vector  
) [friend]

dvar_vector elem_prod ( const dvar_vector ,
const dvector  
) [friend]

dvar_vector elem_div ( const dvar_vector ,
const dvector  
) [friend]

dvar_vector operator+ ( const dvar_vector ,
const dvector  
) [friend]

dvar_vector operator+ ( const dvector ,
const dvar_vector  
) [friend]

dvector operator- ( const dvector ,
const dvector  
) [friend]

dvar_vector operator- ( const dvar_vector ,
const dvector  
) [friend]

dvar_vector operator- ( const dvector ,
const dvar_vector  
) [friend]

dvector operator* ( const dvector x,
const dmatrix m 
) [friend]

dvector operator* ( const dmatrix x,
const dvector m 
) [friend]

dvar_vector operator* ( const dvector x,
const dvar_matrix m 
) [friend]

dvar_vector operator* ( const dvar_matrix x,
const dvector m 
) [friend]

dvector exp ( const dvector  )  [friend]

dvector log ( const dvector  )  [friend]

dvector fabs ( const dvector  )  [friend]

double max ( const dvector  )  [friend]

double min ( const dvector  )  [friend]


Member Data Documentation

double* dvector::v [protected]

int dvector::index_min [protected]

int dvector::index_max [protected]


The documentation for this class was generated from the following file:

Generated on Tue Aug 26 14:50:53 2008 for AUTODIF Library by  doxygen 1.5.6