diff options
author | Tom Rondeau <tom@trondeau.com> | 2014-07-26 12:07:56 -0400 |
---|---|---|
committer | Tom Rondeau <tom@trondeau.com> | 2014-07-26 12:20:27 -0400 |
commit | ad3d36772d659ca1656e00bf89ecd5c02db582bc (patch) | |
tree | 99178604e76d22d757a6caab31747d0049d40723 /gr-qtgui/lib/number_sink_impl.cc | |
parent | 737ec8954ab3236b9f931fe2741a71a932a05cb1 (diff) |
qtgui: fixes a problem with the number sink when fed NaN or +/-inf.
Addresses issue #704.
Diffstat (limited to 'gr-qtgui/lib/number_sink_impl.cc')
-rw-r--r-- | gr-qtgui/lib/number_sink_impl.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gr-qtgui/lib/number_sink_impl.cc b/gr-qtgui/lib/number_sink_impl.cc index 1be2653053..2c31b60fec 100644 --- a/gr-qtgui/lib/number_sink_impl.cc +++ b/gr-qtgui/lib/number_sink_impl.cc @@ -296,7 +296,8 @@ namespace gr { for(int n = 0; n < d_nconnections; n++) { float *in = (float*)input_items[n]; for(int i = 0; i < noutput_items; i++) { - d_avg_value[n] = d_iir[n].filter(in[i]); + if(std::isfinite(in[i])) + d_avg_value[n] = d_iir[n].filter(in[i]); } } } @@ -310,8 +311,11 @@ namespace gr { d[n] = d_avg_value[n]; } else { - for(int n = 0; n < d_nconnections; n++) - d[n] = ((float*)input_items[n])[0]; + for(int n = 0; n < d_nconnections; n++) { + float x = ((float*)input_items[n])[0]; + if(std::isfinite(x)) + d[n] = x; + } } d_qApplication->postEvent(d_main_gui, new NumberUpdateEvent(d)); |