Bug Of pow in std.math

sins666 d-bugmail at puremagic.com
Thu Jul 1 23:14:52 PDT 2010


== Quote from Simen kjaeraas (simen.kjaras at gmail.com)'s article
> sins666 <d-bugmail at puremagic.com> wrote:
> > import std.math;
> > import std.stdio;
> >
> > void main()
> > {
> >     writeln(pow(5, 2)); // 25
> >     writeln(pow(5, 0)); // 1
> >     writeln(pow(5, -3)); // object.Error: Integer Divide by
Zero
> > }
> >
> > And dmd version is 2.047.
> > Was I mistake in my source.or bug?
> The mistake is in your code. std.math.pow has a version that
takes
> only integers, and returns only integers. That is the version you
> are using.
> If instead you try:
> writeln(pow(5.0, -3.0));
> You should see improvement.

Oh, I see.
Thank you for your response and advice.

even so, why is that "object.Error: Integer Divide by Zero"...


More information about the Digitalmars-d-bugs mailing list