[Issue 7078] New: BigInt.toInt returns a long

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Dec 7 17:38:22 PST 2011


http://d.puremagic.com/issues/show_bug.cgi?id=7078

           Summary: BigInt.toInt returns a long
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Phobos
        AssignedTo: nobody at puremagic.com
        ReportedBy: bearophile_hugs at eml.cc


--- Comment #0 from bearophile_hugs at eml.cc 2011-12-07 17:38:20 PST ---
Despite what the ddoc of BigInt.toInt() says, it returns a long. I suggest to
change toInt() to really return an int:


/// Returns the value of this BigInt as a long,
/// or +- long.max if outside the representable range.
long toLong() pure const
{
    return (sign ? -1 : 1) *
      (data.ulongLength() == 1 && (data.peekUlong(0) <= cast(ulong)(long.max))
      ? cast(long)(data.peekUlong(0))
      : long.max);
}
/// Returns the value of this BigInt as an int,
/// or +- int.max if outside the representable range.
long toInt() pure const
{
    return (sign ? -1 : 1) *
      (data.uintLength() == 1 && (data.peekUint(0) <= cast(uint)(int.max))
      ? cast(int)(data.peekUint(0))
      : int.max);
}

-- 
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