16#ifndef ADOLC_ADVECTOR_H
17#define ADOLC_ADVECTOR_H
71 size_t loc()
const {
return loc_; }
72 size_t refloc()
const {
return refloc_; }
99 return *
this *= (1.0 / coval);
127 std::vector<adouble> data_;
132 : data_(
currentTape().ensureContiguousLocations_(n)) {}
135 : data_(
currentTape().ensureContiguousLocations_(ad_vec.size())) {
140 advector(
const std::vector<adouble> &v) : data_(v) {};
144 operator const std::vector<adouble> &()
const {
return data_; }
145 operator std::vector<adouble> &() {
return data_; }
153 size_t size()
const {
return data_.size(); }
#define ADOLC_API
Definition adolcexport.h:16
void ADOLC_API adolc_vec_copy(adouble *const dest, const adouble *const src, size_t size)
void ADOLC_API condassign(adubref &res, const adouble &cond, const adouble &arg1, const adouble &arg2)
void ADOLC_API condeqassign(adubref &res, const adouble &cond, const adouble &arg1, const adouble &arg2)
double get_ad_value(size_t loc) const
Definition valuetape.h:534
void set_ad_value(size_t loc, double coval)
Definition valuetape.h:535
Taped active scalar for reusable forward and reverse differentiation.
Definition adtb_types.h:211
Proxy for an active vector element selected by an active index.
Definition advector.h:39
void refloc_value(const double coval)
Definition advector.h:75
adubref & operator/=(const pdouble &p)
Definition advector.h:102
size_t loc() const
Definition advector.h:71
size_t refloc() const
Definition advector.h:72
adubref & operator-=(const pdouble &p)
Definition advector.h:92
void declareIndependent()
adubref & operator=(const pdouble &p)
Definition advector.h:69
adubref(const adubref &)=delete
adubref(size_t lo, size_t ref)
adubref & operator=(const adouble &a)
adubref & operator<<=(const double coval)
adubref & operator/=(const double coval)
Definition advector.h:98
adubref & operator+=(const double coval)
adubref & operator*=(const pdouble &p)
Definition advector.h:96
adubref(adubref &&)=delete
adubref & operator+=(const adouble &a)
double loc_value() const
Definition advector.h:74
adubref(const adouble &)=delete
adubref & operator*=(const double coval)
adubref(adouble &&)=delete
adubref & operator-=(const double coval)
adubref & operator*=(const adouble &a)
double refloc_value() const
Definition advector.h:73
adubref & operator>>=(double &coval)
adubref & operator+=(const pdouble &p)
Definition advector.h:88
adubref & operator-=(const adouble &a)
adubref & operator=(const double coval)
adubref & operator/=(const adouble &a)
Definition advector.h:101
Contiguous vector of taped active values with active indexing.
Definition advector.h:126
const adouble & operator[](size_t i) const
Definition advector.h:150
advector(const advector &ad_vec)
Definition advector.h:134
advector(const std::vector< adouble > &v)
Definition advector.h:140
size_t size() const
Definition advector.h:153
adubref operator[](const adouble &index)
adouble operator[](const adouble &index) const
bool nondecreasing() const
adouble & operator[](size_t i)
Definition advector.h:149
~advector()
Definition advector.h:142
advector(size_t n)
Definition advector.h:131
adouble lookupindex(const adouble &a, const adouble &b) const
Mutable passive parameter stored on a recorded tape.
Definition adtb_types.h:431
ValueTape & currentTape()
Returns a reference to the current ValueTape.
Definition taperegistry.h:113