Hello Don, finally!

It is hard to explain yourself when you don't know the people you talk have numeric coding background. Since we know you have done much numeric and generic coding, it will be enough for me if you understand what i mean/ask/want, and say what i am talking is ridiculous, or think that i am trolling, just say so and i shut up! :)

Thanks.

On Sun, 28 Mar 2010 23:34:43 +0400, Don <[email protected]> wrote:

so wrote:
What is interesting about it is, DMD already has the solution, and it is there, implemented!
 Just check the page :
http://www.digitalmars.com/d/2.0/float.html
 Read the constant folding.
If you already have this capabilities, why limit the user?

It's a bit surprising how D treats numeric literals. Although (say) 2.1 is of type double, 2.1f is of type float, and 2.1L is of type real, they all have exactly the same value. (Not entirely true. Oddly, the maximum exponent value does seem to be limited. I think that's something which should change, as I don't think it makes much sense). The type only affects the type of expressions involving that value, it doesn't change the value.

Range propagation isn't fully implemented in DMD2 yet. Once it's in, the situation will improve a little more. It's already much better than the situation in C or C++. But I agree that it's still not perfect.

C was a great language but lets get over with this backward-support paranoia. :)
 Thanks.
 On Sun, 28 Mar 2010 15:02:25 +0400, so <[email protected]> wrote:

Hello, after a little discussion on D.learn, i better ask this here since i didn't get much replies.
Two lil questions.

Why "3" is an int?
Why "0.3" is a double?

Thanks!




--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

Reply via email to