[Issue 3202] New: std.math.pow cause dead loop
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Tue Jul 21 21:28:36 PDT 2009
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=3202
           Summary: std.math.pow cause dead loop
           Product: D
           Version: 2.031
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: critical
          Priority: P1
         Component: Phobos
        AssignedTo: nobody at puremagic.com
        ReportedBy: rinick at gmail.com
the case is:
   pow(1.01, int.min); 
because int.min == -int.min
Maybe the while loop should be put into pow(F, uint) instead of pow(F, int)
like the following:
pure nothrow F pow(F)(F x, int n)
{
   if (n < 0)
   {
      return 1 / pow(x, cast(uint)(-n));
   }
   return pow(x, cast(uint)n);
}
-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
    
    
More information about the Digitalmars-d-bugs
mailing list