Dakota  Version 6.15
Explore and Predict with Confidence
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
SharedVariablesDataRep Class Reference

The representation of a SharedVariablesData instance. This representation, or body, may be shared by multiple SharedVariablesData handle instances. More...

Public Member Functions

 ~SharedVariablesDataRep ()
 destructor must be public for shared_ptr
 
template<class Archive >
void save (Archive &ar, const unsigned int version) const
 
template<class Archive >
void load (Archive &ar, const unsigned int version)
 

Private Member Functions

 SharedVariablesDataRep (const ProblemDescDB &problem_db, const std::pair< short, short > &view)
 standard constructor
 
 SharedVariablesDataRep (const std::pair< short, short > &view, const std::map< unsigned short, size_t > &vars_comps, const BitArray &all_relax_di, const BitArray &all_relax_dr)
 medium weight constructor providing detailed variable counts
 
 SharedVariablesDataRep (const std::pair< short, short > &view, const SizetArray &vars_comps_totals, const BitArray &all_relax_di, const BitArray &all_relax_dr)
 lightweight constructor providing variable count totals
 
 SharedVariablesDataRep ()
 default constructor
 
void initialize_components_totals (const ProblemDescDB &problem_db)
 populate variables{Components,CompsTotals} from user variable type and count specifications
 
void components_to_totals ()
 update variablesCompsTotals from variablesComponents
 
void relax_noncategorical (const ProblemDescDB &problem_db)
 populate allRelaxedDiscrete{Int,Real} from user specifications (relax variables that are not declared as categorical)
 
void set_relax (const BitArray &user_cat_spec, size_t ucs_index, size_t ard_cntr, BitArray &ard_container)
 Set the ard_cntr entry in the all-relaxed-discrete integer or real container ard_container, based on user-specification of categorical, accounting for empty.
 
void all_counts (size_t &num_acv, size_t &num_adiv, size_t &num_adsv, size_t &num_adrv) const
 compute all variables sums from variablesCompsTotals
 
void relax_counts (size_t &num_cv, size_t &num_div, size_t &num_drv, size_t offset_di, size_t offset_dr) const
 adjust counts based on allRelaxedDiscrete{Int,Real}
 
void design_counts (size_t &num_cdv, size_t &num_ddiv, size_t &num_ddsv, size_t &num_ddrv) const
 compute design variables sums from variablesCompsTotals
 
void aleatory_uncertain_counts (size_t &num_cauv, size_t &num_dauiv, size_t &num_dausv, size_t &num_daurv) const
 compute aleatory uncertain variables sums from variablesCompsTotals
 
void epistemic_uncertain_counts (size_t &num_ceuv, size_t &num_deuiv, size_t &num_deusv, size_t &num_deurv) const
 compute epistemic uncertain variables sums from variablesCompsTotals
 
void uncertain_counts (size_t &num_cuv, size_t &num_duiv, size_t &num_dusv, size_t &num_durv) const
 compute uncertain variables sums from variablesCompsTotals
 
void state_counts (size_t &num_csv, size_t &num_dsiv, size_t &num_dssv, size_t &num_dsrv) const
 compute state variables sums from variablesCompsTotals
 
void view_start_counts (short view, size_t &cv_start, size_t &div_start, size_t &dsv_start, size_t &drv_start, size_t &num_cv, size_t &num_div, size_t &num_dsv, size_t &num_drv) const
 define start indices and counts for active variables based on view
 
void view_subsets (short view, bool &cdv, bool &ddv, bool &cauv, bool &dauv, bool &ceuv, bool &deuv, bool &csv, bool &dsv) const
 define active variable subsets based on active view
 
void size_all_labels ()
 size all{Continuous,DiscreteInt,DiscreteString,DiscreteReal}Labels, with or without discrete relaxation
 
void size_all_types ()
 size all{Continuous,DiscreteInt,DiscreteString,DiscreteReal}Types, with or without discrete relaxation
 
size_t cv_index_to_all_index (size_t cv_index, bool cdv, bool cauv, bool ceuv, bool csv) const
 convert index within active continuous variables (as identified by bools) to index within aggregated variables (all continous, discrete {int,string,real})
 
size_t div_index_to_all_index (size_t div_index, bool ddv, bool dauv, bool deuv, bool dsv) const
 convert index within active discrete integer variables (as identified by bools) to index within aggregated variables (all continous, discrete {int,string,real})
 
size_t dsv_index_to_all_index (size_t dsv_index, bool ddv, bool dauv, bool deuv, bool dsv) const
 convert index within active discrete string variables (as identified by bools) to index within aggregated variables (all continous, discrete {int,string,real})
 
size_t drv_index_to_all_index (size_t drv_index, bool ddv, bool dauv, bool deuv, bool dsv) const
 convert index within active discrete real variables (as identified by bools) to index within aggregated variables (all continous, discrete {int,string,real})
 
