Re: Bug Of pow in std.math

2010-07-01 Thread Simen kjaeraas

sins666 d-bugm...@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.

--
Simen


Bug Of pow in std.math

2010-06-30 Thread sins666
I found a Bug.The bug lives in function of pow in std.math.

When wake up the bug that, we select value of minus to second
argument of pow.
And happen the object.Error: Integer Divide by Zero error.

I think that is a Bug. Is it?


Re: Bug Of pow in std.math

2010-06-30 Thread Simen kjaeraas

sins666 d-bugm...@puremagic.com wrote:


I found a Bug.The bug lives in function of pow in std.math.

When wake up the bug that, we select value of minus to second
argument of pow.
And happen the object.Error: Integer Divide by Zero error.

I think that is a Bug. Is it?


I would recommend discussing such in digitalmars.D.learn.

Now, I'm not able to recreate this. Am I right to understand
it to be:

std.math.pow( 5, -3 ); ?

If not, would you please post code that triggers the bug?

--
Simen


Re: Bug Of pow in std.math

2010-06-30 Thread sins666
== Quote from Simen kjaeraas (simen.kja...@gmail.com)'s article
 sins666 d-bugm...@puremagic.com wrote:
  I found a Bug.The bug lives in function of pow in std.math.
 
  When wake up the bug that, we select value of minus to second
  argument of pow.
  And happen the object.Error: Integer Divide by Zero error.
 
  I think that is a Bug. Is it?
 I would recommend discussing such in digitalmars.D.learn.
 Now, I'm not able to recreate this. Am I right to understand
 it to be:
 std.math.pow( 5, -3 ); ?
 If not, would you please post code that triggers the bug?

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?