XL Fortran for AIX V8.1.1
ランゲージ・リファレンス
第 1 部 XL Fortran 言語
第 1 章 IBM XL Fortran for AIX の概要
XL Fortran (XLF)
OpenMP とは何か
コンパイラー・ディレクティブ
ライブラリー・ルーチン
環境変数
Fortran 95 とは何か
FORALL
PURE
ELEMENTAL
初期化
仕様関数
削除された機能
Fortran 90 とは何か
Fortran 90 自由ソース形式
パラメーター化されたデータ型
派生型
配列の機能強化
ポインター
動的処理
制御構造体の機能強化
プロシージャーの機能強化
モジュール
新規の組み込みプロシージャー
有効な XL Fortran プログラムと無効な XL Fortran プログラム
第 2 章 言語エレメント
文字
名前
ステートメント
ステートメント・キーワード
ステートメント・ラベル
行およびソース形式
固定ソース形式
自由ソース形式
IBM 自由ソース形式
条件付きコンパイル
ステートメントおよび実行の順序
第 3 章 データ型およびデータ・オブジェクト
データ型
型付きパラメーターおよび指定子
データ・オブジェクト
定数
自動オブジェクト
組み込み型
整数
実数
複素数
論理
文字
バイト
派生型
入出力
派生型のタイプの決め方
レコード構造
UNION および MAP
タイプなしリテラル定数
16 進定数
8 進定数
2 進定数
ホレリス定数
タイプなし定数の使用方法
タイプの決め方
変数の定義状況
定義を発生させるイベント
未定義を発生させるイベント
割り振り状況
変数のストレージ・クラス
基本ストレージ・クラス
2 次ストレージ・クラス
ストレージ・クラスの割り当て
第 4 章 配列の概念
配列
次元の境界
次元のエクステント
配列のランク、形状、およびサイズ
配列宣言子
明示的形状配列
明示的形状配列の例
自動割り付け配列
整合配列
ポインティング先配列
想定形状配列
想定形状配列の例
据え置き形状配列
割り振り可能配列
配列ポインター
想定サイズ配列
想定サイズ配列の例
配列エレメント
注
配列エレメントの順序
配列セクション
添え字トリプレット
ベクトル添え字
配列セクションおよびサブストリングの範囲
配列セクションおよび構造体コンポーネント
配列セクションのランクおよび形状
配列コンストラクター
配列コンストラクターの暗黙 DO リスト
配列にかかわる式
第 5 章 式および割り当て
はじめに
1 次子
定数式
定数式の例
初期化式
初期化式の例
宣言式
宣言式の例
演算子および式
一般式
算術式
文字
関係式
論理
1 次子
拡張組み込みおよび定義済み演算
式の計算
演算子の優先順位
BYTE データ・オブジェクトの使用法
組み込み割り当て
算術変換
WHERE 構造体
マスクされた配列割り当ての解釈
FORALL 構造体
FORALL 構造体の解釈
ポインターの割り当て
ポインター割り当ての例
整数ポインターの割り当て
第 6 章 制御構造
ステートメント・ブロック
IF 構造体
例
CASE 構造体
例
DO 構造体
終端ステートメント
DO WHILE 構造体
例
分岐
第 7 章 プログラム単位およびプロシージャー
有効範囲
名前の有効範囲
関連付け
ホスト関連付け
使用関連付け
ポインター関連付け
整数ポインター関連付け
プログラム単位、プロシージャー、およびサブプログラム
内部プロシージャー
インターフェースの概念
インターフェース・ブロック
インターフェースの例
総称インターフェース・ブロック
明白な総称プロシージャー参照
総称インターフェース・ブロックによる 組み込みプロシージャーの拡張
定義済み演算子
定義済み割り当て
メインプログラム
モジュール
モジュールの例
ブロック・データのプログラム単位
ブロック・データ・プログラム単位の例
関数およびサブルーチン・サブプログラム
プロシージャー参照
組み込みプロシージャー
組み込みプロシージャー名と他の名前の不一致
引き数
実引き数の仕様
引き数関連付け
%VAL および %REF
仮引き数の意図
オプションの仮引き数
指定されていないオプションの仮引き数に対する制限事項
文字引き数の長さ
仮引き数としての変数
仮引き数として割り振り可能なオブジェクト
仮引き数としてのポインター
仮引き数としてのプロシージャー
仮引き数としてのアスタリスク
プロシージャー参照の解決
名前に対するプロシージャー参照の解決の規則
総称名に対するプロシージャー参照の解決
再帰
純粋プロシージャー
例
エレメント型プロシージャー
例
第 8 章 I/O の概念
レコード
定様式レコード
不定様式レコード
ファイル終了レコード
ファイル
外部ファイル
外部ファイル・アクセス・モード: 順次、直接、およびストリーム
内部ファイル
装置
装置の接続
データ転送ステートメントの実行
データ転送ステートメントの非同期の実行
アドバンス I/O および非アドバンス I/O
データ転送が行われる前後のファイルの位置
条件および IOSTAT 値
レコードの終わり条件
ファイルの終わり条件
エラー条件
第 9 章 I/O の形式設定
形式指示の形式設定
データ編集記述子
制御編集記述子
文字ストリング編集記述子
編集
複素数編集
データ編集記述子
A (文字) 編集
B (2 進) 編集
E、D、および Q (拡張精度) 編集
EN 編集
ES 編集
F (指数なし実数) 編集
G (一般) 編集
I (整数) 編集
L (論理) 編集
O (8 進数) 編集
Q (文字カウント) 編集
Z (16 進) 編集
制御編集記述子
/ (スラッシュ) 編集
: (コロン) 編集
$ (ドル記号) 編集
アポストロフィ / 二重引用符編集 (文字ストリング編集記述子)
BN (ブランク・ヌル) および BZ (ブランク・ゼロ) 編集
H 編集
P (スケール因数) 編集
S、SP、および SS (符号制御) 編集
T、TL、TR、および X (定位置) 編集
I/O リストと形式仕様の相互作用
リスト指示の形式設定
リスト指示入力
リスト指示出力
名前リストの形式設定
名前リスト入力データ
名前リスト出力データ
第 10 章 ステートメントおよび属性
属性
ALLOCATABLE
ALLOCATE
ASSIGN
AUTOMATIC
BACKSPACE
BLOCK DATA
BYTE
CALL
CASE
CHARACTER
CLOSE
COMMON
COMPLEX
CONTAINS
CONTINUE
CYCLE
DATA
DEALLOCATE
派生型 (TYPE)
DIMENSION
DO
DO WHILE
DOUBLE COMPLEX
DOUBLE PRECISION
ELSE
ELSE IF
ELSEWHERE
END
END (構造体)
END INTERFACE
END TYPE
ENDFILE
ENTRY
EQUIVALENCE
EXIT
EXTERNAL
FORALL
FORALL (構造体)
FORMAT
FUNCTION
GO TO (割り当て)
GO TO (計算)
GO TO (無条件)
IF (算術)
IF (ブロック)
IF (論理)
IMPLICIT
INQUIRE
INTEGER
INTENT
INTERFACE
INTRINSIC
LOGICAL
MODULE
MODULE PROCEDURE
NAMELIST
NULLIFY
OPEN
OPTIONAL
PARAMETER
PAUSE
POINTER (Fortran 90)
POINTER (整数)
PRINT
PRIVATE
PROGRAM
PROTECTED
PUBLIC
READ
REAL
RECORD
RETURN
REWIND
SAVE
SELECT CASE
SEQUENCE
ステートメント関数
STATIC
STOP
SUBROUTINE
TARGET
TYPE
タイプ宣言
USE
VALUE
VIRTUAL
VOLATILE
WAIT
WHERE
WRITE
第 11 章 汎用ディレクティブ
注釈形式および非注釈形式ディレクティブ
注釈形式ディレクティブ
非注釈形式ディレクティブ
ディレクティブおよび最適化
断定ディレクティブ
ループ・アンロール用ディレクティブ
ディレクティブの詳細説明
ASSERT
CNCALL
COLLAPSE
EJECT
INCLUDE
INDEPENDENT
#LINE
PERMUTATION
@PROCESS
SNAPSHOT
SOURCEFORM
STREAM_UNROLL
SUBSCRIPTORDER
UNROLL
UNROLL_AND_FUSE
第 12 章 組み込みプロシージャー
組み込みプロシージャーのクラス
照会組み込み関数
エレメント型組み込みプロシージャー
システム照会組み込み関数
変換組み込み関数
組み込みサブルーチン
データ表示モデル
整数ビット・モデル
整数データ・モデル
実データ・モデル
組み込みプロシージャーの詳しい記述
ABORT ()
ABS (A)
ACHAR (I)
ACOS (X)
ACOSD (X)
ADJUSTL (STRING)
ADJUSTR (STRING)
AIMAG (Z), IMAG (Z)
AINT (A, KIND)
ALL (MASK, DIM)
ALLOCATED(ARRAY) または ALLOCATED(SCALAR)
ANINT (A, KIND)
ANY (MASK, DIM)
ASIN (X)
ASIND (X)
ASSOCIATED (POINTER, TARGET)
ATAN (X)
ATAND (X)
ATAN2 (Y, X)
ATAN2D (Y, X)
BIT_SIZE (I)
BTEST (I, POS)
CEILING(A, KIND)
CHAR (I, KIND)
CMPLX (X, Y, KIND)
CONJG (Z)
COS (X)
COSD (X)
COSH (X)
COUNT (MASK, DIM)
CPU_TIME(TIME)
CSHIFT (ARRAY, SHIFT, DIM)
CVMGx (TSOURCE, FSOURCE, MASK)
DATE_AND_TIME (DATE, TIME, ZONE, VALUES)
DBLE (A)
DCMPLX (X, Y)
DIGITS (X)
DIM (X, Y)
DOT_PRODUCT (VECTOR_A, VECTOR_B)
DPROD (X, Y)
EOSHIFT (ARRAY, SHIFT, BOUNDARY, DIM)
EPSILON (X)
ERF (X)
ERFC (X)
EXP (X)
EXPONENT (X)
FLOOR(A, KIND)
FRACTION (X)
GAMMA(X)
GETENV (NAME, VALUE)
HFIX (A)
HUGE (X)
IACHAR (C)
IAND (I, J)
IBCLR (I, POS)
IBITS (I, POS, LEN)
IBSET (I, POS)
ICHAR (C)
IEOR (I, J)
ILEN (I)
IMAG (Z)
INDEX (STRING, SUBSTRING, BACK)
INT (A, KIND)
INT2(A)
IOR (I, J)
ISHFT (I, SHIFT)
ISHFTC (I, SHIFT, SIZE)
KIND (X)
LBOUND (ARRAY, DIM)
LEADZ (I)
LEN (STRING)
LEN_TRIM (STRING)
LGAMMA (X)
LGE (STRING_A, STRING_B)
LGT (STRING_A, STRING_B)
LLE (STRING_A, STRING_B)
LLT (STRING_A, STRING_B)
LOC (X)
LOG (X)
LOG10 (X)
LOGICAL (L, KIND)
LSHIFT (I, SHIFT)
MATMUL(MATRIX_A, MATRIX_B, MINDIM)
MAX (A1, A2, A3, ...)
MAXEXPONENT (X)
MAXLOC(ARRAY, DIM, MASK) または MAXLOC(ARRAY, MASK)
MAXVAL(ARRAY, DIM, MASK) または MAXVAL(ARRAY, MASK)
MERGE (TSOURCE, FSOURCE, MASK)
MIN (A1, A2, A3, ...)
MINEXPONENT (X)
MINLOC(ARRAY, DIM, MASK) または MINLOC(ARRAY, MASK)
MINVAL(ARRAY, DIM, MASK) または MINVAL(ARRAY, MASK)
MOD (A, P)
MODULO (A, P)
MVBITS (FROM, FROMPOS, LEN, TO, TOPOS)
NEAREST (X,S)
NINT (A, KIND)
NOT (I)
NULL(MOLD)
NUM_PARTHDS()
NUMBER_OF_PROCESSORS (DIM)
NUM_USRTHDS()
PACK (ARRAY, MASK, VECTOR)
PRECISION (X)
PRESENT (A)
PROCESSORS_SHAPE ()
PRODUCT(ARRAY, DIM, MASK) または PRODUCT(ARRAY, MASK)
QCMPLX (X, Y)
QEXT (A)
RADIX (X)
RAND ()
RANDOM_NUMBER (HARVEST)
RANDOM_SEED (SIZE, PUT, GET, GENERATOR)
RANGE (X)
REAL (A, KIND)
REPEAT (STRING, NCOPIES)
RESHAPE (SOURCE, SHAPE, PAD, ORDER)
RRSPACING (X)
RSHIFT (I, SHIFT)
SCALE (X,I)
SCAN (STRING, SET, BACK)
SELECTED_INT_KIND (R)
SELECTED_REAL_KIND (P, R)
SET_EXPONENT (X,I)
SHAPE(SOURCE)
SIGN (A, B)
SIGNAL (I, PROC)
SIN (X)
SIND (X)
SINH (X)
SIZE (ARRAY, DIM)
SIZEOF(A)
SPACING (X)
SPREAD (SOURCE, DIM, NCOPIES)
SQRT (X)
SRAND (SEED)
SUM(ARRAY, DIM, MASK) または SUM(ARRAY, MASK)
SYSTEM (CMD, RESULT)
SYSTEM_CLOCK(COUNT, COUNT_RATE, COUNT_MAX)
TAN (X)
TAND (X)
TANH (X)
TINY (X)
TRANSFER (SOURCE, MOLD, SIZE)
TRANSPOSE (MATRIX)
TRIM (STRING)
UBOUND (ARRAY, DIM)
UNPACK (VECTOR, MASK, FIELD)
VERIFY (STRING, SET, BACK)
第 2 部 XL Fortran でのマルチスレッド・プログラミング
第 13 章 SMP ディレクティブ
SMP ディレクティブの概要
並列領域構造体
作業共用構造体
結合された並列作業共用構造体
同期構造体
その他の OpenMP ディレクティブ
非 OpenMP SMP ディレクティブ
SMP ディレクティブの詳細な説明
ATOMIC
BARRIER
CRITICAL / END CRITICAL
DO / END DO
DO SERIAL
FLUSH
MASTER / END MASTER
ORDERED / END ORDERED
PARALLEL / END PARALLEL
PARALLEL DO / END PARALLEL DO
PARALLEL SECTIONS / END PARALLEL SECTIONS
PARALLEL WORKSHARE / END PARALLEL WORKSHARE
SCHEDULE
SECTIONS / END SECTIONS
SINGLE / END SINGLE
THREADLOCAL
THREADPRIVATE
WORKSHARE
OpenMP ディレクティブ文節
ディレクティブ文節のグローバル規則
COPYIN
COPYPRIVATE
DEFAULT
IF
FIRSTPRIVATE
LASTPRIVATE
NUM_THREADS
ORDERED
PRIVATE
REDUCTION
SCHEDULE
SHARED
第 14 章 OpenMP 実行環境ルーチンおよびロック・ルーチン
omp_destroy_lock
omp_destroy_nest_lock
omp_get_dynamic
omp_get_max_threads
omp_get_nested
omp_get_num_procs
omp_get_num_threads
omp_get_thread_num
omp_get_wtick
omp_get_wtime
omp_in_parallel
omp_init_lock
omp_init_nest_lock
omp_set_dynamic
omp_set_lock
omp_set_nested
omp_set_nest_lock
omp_set_num_threads
omp_test_lock
omp_test_nest_lock
omp_unset_lock
omp_unset_nest_lock
第 15 章 Pthreads ライブラリー・モジュール
Pthreads のデータ構造、関数、およびサブルーチン
Pthreads のデータ構造
スレッド属性オブジェクトに操作を実行する関数
スレッドに操作を実行する関数およびサブルーチン
mutex 属性オブジェクトに操作を実行する関数
mutex オブジェクトに操作を実行する関数
条件変数の属性オブジェクトに操作を実行する関数
条件変数オブジェクトに操作を実行する関数
スレッド固有データに操作を実行する関数
制御スレッド取り消し機能に操作を実行する関数およびサブルーチン
1 回限りの初期化の操作を実行する関数
f_maketime
f_pthread_attr_destroy
f_pthread_attr_getdetachstate
f_pthread_attr_getguardsize
f_pthread_attr_getinheritsched
f_pthread_attr_getschedparam
f_pthread_attr_getschedpolicy
f_pthread_attr_getscope
f_pthread_attr_getstackaddr
f_pthread_attr_getstacksize
f_pthread_attr_init
f_pthread_attr_setdetachstate
f_pthread_attr_setguardsize
f_pthread_attr_setinheritsched
f_pthread_attr_setschedparam
f_pthread_attr_setschedpolicy
f_pthread_attr_setscope
f_pthread_attr_setstackaddr
f_pthread_attr_setstacksize
f_pthread_attr_t
f_pthread_cancel
f_pthread_cleanup_pop
f_pthread_cleanup_push
f_pthread_cond_broadcast
f_pthread_cond_destroy
f_pthread_cond_init
f_pthread_cond_signal
f_pthread_cond_t
f_pthread_cond_timedwait
f_pthread_cond_wait
f_pthread_condattr_destroy
f_pthread_condattr_getpshared
f_pthread_condattr_init
f_pthread_condattr_setpshared
f_pthread_condattr_t
f_pthread_create
f_pthread_detach
f_pthread_equal
f_pthread_exit
f_pthread_getconcurrency
f_pthread_getschedparam
f_pthread_getspecific
f_pthread_join
f_pthread_key_create
f_pthread_key_delete
f_pthread_key_t
f_pthread_kill
f_pthread_mutex_destroy
f_pthread_mutex_getprioceiling
f_pthread_mutex_init
f_pthread_mutex_lock
f_pthread_mutex_setprioceiling
f_pthread_mutex_t
f_pthread_mutex_trylock
f_pthread_mutex_unlock
f_pthread_mutexattr_destroy
f_pthread_mutexattr_getprioceiling
f_pthread_mutexattr_getprotocol
f_pthread_mutexattr_getpshared
f_pthread_mutexattr_gettype
f_pthread_mutexattr_init
f_pthread_mutexattr_setprioceiling
f_pthread_mutexattr_setprotocol
f_pthread_mutexattr_setpshared
f_pthread_mutexattr_settype
f_pthread_mutexattr_t
f_pthread_once
f_pthread_once_t
f_pthread_rwlock_destroy
f_pthread_rwlock_init
f_pthread_rwlock_rdlock
f_pthread_rwlock_t
f_pthread_rwlock_tryrdlock
f_pthread_rwlock_trywrlock
f_pthread_rwlock_unlock
f_pthread_rwlock_wrlock
f_pthread_rwlockattr_destroy
f_pthread_rwlockattr_getpshared
f_pthread_rwlockattr_init
f_pthread_rwlockattr_setpshared
f_pthread_rwlockattr_t
f_pthread_self
f_pthread_setcancelstate
f_pthread_setcanceltype
f_pthread_setconcurrency
f_pthread_setschedparam
f_pthread_setspecific
f_pthread_t
f_pthread_testcancel
f_sched_param
f_sched_yield
f_timespec
第 3 部 XL Fortran 言語ユーティリティー
第 16 章 浮動小数点制御および照会のプロシージャー
fpgets fpsets
浮動小数点制御および照会のための効果的なプロシージャー
xlf_fp_util 浮動小数点プロシージャー
IEEE モジュールとサポート
コンパイルと例外処理
IEEE をインプリメントするための一般規則
IEEE 派生データ型と定数
IEEE 演算子
IEEE プロシージャー
浮動小数点状況に関する規則
例
第 17 章 サービス・プロシージャーおよびユーティリティー・プロシージャー
一般的なサービス・プロシージャーおよび ユーティリティー・プロシージャー
サービス・プロシージャーおよび ユーティリティー・プロシージャーのリスト
alarm_
bic_
bis_
bit_
clock_
ctime_
date
dtime_
etime_
exit_
fdate_
fiosetup_
flush_
ftell_ ftell64_
getarg
getcwd_
getfd
getgid_
getlog_
getpid_
getuid_
global_timef
gmtime_
hostnm_
iargc
idate_
ierrno_
irand
irtc
itime_
jdate
lenchr_
lnblnk_
ltime_
mclock
qsort_
qsort_down
qsort_up
rtc
setrteopts
sleep_
time_
timef
timef_delta
umask_
usleep_
xl_ _trbk
第 4 部 ハードウェアと XL Fortran
第 18 章 ハードウェア・ディレクティブと組み込みプロシージャー
ハードウェア固有のディレクティブ
CACHE_ZERO
ISYNC
LIGHT_SYNC
PREFETCH
ハードウェア固有の組み込みプロシージャー
FCFI(I)
FCTID(X)
FCTIDZ(X)
FCTIW(X)
FCTIWZ(X)
FMADD(A, X, Y)
FMSUB(A, X, Y)
FNABS(X)
FNMADD(A, X, Y)
FNMSUB(A, X, Y)
FRES(X)
FRSQRTE(X)
FSEL(X,Y,Z)
MTFSF(MASK, R)
MTFSFI(BF, I)
MULHY(RA, RB)
ROTATELI(RS, IS, SHIFT, MASK)
ROTATELM(RS, SHIFT, MASK)
SETFSB0(BT)
SETFSB1(BT)
SFTI(M, Y)
TRAP(A, B, TO)
第 5 部 付録および後付け
付録 A. 異なる標準の間の互換性
Fortran 90 の互換性
使用されなくなった機能
削除された機能
付録 B. ASCII 文字セットと EBCDIC 文字セット
特記事項
商標
用語集
指標
[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]