fortran66のブログ

fortran について書きます。

MS-FORTRAN v5.1

MS-FORTRAN v5.1 (PC-9801 用)。FORTRAN77 規格に(ほぼ?)完全対応していました。

マニュアルには数値フォーマット等について詳しく書いてあって感心しました。とはいえ当時定価が9万8000円だったのだから、そのくらい当然か。

DOS の 640K の制約のせいで、ほとんど使い物になりませんでしたが、大型計算センターが休みの日にソースの文法チェックをするのには十分でした。バグはちょこちょこあって PC-AT 版にはパッチも出ています。PC9801 版に関しては不明。ググレでございますw

なお、イタリア方面のサイトにいくと、PC-AT 版の MSF5.1 が落ちています。その他 FORTRAN77 サブセットのMS-FORTRAN v3 なども落ちています。

  • 計算例

ガウスの算術幾何平均 (AGM) 法による円周率 PI の計算プログラム。
収束が早いので、倍精度には6項も要らなかったと思います。

      PROGRAM AGM
      REAL*8 A(6), B(6), C(6), S, PI
      A(1) = 1.0D0
      B(1) = 1.0D0 / SQRT(2.0D0)
      C(1) = B(1)
      DO 10 I = 2, 6
       A(I) = 0.5D0 * ( A(I - 1) + B(I - 1) )
       B(I) = SQRT(     A(I - 1) * B(I - 1) )   
       C(I) = 0.5D0 * ( A(I - 1) - B(I - 1) )
   10 CONTINUE
      S = 0.0D0
      DO 20 I = 1, 6
       S = S + 2**(I - 1) * C(I) * C(I)
   20 CONTINUE
      PI = 2.0D0 * A(6) * A(6) / ( 1.0D0 - S )
      PRINT *, 'PI =', PI
      STOP
      END

参考
竹之内・伊藤『π −πの計算 アルキメデスから現代まで』

ただし、116ページの係数 c_k の式は間違っているようです。ここでは、c_0={1\over\sqrt{2}},c_k={1\over2}(a_{k-1} - b_{k-1}) と修正しています。