Commit adb82430bfd1baa654a559891db27930a130073d
1 parent
7fced8be
Exists in
SpeasyGet
Fix fillValue comparison
Showing
1 changed file
with
15 additions
and
6 deletions
Show diff stats
src/ParamGetImpl/SpeasyProxyInterface/Pusher.hh
... | ... | @@ -176,9 +176,12 @@ public: |
176 | 176 | //get data element |
177 | 177 | if (packet->getDataValue(&baseElem,index,dim1Index,dim2Index)) |
178 | 178 | { |
179 | - if (!isnan(_fillValue)) | |
180 | - if (baseElem == fillEl) | |
179 | + if (!isnan(_fillValue)) { | |
180 | + double crt_val = baseElem; | |
181 | + bool is_fill_value = isApproximatelyEqual(crt_val, _fillValue); | |
182 | + if (is_fill_value) | |
181 | 183 | baseElem << NotANumber(); |
184 | + } | |
182 | 185 | } |
183 | 186 | else |
184 | 187 | baseElem << NotANumber(); |
... | ... | @@ -264,9 +267,13 @@ public: |
264 | 267 | //get data element |
265 | 268 | if (packet->getDataValue(&baseElem,index,dimIndex)) |
266 | 269 | { |
267 | - if (!isnan(_fillValue)) | |
268 | - if (baseElem == fillEl) | |
269 | - baseElem << NotANumber(); | |
270 | + if (!isnan(_fillValue)) { | |
271 | + double crt_val = baseElem; | |
272 | + bool is_fill_value = isApproximatelyEqual(crt_val, _fillValue); | |
273 | + if (is_fill_value) | |
274 | + baseElem << NotANumber(); | |
275 | + } | |
276 | + | |
270 | 277 | } |
271 | 278 | else |
272 | 279 | baseElem << NotANumber(); |
... | ... | @@ -345,7 +352,9 @@ public: |
345 | 352 | { |
346 | 353 | if (!isnan(_fillValue)) |
347 | 354 | { |
348 | - if (baseElem == fillEl) | |
355 | + double crt_val = baseElem; | |
356 | + bool is_fill_value = isApproximatelyEqual(crt_val, _fillValue); | |
357 | + if (is_fill_value) | |
349 | 358 | baseElem << NotANumber(); |
350 | 359 | } |
351 | 360 | } | ... | ... |