Changeset 16469
- Timestamp:
- 10/18/13 21:04:59 (11 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Elements.cpp
r16461 r16469 226 226 /*Serialize and add to results*/ 227 227 vector_serial=vector->ToMPISerial(); 228 results->DeleteResult(resultsenums[i],resultssteps[i]); 228 229 if(my_rank==0){ 229 230 /*No need to add this vector for all cpus*/ … … 231 232 IssmPDouble* vector_serial_passive=xNew<IssmPDouble>(vectorsize); 232 233 for(int k=0;k<vectorsize;k++)vector_serial_passive[k]=reCast<IssmPDouble>(vector_serial[k]); 233 results->Add Object(new GenericExternalResult<double*>(results->Size()+1,resultsenums[i],vector_serial_passive,vectorsize,1,resultssteps[i],resultstimes[i]));234 results->AddResult(new GenericExternalResult<IssmPDouble*>(results->Size()+1,resultsenums[i],vector_serial_passive,vectorsize,1,resultssteps[i],resultstimes[i])); 234 235 xDelete<IssmPDouble>(vector_serial_passive); 235 236 #else 236 results->Add Object(new GenericExternalResult<double*>(results->Size()+1,resultsenums[i],vector_serial,vectorsize,1,resultssteps[i],resultstimes[i]));237 results->AddResult(new GenericExternalResult<IssmPDouble*>(results->Size()+1,resultsenums[i],vector_serial,vectorsize,1,resultssteps[i],resultstimes[i])); 237 238 #endif 238 239 } -
issm/trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h
r16461 r16469 371 371 template <> inline void GenericExternalResult<Vector<IssmPDouble>*>::Echo(void){ /*{{{*/ 372 372 373 _printf_("GenericExternalResult< IssmPDouble*>:\n");373 _printf_("GenericExternalResult<Vector<IssmPDouble>*>:\n"); 374 374 this->GenericEcho(); 375 375 this->value->Echo(); -
issm/trunk-jpl/src/c/classes/ExternalResults/Results.cpp
r16461 r16469 58 58 * object before adding this new one: */ 59 59 vector<Object*>::iterator object; 60 ElementResult* result=NULL;61 60 62 61 /*In debugging mode, check that the input is not a NULL pointer*/ … … 65 64 for(object=objects.begin() ; object<objects.end(); object++){ 66 65 67 result=dynamic_cast<ElementResult*>(*object);66 ElementResult* result=dynamic_cast<ElementResult*>(*object); 68 67 69 68 if(result->InstanceEnum()==in_result->InstanceEnum()){ … … 79 78 } 80 79 /*}}}*/ 80 /*FUNCTION Results::AddResult(ExternalResult* in_result){{{*/ 81 int Results::AddResult(ExternalResult* in_result){ 82 83 /*First, go through dataset of inputs and check whether any input 84 * with the same name is already in. If so, erase the corresponding 85 * object before adding this new one: */ 86 87 /*In debugging mode, check that the input is not a NULL pointer*/ 88 _assert_(in_result); 89 90 for(int i=0;i<this->Size();i++){ 91 ExternalResult* result=dynamic_cast<ExternalResult*>(this->GetObjectByOffset(i)); 92 93 if(result->InstanceEnum()==in_result->InstanceEnum()){ 94 if(result->GetStep()==in_result->GetStep()){ 95 this->DeleteObject(result); 96 break; 97 } 98 } 99 } 100 this->AddObject(in_result); 101 102 return 1; 103 } 104 /*}}}*/ 105 /*FUNCTION Results::DeleteResult(ExternalResult* in_result){{{*/ 106 int Results::DeleteResult(int result_enum,int result_step){ 107 108 for(int i=0;i<this->Size();i++){ 109 ExternalResult* result=dynamic_cast<ExternalResult*>(this->GetObjectByOffset(i)); 110 111 if(result->InstanceEnum()==result_enum){ 112 if(result->GetStep()==result_step){ 113 this->DeleteObject(result); 114 break; 115 } 116 } 117 } 118 119 return 1; 120 } 121 /*}}}*/ -
issm/trunk-jpl/src/c/classes/ExternalResults/Results.h
r15898 r16469 7 7 class Parameters; 8 8 class ElementResult; 9 class ExternalResult; 9 10 10 11 /*!\brief Declaration of Results class. … … 22 23 /*Mehthos*/ 23 24 int AddResult(ElementResult* result); 25 int AddResult(ExternalResult* result); 26 int DeleteResult(int result_enum,int result_step); 24 27 void Write(Parameters* parameters); 25 28 }; -
issm/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.cpp
r15559 r16469 46 46 parameters->FindParam(&solutiontype,SolutionTypeEnum); 47 47 EnumToStringx(&solutiontypestring,solutiontype); 48 results->Add Object(new GenericExternalResult<char*>(results->Size()+1,SolutionTypeEnum,solutiontypestring,1,0));48 results->AddResult(new GenericExternalResult<char*>(results->Size()+1,SolutionTypeEnum,solutiontypestring,1,0)); 49 49 xDelete<char>(solutiontypestring); 50 50 }
Note:
See TracChangeset
for help on using the changeset viewer.