41 #if defined __cplusplus
48 static int toData( statusMessageReporting *smr, xDataType *xDT, xData_attributionList *attributes,
const char *text );
49 static char *
toString( statusMessageReporting *smr, xDataType *xDT );
50 static int release( statusMessageReporting *smr, xDataType *xDT );
56 xDataType *xDT = &(element->xDataTypeInfo);
58 xDT->status = xData_xDataType_Ok;
59 xDT->typeString = xData_twod_xy_ID;
60 xDT->element = element;
70 int xData_is_2d_xy( statusMessageReporting *smr, xDataType *xDT,
int setMsg ) {
79 return(
xData_is_2d_xy( smr, &(element->xDataTypeInfo), setMsg ) );
87 xDataType *xDT = &(element->xDataTypeInfo);
91 *length = xDT->length;
93 if( ( data = (
double*)xData_malloc2( smr, 2 * xDT->length *
sizeof(
double ), 0,
"data" ) ) ) {
94 for( i = 0; i < 2 * xDT->length; i++ ) data[i] = ((
double *) xDT->data)[i];
110 static int toData( statusMessageReporting *smr, xDataType *xDT, xData_attributionList *,
const char *text ) {
112 xData_Int i, status = 0;
119 1,
"bad xDataType instance" ) );
121 if( ( xDT->data = xData_malloc2( smr, 2 * xDT->length *
sizeof(
double ), 0,
"data" ) ) == NULL )
return( 1 );
122 for( i = 0, s = text, p = (
double *) xDT->data; i < 2 * xDT->length; i++, p++, s = e ) {
126 while( isspace( *e ) ) e++;
128 smr_setMessageError( smr, smrUser, __FILE__, __LINE__, 1,
"text contains extra data = %s", e );
132 if( status != 0 )
release( smr, xDT );
139 static char *
toString( statusMessageReporting *, xDataType *xDT ) {
141 xData_Int i,
n = xDT->length;
143 double *data = (
double *) xDT->data;
146 if( ( str = (
char *)
malloc( 2 * ( n + 1 ) * 17 ) ) == NULL )
return( NULL );
147 for( i = 0, p = str; i <
n; i++, p += 2 * 16 + 1, data += 2 ) {
148 sprintf( p,
" %15.7e %15.7e\n", *data, data[1] );
156 static int release( statusMessageReporting *smr, xDataType *xDT ) {
158 if( xDT->data != NULL ) xDT->data =
xData_free( smr, xDT->data );
159 return( xDT->status = xData_xDataType_Ok );
162 #if defined __cplusplus
int xData_init_2d_xy(statusMessageReporting *smr, xData_element *element)
int xData_xDataTypeConvertAttributes(statusMessageReporting *smr, xData_element *element)
int xData_is_2d_xy(statusMessageReporting *smr, xDataType *xDT, int setMsg)
int smr_setMessageError(statusMessageReporting *smr, void *userInterface, const char *file, int line, int code, const char *fmt,...)
double * xData_2d_xy_allocateCopyData(statusMessageReporting *smr, xData_element *element, xData_Int *length)
int xData_isElement_2d_xy(statusMessageReporting *smr, xData_element *element, int setMsg)
static int toData(statusMessageReporting *smr, xDataType *xDT, xData_attributionList *attributes, const char *text)
int xData_2d_xy_free_copyData(statusMessageReporting *smr, void *data)
static char * toString(statusMessageReporting *smr, xDataType *xDT)
static int release(statusMessageReporting *smr, xDataType *xDT)
int xData_is_xDataType(statusMessageReporting *smr, xDataType *xDT, char const *const type, int setMsg)
void * xData_free(statusMessageReporting *, void *p)
int xData_stringTo_double(statusMessageReporting *smr, void *smrUserInterface, char const *c, double *value, char const *endings, char **e)
void * xData_get_smrUserInterfaceFromElement(xData_element *element)
void * malloc(size_t __size)
int xData_setMessageError_ReturnInt(int value, statusMessageReporting *smr, void *userInterface, const char *packageName, int lineNumber, int code, const char *fmt,...)