Vinod Vijay wrote:Method parameters have nothing to do here in this case. they are not doing any job.
I think you misunderstood the issue at hand. It is entirely about method parameters, and in particular, their type. It hinges on the fact that the parameter that fits most closely is chosen, and for a long, that is float, not double.
One way to achieve this would to call the method like this: m((double) b1)