Changeset 25543
- Timestamp:
- 09/08/20 20:57:18 (5 years ago)
- Location:
- issm/trunk-jpl/src/c/shared/io/Marshalling
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/shared/io/Marshalling/Marshalling.cpp
r25530 r25543 64 64 printf(" double_count: %i\n",double_count); 65 65 }/*}}}*/ 66 void CountDoublesFunctor::call(IssmDouble value){/*{{{*/66 void CountDoublesFunctor::call(IssmDouble & value){/*{{{*/ 67 67 this->double_count++; 68 68 }/*}}}*/ 69 void CountDoublesFunctor::call(IssmDouble* value,int size){/*{{{*/69 void CountDoublesFunctor::call(IssmDouble* & value,int size){/*{{{*/ 70 70 if(value) this->double_count+= size; 71 71 }/*}}}*/ … … 81 81 printf(" double_count: %i\n",double_count); 82 82 }/*}}}*/ 83 void RegisterInputFunctor::call(IssmDouble value){/*{{{*/83 void RegisterInputFunctor::call(IssmDouble & value){/*{{{*/ 84 84 _assert_(this->double_count<size_max); 85 85 this->tape_codi->registerInput(value); … … 87 87 this->double_count++; 88 88 }/*}}}*/ 89 void RegisterInputFunctor::call(IssmDouble* value,int size){/*{{{*/89 void RegisterInputFunctor::call(IssmDouble* & value,int size){/*{{{*/ 90 90 if(value){ 91 91 for(int i=0;i<size;i++){ … … 106 106 printf(" double_count: %i\n",double_count); 107 107 }/*}}}*/ 108 void RegisterOutputFunctor::call(IssmDouble value){/*{{{*/108 void RegisterOutputFunctor::call(IssmDouble & value){/*{{{*/ 109 109 this->tape_codi->registerOutput(value); 110 110 this->double_count++; 111 111 }/*}}}*/ 112 void RegisterOutputFunctor::call(IssmDouble* value,int size){/*{{{*/112 void RegisterOutputFunctor::call(IssmDouble* & value,int size){/*{{{*/ 113 113 if(value){ 114 114 for(int i=0;i<size;i++){ … … 129 129 printf(" double_count: %i\n",double_count); 130 130 }/*}}}*/ 131 void SetAdjointFunctor::call(IssmDouble value){/*{{{*/131 void SetAdjointFunctor::call(IssmDouble & value){/*{{{*/ 132 132 _assert_(this->double_count<size_max); 133 133 value.gradient() = this->adjoint[this->double_count]; 134 134 this->double_count++; 135 135 }/*}}}*/ 136 void SetAdjointFunctor::call(IssmDouble* value,int size){/*{{{*/136 void SetAdjointFunctor::call(IssmDouble* & value,int size){/*{{{*/ 137 137 if(value){ 138 138 for(int i=0;i<size;i++){ -
issm/trunk-jpl/src/c/shared/io/Marshalling/Marshalling.h
r25530 r25543 119 119 template<typename T> void call(T & value){/*General case: do nothing*/} 120 120 template<typename T> void call(T* & value,int size){/*General case: do nothing*/} 121 void call(IssmDouble value);122 void call(IssmDouble* value,int size);121 void call(IssmDouble & value); 122 void call(IssmDouble* & value,int size); 123 123 }; /*}}}*/ 124 124 class RegisterInputFunctor: public MarshallHandle{ /*{{{*/ … … 135 135 template<typename T> void call(T & value){/*General case: do nothing*/} 136 136 template<typename T> void call(T* & value,int size){/*General case: do nothing*/} 137 void call(IssmDouble value);138 void call(IssmDouble* value,int size);137 void call(IssmDouble & value); 138 void call(IssmDouble* & value,int size); 139 139 }; /*}}}*/ 140 140 class RegisterOutputFunctor: public MarshallHandle{ /*{{{*/ … … 149 149 template<typename T> void call(T & value){/*General case: do nothing*/} 150 150 template<typename T> void call(T* & value,int size){/*General case: do nothing*/} 151 void call(IssmDouble value);152 void call(IssmDouble* value,int size);151 void call(IssmDouble & value); 152 void call(IssmDouble* & value,int size); 153 153 }; /*}}}*/ 154 154 class SetAdjointFunctor: public MarshallHandle{ /*{{{*/ … … 165 165 template<typename T> void call(T & value){/*General case: do nothing*/} 166 166 template<typename T> void call(T* & value,int size){/*General case: do nothing*/} 167 void call(IssmDouble value);168 void call(IssmDouble* value,int size);167 void call(IssmDouble & value); 168 void call(IssmDouble* & value,int size); 169 169 }; /*}}}*/ 170 170 #endif
Note:
See TracChangeset
for help on using the changeset viewer.