Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

Integer*8 Arithmetic

Gerald_R_
Beginner
158 Views

I'm using Intel Fortran XE 2013 SP1 to modify an existing Fortran code (under Windows 7).

I'm 'upgrading' some of the INTEGERs to INTEGER*8 (from *4), but I'm then having problems with some of the arithmetic of the *8 integers.

Adding/subtracting the *8 integers all works OK, but when multiplying causes the program to 'fall-over' (I'm running it under Debug).  These particular integers all have fairly small values (<100), so cannot be an overflow problem.  (I'm not mixing *8 with *4).

Could there be a problem with Project Properties - what could be causing this ?

Thanks,

Gerald Reeves.

 

0 Kudos
5 Replies
mecej4
Black Belt
158 Views

I think that you need to provide more details of the circumstances. Complete example code would help.

What do you mean by "fall-over"? Are you compiling for IA-32 or X64? Surely, you are not claiming that multiplying any two 8-byte integers causes a problem?

Gerald_R_
Beginner
158 Views

Thanks for the reply  -   its seems that I don't really have a problem when I thought I did.

I was using 'F11' to step into the integer*8 arithmetic/calculations when under Debug.  However, for multiplication (and division), F11 'drilled into' the assembler dialog tab when using integer*8.

I've never seen this before for integer*4 calculations and I assumed there was a problem ?  Apparently not; stepping-out (shift-F11) just continues the execution of the code with the correct values.

GR.

TimP
Black Belt
158 Views

As 32 bit mode doesn't include simple 64 bit integer operations, some may be implemented as library function calls.

mecej4
Black Belt
158 Views

If you are going to run programs containing 64-bit integers in the debugger, it is probably best to compile for X64 to avoid the distraction of falling into assembly routines when doing "Step-In". 

Gerald_R_
Beginner
158 Views

Thank you all for the useful replies

    -    Yes, I am using the 32bit compiler option.   Will certainly consider the 64 bit compiler if I have to do much more of this !

GR.

 

Reply