XL Fortran for Linux
XL Fortran 言語の基本
文字
名前
ステートメント
ステートメント・キーワード
ステートメント・ラベル
行およびソース形式
固定ソース形式
自由ソース形式
IBM 自由ソース形式
条件付きコンパイル
ステートメントおよび実行の順序
データ型およびデータ・オブジェクト
データ型
型付きパラメーターおよび指定子
データ・オブジェクト
定数
自動オブジェクト
組み込み型
整数
実数
複素数
論理
文字
バイト
派生型
入出力
派生型の型の決め方
レコード構造
UNION および MAP
型なしリテラル定数
16 進定数
8 進定数
2 進定数
ホレリス定数
型なし定数の使用方法
型の決め方
変数の定義状況
定義を発生させるイベント
未定義を発生させるイベント
割り振り状況
変数のストレージ・クラス
基本ストレージ・クラス
2 次ストレージ・クラス
ストレージ・クラスの割り当て
配列の概念
配列
次元の境界
次元のエクステント
配列のランク、形状、およびサイズ
配列宣言子
明示的形状配列
明示的形状配列の例
自動割り付け配列
調整可能配列
ポインティング先配列
想定形状配列
想定形状配列の例
据え置き形状配列
割り振り可能配列
配列ポインター
想定サイズ配列
想定サイズ配列の例
配列エレメント
注
配列エレメントの順序
配列セクション
添え字トリプレット
ベクトル添え字
配列セクションおよびサブストリングの範囲
配列セクションおよび構造体コンポーネント
配列セクションのランクおよび形状
配列コンストラクター
配列コンストラクターの暗黙 DO リスト
配列にかかわる式
式および割り当て
式および割り当ての概要
1 次子
定数式
定数式の例
初期化式
初期化式の例
宣言式
宣言式の例
演算子および式
算術式
文字
一般式
論理
1 次子
関係式
拡張組み込みおよび定義済み演算
式の評価
演算子の優先順位
BYTE データ・オブジェクトの使用法
組み込み割り当て
算術変換
WHERE 構文
マスクされた配列割り当ての解釈
FORALL 構文
FORALL 構文の解釈
ポインターの割り当て
ポインター割り当ての例
整数ポインターの割り当て
実行制御
ステートメント・ブロック
ASSOCIATE 構文
DO 構文
終端ステートメント
DO WHILE 構文
例
IF 構文
例
SELECT CASE 構文
例
分岐
プログラム単位およびプロシージャー
有効範囲
名前の有効範囲
関連付け
構文関連付け
ホスト関連付け
使用関連付け
ポインター関連付け
整数ポインター関連付け
プログラム単位、プロシージャー、およびサブプログラム
内部プロシージャー
インターフェースの概念
インターフェース・ブロック
インターフェースの例
総称インターフェース・ブロック
明白な総称プロシージャー参照
総称インターフェース・ブロックによる 組み込みプロシージャーの拡張
定義済み演算子
定義済み割り当て
メインプログラム
モジュール
モジュールの例
ブロック・データのプログラム単位
ブロック・データ・プログラム単位の例
関数およびサブルーチン・サブプログラム
プロシージャー参照
組み込みプロシージャー
組み込みプロシージャー名と他の名前の競合
引き数
実引き数の仕様
引き数関連付け
%VAL および %REF
仮引き数の意図
オプションの仮引き数
指定されていないオプションの仮引き数に対する制限事項
文字引き数の長さ
仮引き数としての変数
仮引き数として割り振り可能なオブジェクト
仮引き数としてのポインター
仮引き数としてのプロシージャー
仮引き数としてのアスタリスク
プロシージャー参照の解決
名前に対するプロシージャー参照の解決の規則
総称名に対するプロシージャー参照の解決
再帰
純粋プロシージャー
例
エレメント型プロシージャー
例
XL Fortran 入出力
レコード
定様式レコード
不定様式レコード
ファイル終了レコード
ファイル
外部ファイルの定義
ファイル・アクセス方式
装置
装置の接続
データ転送ステートメント
非同期入出力
アドバンス入出力および非アドバンス入出力
データ転送が行われる前後のファイルの位置
条件および IOSTAT 値
レコードの終わり条件
ファイルの終わり条件
エラー条件
入出力の形式設定
形式指示の形式設定
複素数編集
データ編集記述子
制御編集記述子
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 (定位置) 編集
リスト指示の形式設定
値のセパレーター
リスト指示入力
リスト指示出力
名前リストの形式設定
名前リスト入力
名前リスト出力
ステートメントおよび属性
属性
ALLOCATABLE
ALLOCATE
ASSIGN
ASSOCIATE
AUTOMATIC
BACKSPACE
BIND
BLOCK DATA
BYTE
CALL
CASE
CHARACTER
CLOSE
COMMON
COMPLEX
CONTAINS
CONTINUE
CYCLE
DATA
DEALLOCATE
派生型
DIMENSION
DO
DO WHILE
DOUBLE COMPLEX
DOUBLE PRECISION
ELSE
ELSE IF
ELSEWHERE
END
END (構文)
END INTERFACE
END TYPE
ENDFILE
ENTRY
EQUIVALENCE
EXIT
EXTERNAL
FLUSH
FORALL
FORALL (構文)
FORMAT
FUNCTION
GO TO (割り当て)
GO TO (計算)
GO TO (無条件)
IF (算術)
IF (ブロック)
IF (論理)
IMPLICIT
IMPORT
INQUIRE
INTEGER
INTENT
INTERFACE
INTRINSIC
LOGICAL
MODULE
MODULE PROCEDURE
NAMELIST
NULLIFY
OPEN
OPTIONAL
PARAMETER
PAUSE
POINTER (Fortran 90)
POINTER (整数)
PRINT
PRIVATE
PROCEDURE
PROGRAM
PROTECTED
PUBLIC
READ
REAL
RECORD
RETURN
REWIND
SAVE
SELECT CASE
SEQUENCE
ステートメント関数
STATIC
STOP
SUBROUTINE
TARGET
TYPE
型宣言
USE
VALUE
VIRTUAL
VOLATILE
WAIT
WHERE
WRITE
ディレクティブ
コメント形式および非コメント形式ディレクティブ
コメント形式ディレクティブ
非コメント形式ディレクティブ
ディレクティブおよび最適化
断定ディレクティブ
ループ最適化のためのディレクティブ
ディレクティブの詳細説明
ASSERT
BLOCK_LOOP
CNCALL
COLLAPSE
EJECT
INCLUDE
INDEPENDENT
#LINE
LOOPID
NOSIMD
NOVECTOR
PERMUTATION
@PROCESS
SNAPSHOT
SOURCEFORM
STREAM_UNROLL
SUBSCRIPTORDER
UNROLL
UNROLL_AND_FUSE
ハードウェア固有のディレクティブ
CACHE_ZERO
EIEIO
ISYNC
LIGHT_SYNC
PREFETCH
PROTECTED STREAM
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
組み込みプロシージャー
組み込みプロシージャーのクラス
照会組み込み関数
エレメント型組み込みプロシージャー
システム照会組み込み関数
変換組み込み関数
組み込みサブルーチン
データ表示モデル
整数ビット・モデル
整数データ・モデル
実データ・モデル
組み込みプロシージャーの詳しい記述
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)
COMMAND_ARGUMENT_COUNT()
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)
GET_COMMAND(COMMAND, LENGTH, STATUS)
GET_COMMAND_ARGUMENT(NUMBER, VALUE, LENGTH, STATUS)
GET_ENVIRONMENT_VARIABLE(NAME, VALUE, LENGTH, STATUS, TRIM_NAME)
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)
NEW_LINE(A)
NINT(A, KIND)
NOT(I)
NULL(MOLD)
NUM_PARTHDS()
NUMBER_OF_PROCESSORS(DIM)
NUM_USRTHDS()
PACK(ARRAY, MASK, VECTOR)
POPCNT(I)
POPPAR(I)
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)
ハードウェア固有の組み込みプロシージャー
ALIGNX(K,M)
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)
FRE(X)
FRES(X)
FRSQRTE(X)
FRSQRTES(X)
FSEL(X,Y,Z)
MTFSF(MASK, R)
MTFSFI(BF, I)
MULHY(RA, RB)
POPCNTB(I)
ROTATELI(RS, IS, SHIFT, MASK)
ROTATELM(RS, SHIFT, MASK)
SETFSB0(BT)
SETFSB1(BT)
SFTI(M, Y)
SWDIV(X,Y)
SWDIV_NOCHK(X,Y)
TRAP(A, B, TO)
言語相互運用可能フィーチャー
型の相互運用可能性
組み込み型
派生型
変数の相互運用可能性
共通ブロックの相互運用可能性
プロシージャーの相互運用可能性
ISO_C 結合モジュール
kind 型付きパラメーターとして使用するための定数
文字定数
その他の定数
型
プロシージャー
バインディング・ラベル
ISO_FORTRAN_ENV 組み込みモジュール
CHARACTER_STORAGE_SIZE
ERROR_UNIT
FILE_STORAGE_SIZE
INPUT_UNIT
IOSTAT_END
IOSTAT_EOR
NUMERIC_STORAGE_SIZE
OUTPUT_UNIT
OpenMP 実行環境ルーチンおよびロック・ルーチン
omp_destroy_lock(svar)
omp_destroy_nest_lock(nvar)
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(svar)
omp_init_nest_lock(nvar)
omp_set_dynamic(enable_expr)
omp_set_lock(svar)
omp_set_nested(enable_expr)
omp_set_nest_lock(nvar)
omp_set_num_threads(number_of_threads_expr)
omp_test_lock(svar)
omp_test_nest_lock(nvar)
omp_unset_lock(svar)
omp_unset_nest_lock(nvar)
Pthreads ライブラリー・モジュール
Pthreads のデータ構造、関数、およびサブルーチン
Pthreads データ型
スレッド属性オブジェクトに操作を実行する関数
スレッドに操作を実行する関数およびサブルーチン
mutex 属性オブジェクトに操作を実行する関数
mutex オブジェクトに操作を実行する関数
条件変数の属性オブジェクトに操作を実行する関数
条件変数オブジェクトに操作を実行する関数
スレッド固有データに操作を実行する関数
制御スレッド取り消し機能に操作を実行する関数およびサブルーチン
読み取り/書き込みロック属性オブジェクトに操作を実行する関数
読み取り/書き込みロック・オブジェクトに操作を実行する関数
1 回限りの初期化の操作を実行する関数
f_maketime(delay)
f_pthread_attr_destroy(attr)
f_pthread_attr_getdetachstate(attr, detach)
f_pthread_attr_getguardsize(attr, guardsize)
f_pthread_attr_getinheritsched(attr, inherit)
f_pthread_attr_getschedparam(attr, param)
f_pthread_attr_getschedpolicy(attr, policy)
f_pthread_attr_getscope(attr, scope)
f_pthread_attr_getstack(attr, stackaddr, ssize)
f_pthread_attr_init(attr)
f_pthread_attr_setdetachstate(attr, detach)
f_pthread_attr_setguardsize(attr, guardsize)
f_pthread_attr_setinheritsched(attr, inherit)
f_pthread_attr_setschedparam(attr, param)
f_pthread_attr_setschedpolicy(attr, policy)
f_pthread_attr_setscope(attr, scope)
f_pthread_attr_setstack(attr, stackaddr, ssize)
f_pthread_attr_t
f_pthread_cancel(thread)
f_pthread_cleanup_pop(exec)
f_pthread_cleanup_push(cleanup, flag, arg)
f_pthread_cond_broadcast(cond)
f_pthread_cond_destroy(cond)
f_pthread_cond_init(cond, cattr)
f_pthread_cond_signal(cond)
f_pthread_cond_t
f_pthread_cond_timedwait(cond, mutex, timeout)
f_pthread_cond_wait(cond, mutex)
f_pthread_condattr_destroy(cattr)
f_pthread_condattr_getpshared(cattr, pshared)
f_pthread_condattr_init(cattr)
f_pthread_condattr_setpshared(cattr, pshared)
f_pthread_condattr_t
f_pthread_create(thread, attr, flag, ent, arg)
f_pthread_detach(thread)
f_pthread_equal(thread1, thread2)
f_pthread_exit(ret)
f_pthread_getconcurrency()
f_pthread_getschedparam(thread, policy, param)
f_pthread_getspecific(key, arg)
f_pthread_join(thread, ret)
f_pthread_key_create(key, dtr)
f_pthread_key_delete(key)
f_pthread_key_t
f_pthread_kill(thread, sig)
f_pthread_mutex_destroy(mutex)
f_pthread_mutex_init(mutex, mattr)
f_pthread_mutex_lock(mutex)
f_pthread_mutex_t
f_pthread_mutex_trylock(mutex)
f_pthread_mutex_unlock(mutex)
f_pthread_mutexattr_destroy(mattr)
f_pthread_mutexattr_getpshared(mattr, pshared)
f_pthread_mutexattr_gettype(mattr, type)
f_pthread_mutexattr_init(mattr)
f_pthread_mutexattr_setpshared(mattr, pshared)
f_pthread_mutexattr_settype(mattr, type)
f_pthread_mutexattr_t
f_pthread_once(once, initr)
f_pthread_once_t
f_pthread_rwlock_destroy(rwlock)
f_pthread_rwlock_init(rwlock, rwattr)
f_pthread_rwlock_rdlock(rwlock)
f_pthread_rwlock_t
f_pthread_rwlock_tryrdlock(rwlock)
f_pthread_rwlock_trywrlock(rwlock)
f_pthread_rwlock_unlock(rwlock)
f_pthread_rwlock_wrlock(rwlock)
f_pthread_rwlockattr_destroy(rwattr)
f_pthread_rwlockattr_getpshared(rwattr, pshared)
f_pthread_rwlockattr_init(rwattr)
f_pthread_rwlockattr_setpshared(rwattr, pshared)
f_pthread_rwlockattr_t
f_pthread_self()
f_pthread_setcancelstate(state, oldstate)
f_pthread_setcanceltype(type, oldtype)
f_pthread_setconcurrency(new_level)
f_pthread_setschedparam(thread, policy, param)
f_pthread_setspecific(key, arg)
f_pthread_t
f_pthread_testcancel()
f_sched_param
f_sched_yield()
f_timespec
浮動小数点制御および照会のプロシージャー
fpgets fpsets
浮動小数点制御および照会のための効果的なプロシージャー
xlf_fp_util 浮動小数点プロシージャー
IEEE モジュールとサポート
コンパイルと例外処理
IEEE モジュールをインプリメントするための一般規則
IEEE 派生データ型と定数
IEEE 演算子
IEEE プロシージャー
浮動小数点状況に関する規則
例
サービス・プロシージャーおよびユーティリティー・プロシージャー
一般的なサービス・プロシージャーおよび ユーティリティー・プロシージャー
サービス・プロシージャーおよび ユーティリティー・プロシージャーのリスト
alarm_(time, func)
bic_(X1, X2)
bis_(X1, X2)
bit_(X1, X2)
clock_()
ctime_(STR, TIME)
date()
dtime_(dtime_struct)
etime_(etime_struct)
exit_(exit_status)
fdate_(str)
fiosetup_(unit, command, argument)
flush_(lunit)
ftell_(lunit)
ftell64_(lunit)
getarg(i1,c1)
getcwd_(name)
getfd(lunit)
getgid_()
getlog_(name)
getpid_()
getuid_()
global_timef()
gmtime_(stime, tarray)
hostnm_(name)
iargc()
idate_(idate_struct)
ierrno_()
irand()
irtc()
itime_(itime_struct)
jdate()
lenchr_(str)
lnblnk_(str)
ltime_(stime, tarray)
mclock()
qsort_(array, len, isize, compar)
qsort_down(array, len, isize)
qsort_up(array, len, isize)
rtc()
setrteopts(c1)
sleep_(sec)
time_()
timef()
timef_delta(t)
umask_(cmask)
usleep_(msec)
xl__trbk()
付録 A. 異なる標準の間の互換性
Fortran 90 の互換性
使用されなくなった機能
削除された機能
付録 B. ASCII 文字セットと EBCDIC 文字セット
用語集