BitArray cv_to_all_mask (bool cdv, bool cauv, bool ceuv, bool csv) const
 create a BitArray indicating the active continuous subset of all {continuous,discrete {int,string,real}} variables
 
BitArray div_to_all_mask (bool ddv, bool dauv, bool deuv, bool dsv) const
 create a BitArray indicating the active discrete int subset of all {continuous,discrete {int,string,real}} variables
 
BitArray dsv_to_all_mask (bool ddv, bool dauv, bool deuv, bool dsv) const
 create a BitArray indicating the active discrete string subset of all {continuous,discrete {int,string,real}} variables
 
BitArray drv_to_all_mask (bool ddv, bool dauv, bool deuv, bool dsv) const
 create a BitArray indicating the active discrete real subset of all {continuous,discrete {int,string,real}} variables
 
void initialize_all_labels (const ProblemDescDB &problem_db)
 aggregate all{Continuous,DiscreteInt,DiscreteString,DiscreteReal}Labels from user specification or defaults
 
void initialize_all_types ()
 initialize all{Continuous,DiscreteInt,DiscreteString,DiscreteReal}Types, with or without discrete relaxation
 
void initialize_all_ids ()
 initialize allContinuousIds (discrete not currently needed), with or without discrete relaxation
 
void initialize_active_start_counts ()
 initialize {c,di,ds,dr}vStart and num{D,DI,DS,DR}V
 
void initialize_inactive_start_counts ()
 initialize i{c,di,ds,dr}vStart and numI{D,DI,DS,DR}V
 
void initialize_active_components ()
 initialize activeVarsCompsTotals given {c,di,dr}vStart and num{C,DI,DR}V
 
void initialize_inactive_components ()
 initialize inactiveVarsCompsTotals given i{c,di,dr}vStart and numI{C,DI,DR}V
 
size_t vc_lookup (unsigned short key) const
 retrieve the count within variablesComponents corresponding to key
 
void copy_rep (SharedVariablesDataRep *svd_rep)
 copy the data from svd_rep to the current representation More...
 
template<class Archive >
void save (Archive &ar, const unsigned int version) const
 serialize the core shared variables data
 
template<class Archive >
void load (Archive &ar, const unsigned int version)
 load the core shared variables data and restore class state
 
 BOOST_SERIALIZATION_SPLIT_MEMBER () String variablesId
 variables identifier string from the input file
 

Private Attributes

std::map< unsigned short, size_t > variablesComponents
 map linking variable types to counts
 
SizetArray variablesCompsTotals
 totals for variable type counts for {continuous,discrete integer,discrete string,discrete real} {design,aleatory uncertain,epistemic uncertain,state}. More...
 
SizetArray activeVarsCompsTotals
 totals for active variable type counts for {continuous,discrete integer,discrete string,discrete real} {design,aleatory uncertain,epistemic uncertain,state}. More...
 
SizetArray inactiveVarsCompsTotals
 totals for inactive variable type counts for {continuous,discrete integer,discrete string,discrete real} {design,aleatory uncertain,epistemic uncertain,state}. More...
 
std::pair< short, short > variablesView
 the variables view pair containing active (first) and inactive (second) view enumerations
 
size_t cvStart
 start index of active continuous variables within allContinuousVars
 
size_t divStart
 start index of active discrete integer variables within allDiscreteIntVars
 
size_t dsvStart
 start index of active discrete string vars within allDiscreteStringVars
 
size_t drvStart
 start index of active discrete real variables within allDiscreteRealVars
 
size_t icvStart
 start index of inactive continuous variables within allContinuousVars
 
size_t idivStart
 start index of inactive discrete integer vars within allDiscreteIntVars
 
size_t idsvStart
 start index of inactive discrete string vars within allDiscreteStringVars
 
size_t idrvStart
 start index of inactive discrete real variables within allDiscreteRealVars
 
size_t numCV
 number of active continuous variables
 
size_t numDIV
 number of active discrete integer variables
 
size_t numDSV
 number of active discrete string variables
 
size_t numDRV
 number of active discrete real variables
 
size_t numICV
 number of inactive continuous variables
 
size_t numIDIV
 number of inactive discrete integer variables
 
size_t numIDSV
 number of inactive discrete string variables
 
size_t numIDRV
 number of inactive discrete real variables
 
StringMultiArray allContinuousLabels
 array of variable labels for all of the continuous variables
 
StringMultiArray allDiscreteIntLabels
 array of variable labels for all of the discrete integer variables
 
StringMultiArray allDiscreteStringLabels
 array of variable labels for all of the discrete string variables
 
StringMultiArray allDiscreteRealLabels
 array of variable labels for all of the discrete real variables
 
