1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 <2004> 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 <2004> 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Not-a-number (nan) issues |
From: | Andrew Johnson <[email protected]> |
To: | "Lawrence T. Hoff" <[email protected]> |
Cc: | "'EPICS Tech Talk'" <[email protected]> |
Date: | Mon, 11 Oct 2004 12:47:19 -0500 |
Just to be crystal-clear, it sounds (to me) like the consensus position is that CA should propagate, communicate, and otherwise handle NaN (and INF) like any other floating point value.
The places where such values should be rejected as inappropriate are at the client-side ("above" CA), or in device support. In addition, the aoRecord (but no other output records) will be modified so that it can optionally recognize NaN and suppress executing device support "write_ao()" function when NaN is encountered (essentially as a convenience
for existing device support modules which do not check for NaN themselves). Is that right?
The ramification of this is that if a NaN (or other inappropriate value) is sent to a PV, it will make it at least as far as the record before being flagged as inappropriate. I think this means that the previous "good" value is obscured. Even though
the NaN is "trapped", it still may be necessary to re-send the
previous value in order for the system to operate properly.
Is that right? In the case of SNS, that would mean using some older save/restore file that did have an appropriate value for the PV in question.
- Andrew -- Dear God, I didn't think orange went with purple until I saw the sunset you made last night. That was really cool. - Caro