[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