{
return (int32_t)(value * 65536.0);
}
- inline void set_real (float v) { value = (double)v; }
- inline float to_real (void) const
+ inline void set_real (double v) { value = (double)v; }
+ inline double to_real (void) const
{
- return (float)value;
+ return value;
}
inline int ceil (void) const
n.set_fixed (v);
}
- inline void push_real (float v)
+ inline void push_real (double v)
{
ARG &n = S::push ();
n.set_real (v);
}
}
- static inline float parse_bcd (SubByteStr& substr)
+ static inline double parse_bcd (SubByteStr& substr)
{
- float v = 0.0f;
+ double v = 0.0;
bool neg = false;
double int_part = 0;
if (!substr.avail ())
{
substr.set_error ();
- return 0.0f;
+ return 0.0;
}
byte = substr[0];
substr.inc ();
else
value *= pow (10.0, (double)exp_part);
}
- return (float)value;
+ return value;
case NEG:
if (i != 0)
{
substr.set_error ();
- return 0.0f;
+ return 0.0;
}
neg = true;
break;