Changeset 12562
- Timestamp:
- 06/27/12 09:57:52 (13 years ago)
- Location:
- issm/trunk-jpl/src/c/objects/ExternalResults
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/objects/ExternalResults/BoolExternalResult.cpp
r12511 r12562 27 27 /*}}}*/ 28 28 /*FUNCTION BoolExternalResult::BoolExternalResult(int enum_type,bool value){{{*/ 29 BoolExternalResult::BoolExternalResult(int in_id, int in_enum_type,bool in_value,int in_step, Issm PDouble in_time){29 BoolExternalResult::BoolExternalResult(int in_id, int in_enum_type,bool in_value,int in_step, IssmDouble in_time){ 30 30 31 31 id=in_id; … … 90 90 int type; 91 91 int size; 92 IssmPDouble boolean;92 IssmPDouble passiveDouble; 93 93 extern int my_rank; 94 94 char* name = NULL; … … 105 105 106 106 /*Now write time and step: */ 107 fwrite(&time,sizeof(IssmPDouble),1,fid); 107 passiveDouble=reCast<IssmPDouble>(time); 108 fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid); 108 109 fwrite(&step,sizeof(int),1,fid); 109 110 110 /*Now write bool, after casting it: */ 111 boolean=(IssmPDouble)this->value; 112 113 /*writing a IssmPDouble, type is 1, size is 1: */ 111 /*writing a IssmDouble, type is 1, size is 1: */ 114 112 type=1; 115 113 size=1; 116 114 fwrite(&type,sizeof(int),1,fid); 117 115 fwrite(&size,sizeof(int),1,fid); 118 fwrite(&boolean,size*sizeof(IssmPDouble),1,fid); 116 /*Now write bool, after casting it: */ 117 passiveDouble=reCast<IssmPDouble>(this->value); 118 fwrite(&passiveDouble,size*sizeof(IssmPDouble),1,fid); 119 119 120 120 } -
issm/trunk-jpl/src/c/objects/ExternalResults/BoolExternalResult.h
r12465 r12562 30 30 bool value; 31 31 int step; 32 Issm PDouble time;32 IssmDouble time; 33 33 34 34 /*BoolExternalResult constructors, destructors: {{{*/ 35 35 BoolExternalResult(); 36 BoolExternalResult(int id, int enum_type,bool value,int step,Issm PDouble time);36 BoolExternalResult(int id, int enum_type,bool value,int step,IssmDouble time); 37 37 ~BoolExternalResult(); 38 38 /*}}}*/ -
issm/trunk-jpl/src/c/objects/ExternalResults/DoubleExternalResult.cpp
r12511 r12562 26 26 } 27 27 /*}}}*/ 28 /*FUNCTION DoubleExternalResult::DoubleExternalResult(int enum_type,Issm PDouble value){{{*/29 DoubleExternalResult::DoubleExternalResult(int in_id, int in_enum_type,Issm PDouble in_value,int in_step, IssmPDouble in_time){28 /*FUNCTION DoubleExternalResult::DoubleExternalResult(int enum_type,IssmDouble value){{{*/ 29 DoubleExternalResult::DoubleExternalResult(int in_id, int in_enum_type,IssmDouble in_value,int in_step, IssmDouble in_time){ 30 30 31 31 id=in_id; … … 92 92 char *name = NULL; 93 93 extern int my_rank; 94 IssmPDouble passiveDouble; 94 95 95 96 /*return if now on cpu 0: */ … … 104 105 105 106 /*Now write time and step: */ 106 fwrite(&time,sizeof(IssmPDouble),1,fid); 107 passiveDouble=reCast<IssmPDouble>(time); 108 fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid); 107 109 fwrite(&step,sizeof(int),1,fid); 108 110 109 /*writing a Issm PDouble, type is 1, size is 1: */111 /*writing a IssmDouble, type is 1, size is 1: */ 110 112 type=1; 111 113 size=1; 112 114 fwrite(&type,sizeof(int),1,fid); 113 115 fwrite(&size,sizeof(int),1,fid); 114 fwrite(&this->value,size*sizeof(IssmPDouble),1,fid); 116 passiveDouble=reCast<IssmPDouble>(this->value); 117 fwrite(&passiveDouble,size*sizeof(IssmPDouble),1,fid); 115 118 116 119 } -
issm/trunk-jpl/src/c/objects/ExternalResults/DoubleExternalResult.h
r12465 r12562 29 29 int id; 30 30 int enum_type; 31 Issm PDouble value;31 IssmDouble value; 32 32 int step; 33 Issm PDouble time;33 IssmDouble time; 34 34 35 35 36 36 /*DoubleExternalResult constructors, destructors: {{{*/ 37 37 DoubleExternalResult(); 38 DoubleExternalResult(int id,int enum_type,Issm PDouble value,int step,IssmPDouble time);38 DoubleExternalResult(int id,int enum_type,IssmDouble value,int step,IssmDouble time); 39 39 ~DoubleExternalResult(); 40 40 /*}}}*/ -
issm/trunk-jpl/src/c/objects/ExternalResults/DoubleMatExternalResult.cpp
r12511 r12562 26 26 } 27 27 /*}}}*/ 28 /*FUNCTION DoubleMatExternalResult::DoubleMatExternalResult(int in_id, int enum_type,IssmDoubleMat values,int M,int N,int in_step,Issm PDouble in_time){{{*/29 DoubleMatExternalResult::DoubleMatExternalResult(int in_id, int in_enum_type,Issm PDouble* in_values, int in_M,int in_N,int in_step,IssmPDouble in_time){28 /*FUNCTION DoubleMatExternalResult::DoubleMatExternalResult(int in_id, int enum_type,IssmDoubleMat values,int M,int N,int in_step,IssmDouble in_time){{{*/ 29 DoubleMatExternalResult::DoubleMatExternalResult(int in_id, int in_enum_type,IssmDouble* in_values, int in_M,int in_N,int in_step,IssmDouble in_time){ 30 30 31 31 id=in_id; … … 36 36 /*Copy result in values*/ 37 37 if(M*N){ 38 values=xNew<Issm PDouble>(M*N);39 xMemCpy<Issm PDouble>(values,in_values,M*N);38 values=xNew<IssmDouble>(M*N); 39 xMemCpy<IssmDouble>(values,in_values,M*N); 40 40 } 41 41 else values=NULL; … … 48 48 DoubleMatExternalResult::~DoubleMatExternalResult(){ 49 49 50 xDelete<Issm PDouble>(this->values);50 xDelete<IssmDouble>(this->values); 51 51 return; 52 52 } … … 119 119 char *name = NULL; 120 120 extern int my_rank; 121 IssmPDouble *passiveDouble_p=NULL; 122 IssmPDouble passiveDouble; 121 123 122 124 if(io_gather){ … … 124 126 if(my_rank) return; 125 127 } 128 129 passiveDouble_p=xNew<IssmPDouble>(M*N); 126 130 127 131 /*First write enum: */ … … 133 137 134 138 /*Now write time and step: */ 135 fwrite(&time,sizeof(IssmPDouble),1,fid); 139 passiveDouble=reCast<IssmPDouble>(time); 140 fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid); 136 141 fwrite(&step,sizeof(int),1,fid); 137 142 138 /*writing a Issm PDouble array, type is 3:*/143 /*writing a IssmDouble array, type is 3:*/ 139 144 type=3; 140 145 fwrite(&type,sizeof(int),1,fid); … … 143 148 cols=this->N; 144 149 fwrite(&cols,sizeof(int),1,fid); 145 fwrite(this->values,cols*rows*sizeof(IssmPDouble),1,fid); 150 for (int i=0; i<N*M; ++i) passiveDouble_p[i]=reCast<IssmPDouble>(values[i]); 151 fwrite(passiveDouble_p,cols*rows*sizeof(IssmPDouble),1,fid); 152 xDelete(passiveDouble_p); 146 153 147 154 } -
issm/trunk-jpl/src/c/objects/ExternalResults/DoubleMatExternalResult.h
r12465 r12562 27 27 int id; 28 28 int enum_type; 29 Issm PDouble* values;29 IssmDouble* values; 30 30 int M; 31 31 int N; 32 32 int step; 33 Issm PDouble time;33 IssmDouble time; 34 34 35 35 public: 36 36 /*DoubleMatExternalResult constructors, destructors: {{{*/ 37 37 DoubleMatExternalResult(); 38 DoubleMatExternalResult(int id,int enum_type,Issm PDouble* values,int M,int N,int step, IssmPDouble time);38 DoubleMatExternalResult(int id,int enum_type,IssmDouble* values,int M,int N,int step, IssmDouble time); 39 39 ~DoubleMatExternalResult(); 40 40 /*}}}*/ -
issm/trunk-jpl/src/c/objects/ExternalResults/DoubleVecExternalResult.cpp
r12520 r12562 26 26 } 27 27 /*}}}*/ 28 /*FUNCTION DoubleVecExternalResult::DoubleVecExternalResult(int enum_type,IssmDoubleVec values,int M,int in_step,Issm PDouble in_time){{{*/29 DoubleVecExternalResult::DoubleVecExternalResult(int in_id, int in_enum_type,Issm PDouble* in_values, int in_M,int in_step,IssmPDouble in_time){28 /*FUNCTION DoubleVecExternalResult::DoubleVecExternalResult(int enum_type,IssmDoubleVec values,int M,int in_step,IssmDouble in_time){{{*/ 29 DoubleVecExternalResult::DoubleVecExternalResult(int in_id, int in_enum_type,IssmDouble* in_values, int in_M,int in_step,IssmDouble in_time){ 30 30 31 31 id=in_id; … … 34 34 35 35 if(M){ 36 values=xNew<Issm PDouble>(M);37 xMemCpy<Issm PDouble>(values,in_values,M);36 values=xNew<IssmDouble>(M); 37 xMemCpy<IssmDouble>(values,in_values,M); 38 38 } 39 39 else values=NULL; … … 45 45 /*FUNCTION DoubleVecExternalResult::~DoubleVecExternalResult(){{{*/ 46 46 DoubleVecExternalResult::~DoubleVecExternalResult(){ 47 xDelete<Issm PDouble>(values);47 xDelete<IssmDouble>(values); 48 48 return; 49 49 } … … 111 111 char *name = NULL; 112 112 extern int my_rank; 113 IssmPDouble *passiveDouble_p=NULL; 114 IssmPDouble passiveDouble; 113 115 114 116 /*return if now on cpu 0: */ 115 117 if(my_rank)return; 116 118 119 passiveDouble_p=xNew<IssmPDouble>(M); 117 120 /*First write enum: */ 118 121 EnumToStringx(&name,this->enum_type); … … 123 126 124 127 /*Now write time and step: */ 125 fwrite(&time,sizeof(IssmPDouble),1,fid); 128 passiveDouble=reCast<IssmPDouble>(time); 129 fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid); 126 130 fwrite(&step,sizeof(int),1,fid); 127 131 128 /*writing a Issm PDouble, type is 1, size is 1: */132 /*writing a IssmDouble, type is 1, size is 1: */ 129 133 type=1; 130 134 size=this->M; 131 135 fwrite(&type,sizeof(int),1,fid); 132 136 fwrite(&size,sizeof(int),1,fid); 133 fwrite(this->values,size*sizeof(IssmPDouble),1,fid); 134 137 for (int i=0; i<M; ++i) passiveDouble_p[i]=reCast<IssmPDouble>(values[i]); 138 fwrite(passiveDouble_p,size*sizeof(IssmPDouble),1,fid); 139 xDelete(passiveDouble_p); 135 140 } 136 141 /*}}}*/ -
issm/trunk-jpl/src/c/objects/ExternalResults/DoubleVecExternalResult.h
r12465 r12562 27 27 int id; 28 28 int enum_type; 29 Issm PDouble* values;29 IssmDouble* values; 30 30 int M; 31 31 int step; 32 Issm PDouble time;32 IssmDouble time; 33 33 34 34 public: 35 35 /*DoubleVecExternalResult constructors, destructors: {{{*/ 36 36 DoubleVecExternalResult(); 37 DoubleVecExternalResult(int id,int enum_type,Issm PDouble* values,int M,int step, IssmPDouble time);37 DoubleVecExternalResult(int id,int enum_type,IssmDouble* values,int M,int step, IssmDouble time); 38 38 ~DoubleVecExternalResult(); 39 39 /*}}}*/ -
issm/trunk-jpl/src/c/objects/ExternalResults/IntExternalResult.cpp
r12511 r12562 26 26 } 27 27 /*}}}*/ 28 /*FUNCTION IntExternalResult::IntExternalResult(int in_id, int in_enum_type,int in_value,int in_step, Issm PDouble in_time){{{*/29 IntExternalResult::IntExternalResult(int in_id, int in_enum_type,int in_value,int in_step, Issm PDouble in_time){28 /*FUNCTION IntExternalResult::IntExternalResult(int in_id, int in_enum_type,int in_value,int in_step, IssmDouble in_time){{{*/ 29 IntExternalResult::IntExternalResult(int in_id, int in_enum_type,int in_value,int in_step, IssmDouble in_time){ 30 30 31 31 id=in_id; … … 91 91 int size; 92 92 char *name = NULL; 93 IssmPDouble integer;93 IssmPDouble passiveDouble; 94 94 extern int my_rank; 95 95 … … 105 105 106 106 /*Now write time and step: */ 107 fwrite(&time,sizeof(IssmPDouble),1,fid); 107 passiveDouble=reCast<IssmPDouble>(time); 108 fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid); 108 109 fwrite(&step,sizeof(int),1,fid); 109 110 /*cast to a IssmPDouble: */111 integer=(IssmPDouble)this->value;112 110 113 111 /*writing a IssmPDouble, type is 1, size is 1: */ … … 116 114 fwrite(&type,sizeof(int),1,fid); 117 115 fwrite(&size,sizeof(int),1,fid); 118 fwrite(&integer,size*sizeof(IssmPDouble),1,fid); 116 /*cast to a IssmPDouble: */ 117 passiveDouble=reCast<IssmPDouble>(value); 118 fwrite(&passiveDouble,size*sizeof(IssmPDouble),1,fid); 119 119 120 120 } -
issm/trunk-jpl/src/c/objects/ExternalResults/IntExternalResult.h
r12465 r12562 28 28 int value; 29 29 int step; 30 Issm PDouble time;30 IssmDouble time; 31 31 32 32 33 33 /*IntExternalResult constructors, destructors: {{{*/ 34 34 IntExternalResult(); 35 IntExternalResult(int id,int enum_type,int value,int step,Issm PDouble time);35 IntExternalResult(int id,int enum_type,int value,int step,IssmDouble time); 36 36 ~IntExternalResult(); 37 37 -
issm/trunk-jpl/src/c/objects/ExternalResults/PetscVecExternalResult.cpp
r12511 r12562 27 27 /*}}}*/ 28 28 /*FUNCTION PetscVecExternalResult::PetscVecExternalResult(int enum_type,IssmPetscVec value){{{*/ 29 PetscVecExternalResult::PetscVecExternalResult(int in_id, int in_enum_type,Vector* in_value,int in_step, Issm PDouble in_time){29 PetscVecExternalResult::PetscVecExternalResult(int in_id, int in_enum_type,Vector* in_value,int in_step, IssmDouble in_time){ 30 30 31 31 id=in_id; … … 105 105 IssmPDouble *serialvec = NULL; 106 106 extern int my_rank; 107 IssmPDouble passiveDouble; 107 108 108 109 /*serialize: */ … … 121 122 122 123 /*Now write time and step: */ 123 fwrite(&time,sizeof(IssmPDouble),1,fid); 124 passiveDouble=reCast<IssmPDouble>(time); 125 fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid); 124 126 fwrite(&step,sizeof(int),1,fid); 125 127 126 /*writing a Issm PDouble, type is 1, size is 1: */128 /*writing a IssmDouble, type is 1, size is 1: */ 127 129 type=1; 128 130 … … 132 134 133 135 /*Free ressources:*/ 134 xDelete< char>(serialvec);136 xDelete<IssmPDouble>(serialvec); 135 137 } 136 138 /*}}}*/ -
issm/trunk-jpl/src/c/objects/ExternalResults/PetscVecExternalResult.h
r12465 r12562 30 30 Vector* value; 31 31 int step; 32 Issm PDouble time;32 IssmDouble time; 33 33 34 34 public: 35 35 /*PetscVecExternalResult constructors, destructors: {{{*/ 36 36 PetscVecExternalResult(); 37 PetscVecExternalResult(int id,int enum_type,Vector* value, int step, Issm PDouble time);37 PetscVecExternalResult(int id,int enum_type,Vector* value, int step, IssmDouble time); 38 38 ~PetscVecExternalResult(); 39 39 /*}}}*/ -
issm/trunk-jpl/src/c/objects/ExternalResults/StringExternalResult.cpp
r12511 r12562 27 27 /*}}}*/ 28 28 /*FUNCTION StringExternalResult::StringExternalResult(int enum_type,IssmString value){{{*/ 29 StringExternalResult::StringExternalResult(int in_id, int in_enum_type,char* in_value,int in_step, Issm PDouble in_time){29 StringExternalResult::StringExternalResult(int in_id, int in_enum_type,char* in_value,int in_step, IssmDouble in_time){ 30 30 31 31 id=in_id; … … 93 93 char *name = NULL; 94 94 extern int my_rank; 95 IssmPDouble passiveDouble; 95 96 96 97 /*return if now on cpu 0: */ … … 105 106 106 107 /*Now write time and step: */ 107 fwrite(&time,sizeof(IssmPDouble),1,fid); 108 passiveDouble=reCast<IssmPDouble>(time); 109 fwrite(&passiveDouble,sizeof(IssmPDouble),1,fid); 108 110 fwrite(&step,sizeof(int),1,fid); 109 111 -
issm/trunk-jpl/src/c/objects/ExternalResults/StringExternalResult.h
r12465 r12562 30 30 char* value; 31 31 int step; 32 Issm PDouble time;32 IssmDouble time; 33 33 34 34 public: 35 35 /*StringExternalResult constructors, destructors: {{{*/ 36 36 StringExternalResult(); 37 StringExternalResult(int id,int enum_type,char* value,int step, Issm PDouble time);37 StringExternalResult(int id,int enum_type,char* value,int step, IssmDouble time); 38 38 ~StringExternalResult(); 39 39 /*}}}*/
Note:
See TracChangeset
for help on using the changeset viewer.