param zero = 0:real(32); param z = 0.0:real(32);
has no run-time overhead.
const zero = 0:real(32); const z = 0.0:real(32);
have any runtime overhead, i.e. does the former try and convert integral 0 to a 32-bit floating point number, or the latter try and convert 64-bit floating point to a 32-bit floating point.
What about when either
0.0:real(32) appear in an expression. Is the compiler smart enough to do those conversions at compile time?