No 16 Bytes Integer?

No 16 Bytes Integer?

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 帖子 / 0 全新
最新文章
如需更全面地了解编译器优化,请参阅优化注意事项
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.

The syntax highlighter is being reworked.

Steve

Thank you TimP and Steve Lionel for your answer.

登陆并发表评论。