TickDuration deprecation

bauss jj_1337 at live.dk
Sat Nov 18 19:05:24 UTC 2017


On Saturday, 18 November 2017 at 16:17:00 UTC, Jonathan M Davis 
wrote:
> On Saturday, November 18, 2017 15:03:05 Timon Gehr via 
> Digitalmars-d wrote:
>> [...]
>
> core.time and std.datetime avoid floating point math, because 
> using it introduces errors into the calculations. It does make 
> some sense to generate a floating point value if all you're 
> looking to do is print it out at the end, but using floating 
> point values in the calculations is a source of bugs - e.g. 
> converting between clock frequencies using floating point 
> values would be particularly bad, much as it's the obvious 
> first implementation; core.time.convClockFreq does it all with 
> integral math and avoids the problem and even manages to 
> support a higher range of values in the process than it would 
> if it were implemented with double or real.
>
> [...]

If you ask me, then time durations doesn't make sense as anything 
else other than signed integers.

I can see that you can do something like "0.5" for half a second, 
but really you shouldn't be doing the duration in seconds then, 
but rather in milliseconds and pass 500 for half a second.

So please, I hope it never gets added.

That's just my two cents.

Especially seeing how flawed floating points are.


More information about the Digitalmars-d mailing list