escript  Revision_
Functions
DataC.cpp File Reference
#include "DataC.h"
#include "Data.h"
#include "DataTypes.h"

Functions

int getFunctionSpaceType (struct escriptDataC *data)
 Return the function space type code.
int isDataPointShapeEqual (struct escriptDataC *data, int rank, const int *dimensions)
 Return true if the input shape matches the data point shape for data.
int getNumDataPointsPerSample (struct escriptDataC *data)
 Returns the number of data points per sample.
int numSamplesEqual (struct escriptDataC *data, int numDataPointsPerSample, int numSamples)
 Return true if the number of data points per sample and the number of samples equal the input values. In the case that data is empty or NULL, true is returned.
int getDataPointRank (struct escriptDataC *data)
 Returns the rank of the point data for the data.
int getDataPointShape (struct escriptDataC *data, int i)
 Returns the value of the i-th component of the shape of the point data.
int getDataPointSize (struct escriptDataC *data)
 Return the number of doubles needed for each data point.
int getLength (struct escriptDataC *data)
int isExpanded (struct escriptDataC *data)
 Return true if data can be treated as expanded.
int isEmpty (escriptDataC *data)
 Returns the true if the data are empty or data is NULL.
double const * getSampleDataRO (struct escriptDataC *data, int sampleNo)
 Return a pointer to the data for the given sample number. if data is empty NULL is returned. data may be NULL, in which case NULL is returnd.
double * getSampleDataRW (struct escriptDataC *data, int sampleNo)
const double * getSampleDataROFast (struct escriptDataC *data, int sampleNo)
 Return a pointer to the data for the given sample number. Fast version of getSampledataRO: does no error checking.
double * getSampleDataRWFast (struct escriptDataC *data, int sampleNo)
 Return a pointer to the data for the given sample number. Fast version of getSampledataRW: does no error checking.
double * getDataRW (escriptDataC *data)
 Return getSampleDataRWFast(escriptDataC* data, 0) if there are samples. if not, returns NULL.
void requireWrite (escriptDataC *data)
 Ensure that this object is ready for writing. It will be resolved and copied if it is currently shared. Use only in single threaded sections of code. Do not create new Data objects based on this one between this call and writing to the object.

Function Documentation

int getDataPointRank ( escriptDataC *  data)

Returns the rank of the point data for the data.

Parameters:
dataInput - C wrapper for Data.

References escript::Data::getDataPointRank(), and escriptDataC::m_dataPtr.

Referenced by escript::saveDataCSV().

int getDataPointShape ( escriptDataC *  data,
int  i 
)

Returns the value of the i-th component of the shape of the point data.

Parameters:
dataInput - C wrapper for Data.
iInput - index of shape component.

References escript::Data::getDataPointRank(), escript::Data::getDataPointShape(), and escriptDataC::m_dataPtr.

Referenced by escript::saveDataCSV().

int getDataPointSize ( escriptDataC *  data)
double* getDataRW ( escriptDataC *  data)

Return getSampleDataRWFast(escriptDataC* data, 0) if there are samples. if not, returns NULL.

Warning:
This function calls requireWrite if there are samples so do not use in parallel sections.
Please do not use this in new code.
Parameters:
dataInput - C wrapper for Data.

References escript::Data::getNumSamples(), getSampleDataRWFast(), escriptDataC::m_dataPtr, and requireWrite().

Referenced by Dudley_Assemble_CopyNodalData().

int getLength ( struct escriptDataC *  data)

Returns the number of data points per sample.

Parameters:
dataInput - C wrapper for Data.

References escript::Data::getNumDataPointsPerSample(), escript::Data::isEmpty(), and escriptDataC::m_dataPtr.

Referenced by escript::Data::lazyAlgWorker().

double const* getSampleDataRO ( escriptDataC *  data,
int  sampleNo 
)
const double* getSampleDataROFast ( escriptDataC *  data,
int  sampleNo 
)

Return a pointer to the data for the given sample number. Fast version of getSampledataRO: does no error checking.

Parameters:
dataInput - C wrapper for Data.
sampleNoInput - The sample number.

References escript::Data::getSampleDataRO(), and escriptDataC::m_dataPtr.

Referenced by Dudley_Assemble_CopyNodalData(), and Dudley_NodeFile_setCoordinates().

double* getSampleDataRW ( struct escriptDataC *  data,
int  sampleNo 
)
double* getSampleDataRWFast ( escriptDataC *  data,
int  sampleNo 
)

Return a pointer to the data for the given sample number. Fast version of getSampledataRW: does no error checking.

Parameters:
dataInput - C wrapper for Data.
sampleNoInput - The sample number.

References escript::Data::getSampleDataRW(), and escriptDataC::m_dataPtr.

Referenced by Dudley_Assemble_CopyNodalData(), Dudley_Assemble_NodeCoordinates(), and getDataRW().

int isDataPointShapeEqual ( escriptDataC *  data,
int  rank,
const int *  dimensions 
)

Return true if the input shape matches the data point shape for data.

Parameters:
dataInput - C wrapper for Data.
rankInput - number of dimensions.
dimensionsInput -

References escript::Data::isDataPointShapeEqual(), and escriptDataC::m_dataPtr.

Referenced by ripley::Brick::assembleCoordinates(), ripley::Rectangle::assembleCoordinates(), Dudley_Assemble_getSize(), Dudley_Assemble_LumpedSystem(), Dudley_Assemble_NodeCoordinates(), Dudley_Assemble_PDE(), and Dudley_Assemble_setNormal().

int isEmpty ( escriptDataC *  data)
int isExpanded ( escriptDataC *  data)
int numSamplesEqual ( escriptDataC *  data,
int  numDataPointsPerSample,
int  numSamples 
)
void requireWrite ( escriptDataC *  data)