XL Fortran for AIX V8.1.1

ランゲージ・リファレンス

SYSTEM_CLOCK(COUNT, COUNT_RATE, COUNT_MAX)

リアルタイム・クロックから整数データを戻します。

引き数タイプおよび属性

COUNT (オプション)
INTENT(OUT) 引き数であり、スカラーで、タイプがデフォルトの整数でなければなりません。 COUNT の初期値は、プロセッサー・クロックの現行値によって異なり、 0 から COUNT_MAX までの範囲内の値になります。 COUNT は、COUNT が COUNT_MAX の値に到達するまで、各クロック・カウントごとに 1 ずつ増分します。 COUNT_MAX に到達した後、次のクロック・カウントで COUNT の値はゼロにリセットされます。

COUNT_RATE (オプション)
INTENT(OUT) 引き数であり、スカラーで、タイプがデフォルトの整数でなければなりません。デフォルトであるセンチ秒の解像度を使用すると、 COUNT_RATE は 1 秒当たりのプロセッサー・クロックのカウント数になるか、またはクロックがない場合はゼロになります。

-qsclk=micro を使用してマイクロ秒の解像度を指定した場合は、 COUNT_RATE の値は 1 秒当たり 1 000 000 クロック・カウントになります。

COUNT_MAX (オプション)
INTENT(OUT) 引き数であり、スカラーで、タイプがデフォルトの整数でなければなりません。デフォルトであるセンチ秒の解像度を使用すると、 COUNT_MAX は指定されたプロセッサー・クロックの最大クロック・カウント数になります。

-qsclk=micro とデフォルトの INTEGER(4) を使用してマイクロ秒の解像度を指定した場合、COUNT_MAX の値は 1 799 999 999 クロック・カウント、つまり約 30 分になります。

-qsclk=micro とデフォルトの INTEGER(8) を使用してマイクロ秒の解像度を指定した場合、COUNT_MAX の値は 8 639 999 999 クロック・カウント、つまり約 24 時間になります。

クラス

サブルーチン

+----------------------------------IBM 拡張----------------------------------+

次の例では、クロックは 24 時間クロックです。 SYSTEM_CLOCK の呼び出し後、COUNT には 1 秒当たりのクロック刻みで表された 1 日の時刻が含まれます。 1 秒当たりの刻み数は COUNT_RATE で使用できます。 COUNT_RATE 値は インプリメンテーションによって異なります。

     INTEGER, DIMENSION(8) :: IV
     TIME_SYNC: DO
     CALL DATE_AND_TIME(VALUES=IV)
     IHR  = IV(5)
     IMIN = IV(6)
     ISEC = IV(7)
     CALL SYSTEM_CLOCK(COUNT=IC, COUNT_RATE=IR, COUNT_MAX=IM)
     CALL DATE_AND_TIME(VALUES=IV)
 
     IF ((IHR == IV(5)) .AND. (IMIN == IV(6)) .AND. &
       (ISEC == IV(7))) EXIT TIME_SYNC
 
     END DO TIME_SYNC
 
     IDAY_SEC = 3600*IHR + IMIN*60 + ISEC
     IDAY_TICKS = IDAY_SEC * IR
 
     IF (IDAY_TICKS /= IC) THEN
       STOP 'clock error'
     ENDIF
     END

+--------------------------------IBM 拡張の終り-------------------------------+

関連情報

システム・クロックの解像度の指定について詳しくは、「ユーザーズ・ガイド」の -qsclk コンパイラー・オプションを参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]