FLOPC++
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
flopc::MP_data Class Reference

Input data set.This is one of the main public interface classes. It is normally directly constructed given a set of indices (domain) over which it is valid. If the data is not bound at construction, either the value() or initialize() method must be called which (deep) copies in the actual data. If one wishes to refer to external data instead rather than doing a deep copy, use the constructor which takes the value pointer as an argument. This copies the original data pointer value (rather than a deep copy).
This is used for construction of : More...

#include <MP_data.hpp>

Inheritance diagram for flopc::MP_data:
Inheritance graph
[legend]
Collaboration diagram for flopc::MP_data:
Collaboration graph
[legend]

Public Member Functions

void operator() () const
 
void initialize (double d)
 similar to value() but copies the same value to all entries. More...
 
 MP_data (const MP_set_base &s1=MP_set::getEmpty(), const MP_set_base &s2=MP_set::getEmpty(), const MP_set_base &s3=MP_set::getEmpty(), const MP_set_base &s4=MP_set::getEmpty(), const MP_set_base &s5=MP_set::getEmpty())
 
 MP_data (double *value, const MP_set_base &s1=MP_set::getEmpty(), const MP_set_base &s2=MP_set::getEmpty(), const MP_set_base &s3=MP_set::getEmpty(), const MP_set_base &s4=MP_set::getEmpty(), const MP_set_base &s5=MP_set::getEmpty())
 
 ~MP_data ()
 
void value (const double *d)
 Used to bind and deep copy data into the MP_data data structure. More...
 
 operator double ()
 
double & operator() (int lcli1, int lcli2=0, int lcli3=0, int lcli4=0, int lcli5=0)
 
DataRefoperator() (const MP_index_exp &lcli1=MP_index_exp::getEmpty(), const MP_index_exp &lcli2=MP_index_exp::getEmpty(), const MP_index_exp &lcli3=MP_index_exp::getEmpty(), const MP_index_exp &lcli4=MP_index_exp::getEmpty(), const MP_index_exp &lcli5=MP_index_exp::getEmpty())
 
void display (std::string s="")
 For displaying data in a human readable format. More...
 
- Public Member Functions inherited from flopc::RowMajor
int size () const
 
- Public Member Functions inherited from flopc::Named
std::string getName () const
 
void setName (const std::string &n)
 

Protected Attributes

std::vector< DataRef * > myrefs
 
- Protected Attributes inherited from flopc::RowMajor
int size1
 
int size2
 
int size3
 
int size4
 
int size5
 
int size_
 

Private Member Functions

 MP_data (const MP_data &)
 
MP_dataoperator= (const MP_data &)
 

Private Attributes

MP_index i1
 
MP_index i2
 
MP_index i3
 
MP_index i4
 
MP_index i5
 
const MP_set_baseS1
 
const MP_set_baseS2
 
const MP_set_baseS3
 
const MP_set_baseS4
 
const MP_set_baseS5
 
double * v
 
bool manageData
 

Static Private Attributes

static double outOfBoundData = 0
 

Friends

class MP_variable
 
class DisplayData
 
class DataRef
 
class MP_model
 

Additional Inherited Members

- Protected Member Functions inherited from flopc::RowMajor
 RowMajor (int s1, int s2, int s3, int s4, int s5)
 
int f (int i1=0, int i2=0, int i3=0, int i4=0, int i5=0) const
 
- Protected Member Functions inherited from flopc::Functor
 Functor ()
 
virtual ~Functor ()
 

Detailed Description

Input data set.

This is one of the main public interface classes. It is normally directly constructed given a set of indices (domain) over which it is valid. If the data is not bound at construction, either the value() or initialize() method must be called which (deep) copies in the actual data. If one wishes to refer to external data instead rather than doing a deep copy, use the constructor which takes the value pointer as an argument. This copies the original data pointer value (rather than a deep copy).
This is used for construction of :

Definition at line 71 of file MP_data.hpp.

Constructor & Destructor Documentation

flopc::MP_data::MP_data ( const MP_set_base s1 = MP_set::getEmpty(),
const MP_set_base s2 = MP_set::getEmpty(),
const MP_set_base s3 = MP_set::getEmpty(),
const MP_set_base s4 = MP_set::getEmpty(),
const MP_set_base s5 = MP_set::getEmpty() 
)
inline

Constructs the MP_data object, and allocates space for data, but does not initialize the data.

Definition at line 87 of file MP_data.hpp.

References initialize().

flopc::MP_data::MP_data ( double *  value,
const MP_set_base s1 = MP_set::getEmpty(),
const MP_set_base s2 = MP_set::getEmpty(),
const MP_set_base s3 = MP_set::getEmpty(),
const MP_set_base s4 = MP_set::getEmpty(),
const MP_set_base s5 = MP_set::getEmpty() 
)
inline

