Hi all,
I found that the get_precision function is not correct in the following
records:
- calc
- calcout
- dfanout
My change in the calc record (3.14.10) (similar for others):
163,167c163,167
< if (paddr->pfield == (void *)&pcalc->val) {
< *pprecision = pcalc->prec;
< } else {
< recGblGetPrec(paddr, pprecision);
< }
---
> *pprecision = pcalc->prec;
> if (paddr->pfield == (void *)&pcalc->val)
> return 0;
>
> recGblGetPrec(paddr, pprecision);
The function recGblGetPrec does only limit the precision to [0,15] if
the type is float or double. Setting is done only for integer types. The
result of the old code was a zero-precision display of non-VAL fields.
This change is necessary for Epics 3.14.11, too.
- Bernd
- Navigate by Date:
- Prev:
Re: StripTool build errors: SDDS.h? Janet
- Next:
Bug in asyn 4-7 and up ?? Eric Norum
- 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
- Navigate by Thread:
- Prev:
RE: asyn messages Mark Rivers
- Next:
Bug in asyn 4-7 and up ?? Eric Norum
- 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
|