mrgsolve
Loading...
Searching...
No Matches
dataobject Class Reference

#include <dataobject.h>

Public Member Functions

 dataobject (Rcpp::NumericMatrix _data, Rcpp::CharacterVector _parnames)
 constructor
 dataobject (Rcpp::NumericMatrix _data, Rcpp::CharacterVector _parnames, Rcpp::CharacterVector _initnames)
 constructor
 ~dataobject ()
unsigned int nrow () const
unsigned int ncol () const
unsigned int nid () const
unsigned int idcol () const
int start (int i) const
int end (int i) const
int inrow (int i)
void increment_inrow (int i)
void increment_inrow (int i, int n)
void decrement_inrow (int i)
void map_uid ()
double get_uid (int i) const
uidtype return_uid ()
void copy_parameters (int this_row, odeproblem *prob)
void copy_parameters_nocb (int id_n, const rec_ptr &this_rec, odeproblem *prob)
void next_id (int id_n)
void copy_inits (int this_row, odeproblem *prob)
void reload_parameters (const Rcpp::NumericVector &param, odeproblem *prob)
void idata_row ()
unsigned int get_idata_row (const double ID)
void locate_tran ()
void get_records (recstack &a, int NID, int neq, unsigned int &obscount, unsigned int &evcount, bool obsonly, bool debug)
void get_records_pred (recstack &a, int NID, int neq, unsigned int &obscount, unsigned int &evcount, bool obsonly, bool debug)
void check_idcol (dataobject &data)
double get_value (const int row, const int col) const
double get_id_value (const int row) const
Rcpp::IntegerVector get_col_n (const Rcpp::CharacterVector &what)
void carry_out (const recstack &a, Rcpp::NumericMatrix &ans, dataobject &idat, const Rcpp::IntegerVector &data_carry, const unsigned int data_carry_start, const Rcpp::IntegerVector &idata_carry, const unsigned int idata_carry_start, const bool nocb)
arma::mat get_etas (const int n, const bool strict, const std::string &value)

Public Attributes

Rcpp::NumericMatrix Data
std::vector< unsigned int > col
Rcpp::CharacterVector Data_names
std::deque< double > Uid
 unique IDs in the data set
std::deque< int > Startrow
 start row for each ID
std::deque< int > Endrow
 data set end row for each ID
std::vector< int > Nrow
 output data row count for each ID
int Idcol
 which column holds ID
std::map< double, int > idmap
 map to get
std::vector< int > par_from
 index for parameters in data set
std::vector< int > par_to
 index for parameters in param list
Rcpp::CharacterVector parnames
 names of model parameters
std::vector< int > cmt_from
 index for compartments in data set
std::vector< int > cmt_to
 index for compartments in init list
Rcpp::CharacterVector cmtnames
 names of model compartments
bool any_copy
 are there any parameter columns for copy / update?
bool done_copying
 have we reached the last data record for this ID?
int next_copy_row
 tracking current actual data row
int last_copy_row
 tracking previous actual data row

Constructor & Destructor Documentation

◆ dataobject() [1/2]

dataobject::dataobject ( Rcpp::NumericMatrix _data,
Rcpp::CharacterVector _parnames )

constructor

◆ dataobject() [2/2]

dataobject::dataobject ( Rcpp::NumericMatrix _data,
Rcpp::CharacterVector _parnames,
Rcpp::CharacterVector _initnames )

constructor

◆ ~dataobject()

dataobject::~dataobject ( )

Member Function Documentation

◆ carry_out()

void dataobject::carry_out ( const recstack & a,
Rcpp::NumericMatrix & ans,
dataobject & idat,
const Rcpp::IntegerVector & data_carry,
const unsigned int data_carry_start,
const Rcpp::IntegerVector & idata_carry,
const unsigned int idata_carry_start,
const bool nocb )

◆ check_idcol()

void dataobject::check_idcol ( dataobject & data)

◆ copy_inits()

void dataobject::copy_inits ( int this_row,
odeproblem * prob )

◆ copy_parameters()

void dataobject::copy_parameters ( int this_row,
odeproblem * prob )

◆ copy_parameters_nocb()

void dataobject::copy_parameters_nocb ( int id_n,
const rec_ptr & this_rec,
odeproblem * prob )

Copies parameters from the data set under nocb

