No 16 Bytes Integer?

No 16 Bytes Integer?

Bild des Benutzers holysword

Doesn't ifort support 16 bytes integers?

The lines

  print *, selected_int_kind(1)
  print *, selected_int_kind(4)
  print *, selected_int_kind(8)
  print *, selected_int_kind(16)
  print *, selected_int_kind(32)
  print *, selected_int_kind(64)
  print *, huge(0_1)
  print *, huge(0_2)
  print *, huge(0_4)
  print *, huge(0_8)
  print *, huge(0_16)

Compile fine with gfortran but give the error 

error #6684: This is an incorrect value for a kind type parameter in this context. [16]
print *, huge(0_16)

for ifort 12.1.5 20120612.

Also, what happened to the syntax highlighter of the forums? (I personally dislike this new layout, any way to drop back to the old one?)

4 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.
Best Reply

No, Intel compilers don't support 16-byte integers. I suppose among the reasons for considering it would be existence of important applications (commercial or open source) which use it, and fuller support of wide integer operations in future instruction sets.
I notice that 16-byte integer support is a configure option in gfortran, haven't checked whether it's included in versions such as mingw. (Remember, even mingw requires Microsoft library support for all the data types). There's less of a requirement to make gfortran for Windows and linux work alike.
According to gfortran documentation, there aren't automatic promotion options to use integer-16 in place of integer-8 such as there are for floating point data types.

Bild des Benutzers Steve Lionel (Intel)

The syntax highlighter is being reworked.

Bild des Benutzers holysword

Thank you TimP and Steve Lionel for your answer.

Melden Sie sich an, um einen Kommentar zu hinterlassen.