[M3devel] LONGINT

Rodney M. Bates rodney.bates at wichita.edu
Thu Jul 19 23:33:28 CEST 2007



Randy Coleburn wrote:
> Tony:
>  
> I'd like to better understand the implications of your change as I do 
> use LONGINT as an index in some applications.

Do you have arrays that need 64-bit subscripts on a 32-bit machine?

Allow me the common assumption that both integers and addresses have
the native word size on most machines.  In this case, most arrays that
need 64-bit subscripts would exceed the virtual address space of the
machine.  Exceptions would require elements of size at most a byte,
and overall sizes in excess of half the virtual address space. Even
PACKED ARRAY [..] OF BITS 1 FOR BOOLEAN would need to use 1/8 the
virtual space before 32-bit subscripts ran out.  All this seems pretty
unlikely.

I would favor keeping INTEGER as the type of open array subscripts
and not allowing LONGINT to be a fixed array subscript type.  It
saves a whole lot of language complexity, and doesn't disallow much.

If it really mattered, you could still use unsafe techniques for
such memory-hogging arrays.  This might be a reason to extend unsafe
arithmetic on ADDRESS to accept LONGINT second operands.  This is
actually consistent with the rest of the operator generalizations.
>  

-- 
-------------------------------------------------------------
Rodney M. Bates, retired assistant professor
Dept. of Computer Science, Wichita State University
Wichita, KS 67260-0083
316-978-3922
rodney.bates at wichita.edu



More information about the M3devel mailing list