Promotion rules ... why no float?

Sai via Digitalmars-d digitalmars-d at puremagic.com
Tue Sep 6 08:00:48 PDT 2016


Thanks for the replies.

I tend to use a lot of float math (robotics and automation) so I 
almost always want float output in case of division. And once in 
a while I bump into this issue.

I am wondering what are the best ways to work around it.

     float c = a / b;     // a and b could be integers.

Some solutions:

     float c = cast!float(a) / b;
     float c = 1f * a / b;


Any less verbose ways to do it?

Another solution I am thinking is to write a user defined integer 
type with an overloaded division to return a float instead and 
use it everywhere in place of integers. I am curious how this 
will work out.




More information about the Digitalmars-d mailing list