So, for the following code, I get something I think is a little off. I get the same value for all three variable types. I'm kind of new to this, but I would think that a 32 bit would give me a different "smallest value" than a 64 bit or 80 bit (if real even evaluates to 80 bit on my machine).
What am I doing wrong, or is this a bug? import std.stdio; void main() { //Find Machine Epsilon: double ep = 1.0; double n = 1.0; while (ep + n != n) { ep = ep / 2; } writefln(ep); real epr = 1.0; real nr = 1.0; while (epr + nr != nr) epr = epr / 2; writefln(epr); float epf = 1.0; float nf = 1.0; while (epf + nf != nf) epf = epf / 2; writefln(epr); }