Changeset 12265
- Timestamp:
- 05/17/12 10:09:18 (13 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/objects/IoModel.cpp ¶
r12102 r12265 45 45 this->fid=iomodel_handle; 46 46 47 /*Check that Enums are Synchronized*/ 48 this->CheckEnumSync(); 49 47 50 /*Initialize and read constants:*/ 48 51 this->constants=new Parameters(); … … 89 92 /*}}}*/ 90 93 94 /*FUNCTION IoModel::CheckEnumSync{{{1*/ 95 void IoModel::CheckEnumSync(void){ 96 97 extern int my_rank; 98 int record_enum = 0; 99 100 101 /*Check that some fields have been allocated*/ 102 _assert_(this->fid || my_rank); 103 104 105 /*Go find in the binary file, the position of the data we want to fetch: */ 106 if(my_rank==0){ //cpu 0 107 108 /*First set FILE* position to the beginning of the file: */ 109 fseek(this->fid,0,SEEK_SET); 110 111 /*Get first Enum*/ 112 if(fread(&record_enum,sizeof(int),1,this->fid)==0){ 113 _error_("Marshalled file is empty"); 114 } 115 else{ 116 if(record_enum!=MaximumNumberOfEnums){ 117 _error_("Enums in marshalled file are not compatible with compiled code, make sure you are using the same version of ISSM"); 118 } 119 } 120 } 121 } 122 /*}}}*/ 91 123 /*FUNCTION IoModel::Constant(bool* poutput,int constant_enum){{{1*/ 92 124 void IoModel::Constant(bool* poutput,int constant_enum){ -
TabularUnified issm/trunk-jpl/src/c/objects/IoModel.h ¶
r9476 r12265 41 41 42 42 /*Input/Output*/ 43 void Constant(bool *poutput,int constant_enum); 44 void Constant(int *poutput,int constant_enum); 45 void Constant(double *poutput,int constant_enum); 46 void Constant(char **poutput,int constant_enum); 47 Param *CopyConstantObject(int constant_enum); 48 double *Data(int dataenum); 49 void DeleteData(int num,...); 50 void FetchConstants(void); 51 void FetchData(bool* pboolean,int data_enum); 52 void FetchData(int* pinteger,int data_enum); 53 void FetchData(double* pscalar,int data_enum); 54 void FetchData(char** pstring,int data_enum); 55 void FetchData(int** pmatrix,int* pM,int* pN,int data_enum); 56 void FetchData(double** pscalarmatrix,int* pM,int* pN,int data_enum); 57 void FetchData(char*** pstringarray,int* pnumstrings,int data_enum); 58 void FetchData(double*** pmatrixarray,int** pmdims,int** pndims, int* pnumrecords,int data_enum); 59 void FetchData(int num,...); 60 void FetchDataToInput(Elements* elements,int vector_enum,int default_vector_enum=NoneEnum,double default_value=0); 61 FILE* SetFilePointerToData(int* pcode,int* pvector_type, int data_enum); 43 void CheckEnumSync(void); 44 void Constant(bool *poutput,int constant_enum); 45 void Constant(int *poutput,int constant_enum); 46 void Constant(double *poutput,int constant_enum); 47 void Constant(char **poutput,int constant_enum); 48 Param *CopyConstantObject(int constant_enum); 49 double *Data(int dataenum); 50 void DeleteData(int num,...); 51 void FetchConstants(void); 52 void FetchData(bool* pboolean,int data_enum); 53 void FetchData(int* pinteger,int data_enum); 54 void FetchData(double* pscalar,int data_enum); 55 void FetchData(char** pstring,int data_enum); 56 void FetchData(int** pmatrix,int* pM,int* pN,int data_enum); 57 void FetchData(double** pscalarmatrix,int* pM,int* pN,int data_enum); 58 void FetchData(char*** pstringarray,int* pnumstrings,int data_enum); 59 void FetchData(double*** pmatrixarray,int** pmdims,int** pndims, int* pnumrecords,int data_enum); 60 void FetchData(int num,...); 61 void FetchDataToInput(Elements* elements,int vector_enum,int default_vector_enum=NoneEnum,double default_value=0); 62 FILE* SetFilePointerToData(int* pcode,int* pvector_type, int data_enum); 62 63 }; 63 64 -
TabularUnified issm/trunk-jpl/src/m/model/marshall.m ¶
r11959 r12265 15 15 error(['marshall error message: could not open ' [md.miscellaneous.name '.bin'],' file for binary writing']); 16 16 end 17 18 %First, right MaximumNumberOfEnum to make sure that the Enums are synchronized 19 WriteData(fid,'enum',MaximumNumberOfEnums(),'data',true,'format','Boolean'); 17 20 18 21 %Go through all model fields: check that it is a class and call checkconsistency
Note:
See TracChangeset
for help on using the changeset viewer.