fortranのコンパイラ(ifort) |
単精度実数を扱うには -assume byterecl のオプションが必要。 エラー行の表示のためのオプション -CB -trace -check -Cが添え字範囲のチェック メモリを大量に使うoption -i_dynamic -mcmodel=medium 添字範囲チェックをすればsegmentation faultに遭遇する機会がへる。 |
文字の倍精度と型の変換 |
real(a,kind=8) 単精度→倍精度 real(a,kind=4) 倍精度→単精度 整数→文字への型変換 integer, dimension(1000) :: tmpid1 character(4) :: year4 write(year4,'(I4.4)') tmpid1(n) characterを数字に変換するにはwriteの代わりにreadとします。 |
構文 |
case構文
select case(n) case(1,3,5,7,8,10,12) days=31 case(4,6,9,11) days=30 end select もできますけど, dataをつかって integer,dimension(12) :: days data days/ 31,28,31,30,31,30,31,31,30,31,30,31 / のほうがスマート。 |
割り付け配列allocatable array |
配列の大きさを後で決定する方法 real(8),allocatable :: x(:) read(*,*) i allocate(x(i)) deallocate(x(i)) |