A strange div bug on Linux x86_64, (both dmd & ldc2): long -5000 / size_t 2 = 9223372036854773308
H. S. Teoh
hsteoh at quickfur.ath.cx
Thu Aug 13 19:03:38 UTC 2020
On Thu, Aug 13, 2020 at 06:51:09PM +0000, mw via Digitalmars-d wrote:
> On Thursday, 13 August 2020 at 18:40:40 UTC, matheus wrote:
> > On Thursday, 13 August 2020 at 13:33:19 UTC, bachmeier wrote:
> > > ...
> > > The source of wrong behavior is vec.length having type ulong. It
> > > would be very unusual for someone to even think about that.
> >
> > May I ask what type should it be?
>
> Signed (size_t, the length of the machine's address space)
[...]
size_t is unsigned, because the address space of a 64-bit machine is
2^64, but a signed value would only be able to address half of that
space (2^63).
T
--
Bomb technician: If I'm running, try to keep up.
More information about the Digitalmars-d
mailing list