[comp.lang.fortran] Double length Fortran integers

pmontgom@euphemia.math.ucla.edu (Peter Montgomery) (06/08/91)

	Which Fortran systems support arithmetic on double length integers
(cf. the "long long" type which some C compilers support)? 
I want arithmetic, not merely storage allocation.
If you know a system (existing or proposed) supporting such, please tell me:

	i) The type statement used to declare double length entities
	   (e.g., integer*8 dn1, dn2).

	ii) The mechanism used to convert a normal integer n1 to a double 
	    length integer (can be signed or unsigned extension).
	    For example, INT8(n1) or DBLINT(n1).
	    Can INT be used to convert a double integer to a normal integer?

	iii) Is there a special function for the double-length 
	    product (signed or unsigned) of two normal integers n1 and n2
	    (cf. DPROD intrinsic for floating point data)?
	    If not, is a construction like INT8(n1)*INT8(n2)
	    optimized into a single multiplication by the compiler?

	iv) Do the Fortran 90 bit-manipulation and shift functions
	    (e.g., IAND, ISHFT) allow double length arguments,
	    in which case they return a double length result?  
	    If not, are there different specific function names
	    used for these purposes?
	 	 
	v)  Is there a special notation for double length integer constants?

	Please respond by e-mail.  I will summarize if interest warrants.
--
        Peter L. Montgomery 
        pmontgom@MATH.UCLA.EDU 
        Department of Mathematics, UCLA, Los Angeles, CA 90024-1555
If I spent as much time on my dissertation as I do reading news, I'd graduate.