Construct the object, and uses the data in the original array (shallow copy)

Definition at line 102 of file MP_data.hpp.

flopc::MP_data::~MP_data ( )
inline
Todo:
determine cause of seg fault.

Definition at line 114 of file MP_data.hpp.

References manageData, and v.

flopc::MP_data::MP_data ( const MP_data )
private

Member Function Documentation

void MP_data::display ( std::string  s = "")

For displaying data in a human readable format.

Definition at line 102 of file MP_data.cpp.

void flopc::MP_data::initialize ( double  d)
inline

similar to value() but copies the same value to all entries.

Definition at line 79 of file MP_data.hpp.

References flopc::RowMajor::size(), and v.

Referenced by flopc::MP_variable::binary(), MP_data(), and flopc::MP_variable::MP_variable().

flopc::MP_data::operator double ( )
inline
Todo:
purpose?

Definition at line 131 of file MP_data.hpp.

References operator()().

void MP_data::operator() ( ) const
virtual

Implements flopc::Functor.

Definition at line 92 of file MP_data.cpp.

References flopc::MP_set::getEmpty().

Referenced by operator double().

double& flopc::MP_data::operator() ( int  lcli1,
int  lcli2 = 0,
int  lcli3 = 0,
int  lcli4 = 0,
int  lcli5 = 0 
)
inline

Looks up the data based on the index values passed in.

Note
this is used internally, but may also be useful for spot checking data or in other expressions.

Definition at line 139 of file MP_data.hpp.

References flopc::MP_set_base::check(), flopc::RowMajor::f(), flopc::outOfBound, outOfBoundData, S1, S2, S3, S4, S5, and v.

DataRef& flopc::MP_data::operator() ( const MP_index_exp lcli1 = MP_index_exp::getEmpty(),
const MP_index_exp lcli2 = MP_index_exp::getEmpty(),
const MP_index_exp lcli3 = MP_index_exp::getEmpty(),
const MP_index_exp lcli4 = MP_index_exp::getEmpty(),
const MP_index_exp lcli5 = MP_index_exp::getEmpty() 
)
inline

returns a DataRef which refers into the MP_data.

Note
For internal use.
Todo:
can this be private?

Definition at line 158 of file MP_data.hpp.

References DataRef, and myrefs.

MP_data& flopc::MP_data::operator= ( const MP_data )
private
void flopc::MP_data::value ( const double *  d)
inline

Used to bind and deep copy data into the MP_data data structure.

Definition at line 124 of file MP_data.hpp.

References flopc::RowMajor::size(), and v.

Friends And Related Function Documentation

friend class DataRef
friend

Definition at line 74 of file MP_data.hpp.

Referenced by operator()(), and flopc::MP_stochastic_data::operator()().

friend class DisplayData
friend

Definition at line 73 of file MP_data.hpp.

friend class MP_model
friend

Definition at line 75 of file MP_data.hpp.

friend class MP_variable
friend

Definition at line 72 of file MP_data.hpp.

Member Data Documentation

MP_index flopc::MP_data::i1
private

Definition at line 180 of file MP_data.hpp.

MP_index flopc::MP_data::i2
private

Definition at line 180 of file MP_data.hpp.

MP_index flopc::MP_data::i3
private

Definition at line 180 of file MP_data.hpp.

MP_index flopc::MP_data::i4
private

Definition at line 180 of file MP_data.hpp.

MP_index flopc::MP_data::i5
private

Definition at line 180 of file MP_data.hpp.

bool flopc::MP_data::manageData
private

Definition at line 183 of file MP_data.hpp.

Referenced by ~MP_data().

std::vector<DataRef*> flopc::MP_data::myrefs
protected

Definition at line 173 of file MP_data.hpp.

Referenced by operator()(), and flopc::MP_stochastic_data::operator()().

double MP_data::outOfBoundData = 0
staticprivate

Definition at line 178 of file MP_data.hpp.

Referenced by operator()().

const MP_set_base& flopc::MP_data::S1
private

Definition at line 181 of file MP_data.hpp.

Referenced by operator()().

const MP_set_base & flopc::MP_data::S2
private

Definition at line 181 of file MP_data.hpp.

Referenced by operator()().

const MP_set_base & flopc::MP_data::S3
private

Definition at line 181 of file MP_data.hpp.

Referenced by operator()().

const MP_set_base & flopc::MP_data::S4
private

Definition at line 181 of file MP_data.hpp.

Referenced by operator()().

const MP_set_base & flopc::MP_data::S5
private

Definition at line 181 of file MP_data.hpp.

Referenced by operator()().

double* flopc::MP_data::v
private

Definition at line 182 of file MP_data.hpp.

Referenced by initialize(), operator()(), value(), and ~MP_data().


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