UShortMultiArray allContinuousTypes
 array of variable types for all of the continuous variables
 
UShortMultiArray allDiscreteIntTypes
 array of variable types for all of the discrete integer variables
 
UShortMultiArray allDiscreteStringTypes
 array of variable types for all of the discrete string variables
 
UShortMultiArray allDiscreteRealTypes
 array of variable types for all of the discrete real variables
 
SizetMultiArray allContinuousIds
 array of 1-based position identifiers for the all continuous variables array More...
 
SizetMultiArray allDiscreteIntIds
 array of 1-based ids (into total variable set) for discrete int
 
SizetMultiArray allDiscreteStringIds
 array of 1-based ids (into total variable set) for discrete string
 
SizetMultiArray allDiscreteRealIds
 array of 1-based ids (into total variable set) for discrete real
 
BitArray allRelaxedDiscreteInt
 array of booleans to indicate relaxation (promotion from DiscreteInt to Continuous) for all specified discrete int variables Note: container will be empty when not relaxing variables
 
BitArray allRelaxedDiscreteReal
 array of booleans to indicate relaxation (promotion from DiscreteReal to Continuous) for all specified discrete real variables Note: container will be empty when not relaxing variables
 

Friends

class SharedVariablesData
 
class boost::serialization::access
 allow boost access to serialize this class
 

Detailed Description

The representation of a SharedVariablesData instance. This representation, or body, may be shared by multiple SharedVariablesData handle instances.

The SharedVariablesData/SharedVariablesDataRep pairs utilize a handle-body idiom (Coplien, Advanced C++).

Member Function Documentation

void copy_rep ( SharedVariablesDataRep svd_rep)
private

copy the data from svd_rep to the current representation

Deep copies are used when recasting changes the nature of a Variables set.

References SharedVariablesDataRep::activeVarsCompsTotals, SharedVariablesDataRep::allContinuousIds, SharedVariablesDataRep::allContinuousLabels, SharedVariablesDataRep::allContinuousTypes, SharedVariablesDataRep::allDiscreteIntIds, SharedVariablesDataRep::allDiscreteIntLabels, SharedVariablesDataRep::allDiscreteIntTypes, SharedVariablesDataRep::allDiscreteRealIds, SharedVariablesDataRep::allDiscreteRealLabels, SharedVariablesDataRep::allDiscreteRealTypes, SharedVariablesDataRep::allDiscreteStringIds, SharedVariablesDataRep::allDiscreteStringLabels, SharedVariablesDataRep::allDiscreteStringTypes, SharedVariablesDataRep::allRelaxedDiscreteInt, SharedVariablesDataRep::allRelaxedDiscreteReal, SharedVariablesDataRep::cvStart, SharedVariablesDataRep::divStart, SharedVariablesDataRep::drvStart, SharedVariablesDataRep::dsvStart, SharedVariablesDataRep::icvStart, SharedVariablesDataRep::idivStart, SharedVariablesDataRep::idrvStart, SharedVariablesDataRep::idsvStart, SharedVariablesDataRep::inactiveVarsCompsTotals, SharedVariablesDataRep::numCV, SharedVariablesDataRep::numDIV, SharedVariablesDataRep::numDRV, SharedVariablesDataRep::numDSV, SharedVariablesDataRep::numICV, SharedVariablesDataRep::numIDIV, SharedVariablesDataRep::numIDRV, SharedVariablesDataRep::numIDSV, SharedVariablesDataRep::variablesComponents, SharedVariablesDataRep::variablesCompsTotals, and SharedVariablesDataRep::variablesView.

Member Data Documentation

SizetArray variablesCompsTotals
private
SizetArray activeVarsCompsTotals
private

totals for active variable type counts for {continuous,discrete integer,discrete string,discrete real} {design,aleatory uncertain,epistemic uncertain,state}.

This data reflects the variable counts as originally specified and is not altered by relaxation.

Referenced by SharedVariablesDataRep::copy_rep(), and SharedVariablesDataRep::initialize_active_components().

SizetArray inactiveVarsCompsTotals
private

totals for inactive variable type counts for {continuous,discrete integer,discrete string,discrete real} {design,aleatory uncertain,epistemic uncertain,state}.

This data reflects the variable counts as originally specified and is not altered by relaxation.

Referenced by SharedVariablesDataRep::copy_rep(), and SharedVariablesDataRep::initialize_inactive_components().

SizetMultiArray allContinuousIds
private

array of 1-based position identifiers for the all continuous variables array

These identifiers define positions of the all continuous variables array within the total variable sequence. A primary use case is for defining derivative ids (DVV) based on an active subset.

Referenced by SharedVariablesDataRep::copy_rep(), and SharedVariablesDataRep::initialize_all_ids().


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