From 0a0b9a93a2f0b7f0047e42c65f995d14e28cc6fc Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 22 Mar 2016 18:14:12 -0500 Subject: [PATCH] Simplify epicsConvertDoubleToFloat() --- src/libCom/misc/epicsConvert.c | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/src/libCom/misc/epicsConvert.c b/src/libCom/misc/epicsConvert.c index 11778c33a..9318ceb7e 100644 --- a/src/libCom/misc/epicsConvert.c +++ b/src/libCom/misc/epicsConvert.c @@ -18,28 +18,18 @@ epicsShareFunc float epicsConvertDoubleToFloat(double value) { - float rtnvalue; + double abs; - if (value == 0) { - rtnvalue = 0; - } else if (!finite(value)) { - rtnvalue = (float)value; - } else { - double abs = fabs(value); + if (value == 0 || !finite(value)) + return (float) value; - if (abs >= FLT_MAX) { - if (value > 0) - rtnvalue = FLT_MAX; - else - rtnvalue = -FLT_MAX; - } else if (abs <= FLT_MIN) { - if (value > 0) - rtnvalue = FLT_MIN; - else - rtnvalue = -FLT_MIN; - } else { - rtnvalue = (float)value; - } - } - return rtnvalue; + abs = fabs(value); + + if (abs >= FLT_MAX) + return (value > 0) ? FLT_MAX : -FLT_MAX; + + if (abs <= FLT_MIN) + return (value > 0) ? FLT_MIN : -FLT_MIN; + + return (float) value; }