Parameters
id_nThe current ID number (zero to nid-1)
from_dataIs the record actually in the data or not
this_rowThe data set record position (rec->pos())
odeproblemThe problem object
  • done_copying, next_copy_row, and last_copy_row are initialized for each id
  • If the record is from the data set, we copy the parameters from that row, then do some bookkeeping to figure out if we are done copying or to get the number of the next row to copy when we're advancing away from a data set record and toward a non-dataset record
  • The next_copy_row comparison against last_copy_row make sure that when we're processing the first inserted record after a data set record, we copy the next data set row just once; this is nocb behavior

◆ decrement_inrow()

void dataobject::decrement_inrow ( int i)
inline

◆ end()

int dataobject::end ( int i) const
inline

◆ get_col_n()

Rcpp::IntegerVector dataobject::get_col_n ( const Rcpp::CharacterVector & what)

◆ get_etas()

arma::mat dataobject::get_etas ( const int n,
const bool strict,
const std::string & value )

◆ get_id_value()

double dataobject::get_id_value ( const int row) const
inline

◆ get_idata_row()

unsigned int dataobject::get_idata_row ( const double ID)

◆ get_records()

void dataobject::get_records ( recstack & a,
int NID,
int neq,
unsigned int & obscount,
unsigned int & evcount,
bool obsonly,
bool debug )

◆ get_records_pred()

void dataobject::get_records_pred ( recstack & a,
int NID,
int neq,
unsigned int & obscount,
unsigned int & evcount,
bool obsonly,
bool debug )

◆ get_uid()

double dataobject::get_uid ( int i) const
inline

◆ get_value()

double dataobject::get_value ( const int row,
const int col ) const
inline

◆ idata_row()

void dataobject::idata_row ( )

◆ idcol()

unsigned int dataobject::idcol ( ) const
inline

◆ increment_inrow() [1/2]

void dataobject::increment_inrow ( int i)
inline

◆ increment_inrow() [2/2]

void dataobject::increment_inrow ( int i,
int n )
inline

◆ inrow()

int dataobject::inrow ( int i)
inline

◆ locate_tran()

void dataobject::locate_tran ( )

◆ map_uid()

void dataobject::map_uid ( )

◆ ncol()

unsigned int dataobject::ncol ( ) const
inline

◆ next_id()

void dataobject::next_id ( int id_n)

◆ nid()

unsigned int dataobject::nid ( ) const
inline

◆ nrow()

unsigned int dataobject::nrow ( ) const
inline

◆ reload_parameters()

void dataobject::reload_parameters ( const Rcpp::NumericVector & param,
odeproblem * prob )

◆ return_uid()

uidtype dataobject::return_uid ( )
inline

◆ start()

int dataobject::start ( int i) const
inline

Member Data Documentation

◆ any_copy

bool dataobject::any_copy

are there any parameter columns for copy / update?

◆ cmt_from

std::vector<int> dataobject::cmt_from

index for compartments in data set

◆ cmt_to

std::vector<int> dataobject::cmt_to

index for compartments in init list

◆ cmtnames

Rcpp::CharacterVector dataobject::cmtnames

names of model compartments

◆ col

std::vector<unsigned int> dataobject::col

◆ Data

Rcpp::NumericMatrix dataobject::Data

◆ Data_names

Rcpp::CharacterVector dataobject::Data_names

◆ done_copying

bool dataobject::done_copying

have we reached the last data record for this ID?

◆ Endrow

std::deque<int> dataobject::Endrow

data set end row for each ID

◆ Idcol

int dataobject::Idcol

which column holds ID

◆ idmap

std::map<double,int> dataobject::idmap

map to get

◆ last_copy_row

int dataobject::last_copy_row

tracking previous actual data row

◆ next_copy_row

int dataobject::next_copy_row

tracking current actual data row

◆ Nrow

std::vector<int> dataobject::Nrow

output data row count for each ID

◆ par_from

std::vector<int> dataobject::par_from

index for parameters in data set

◆ par_to

std::vector<int> dataobject::par_to

index for parameters in param list

◆ parnames

Rcpp::CharacterVector dataobject::parnames

names of model parameters

◆ Startrow

std::deque<int> dataobject::Startrow

start row for each ID

◆ Uid

std::deque<double> dataobject::Uid

unique IDs in the data set


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