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.