Windows用コンパイラ MAC用コンパイラ Linux/Unix用コンパイラ
 
ナビゲーション:前へ   上へ   次へ

9.4 Fortran 95組込み手続き

このセクションにはFortran 90/95組込み関数とサブルーチンに関する簡単な 参照ガイドが含まれています。

‘*’を付した手続きは他の組込み手続きの非汎用版です。 ‘E’を付した手続きは基本的なものです。

I’を付した手続きは問合せ関数です。これらは値ではなく変数 の特性を問い合わせます。

P’を付した手続きは実引数として使用できます。手続きの引数 として使用する場合、すべての引数はスカラであり、省略可能な引数は許され ません。そしてそれは汎用的なものにはなりません。名前が通常の汎用的なも のであれば、手続き引数版は文字IからNで始まる場合にデフォルト整数 (INTEGER)、そうでない場合にデフォルト実数(REAL)となり ます。

KIND’と書かれた引数は初期化式でなくてはなりません。

イタリック体の引数(例えば‘DIM’)は省略可能です。

組込み関数

関数名 フラグ 概要
ABS(A) EP 絶対値。
ACHAR(I) E ASCII値から文字を生成する。
ACOS(X) EP 逆余弦。
ADJUSTL(STRING) E 先行する空白を末尾に移動することにより文字列を左揃えにする。
ADJUSTR(STRING) E 文字列を右揃えにする。
AIMAG(Z) EP 複素数の虚数部。
AINT(A,KIND ) EP 切り捨てて整数にする。
ALL(MASK,DIM) MASK.AND.演算によって換算する。
ALLOCATED(ARRAY) I 割付け配列が割り付けられているかどうか。
ALOG(X) *P スカラデフォルト実数に限定されたLOG関数。
ALOG10(X) *P スカラデフォルト実数に限定されたLOG10関数。
AMAX0(A1,A2,A3,...) * スカラデフォルト整数引数を取るREAL(MAX(A1,A2,A3,...))
AMAX1(A1,A2,A3,...) * スカラデフォルト実数に限定されたMAX関数。
AMIN0(A1,A2,A3,...) * スカラデフォルト整数引数を取るREAL(MIN(A1,A2,A3,...))
AMIN1(A1,A2,A3,...) * スカラデフォルト整数に限定されたMIN関数。
AMOD(A,P) *P スカラデフォルト実数に限定されたMOD関数。
ANINT(A,KIND) EP 整数に丸める。
ANY(MASK,DIM) MASK.OR.演算によって換算する。
ASIN(X) EP 逆正弦。
ASSOCIATED(POINTER,TARGET) I ポインタがターゲットに結合されているかどうか。
ATAN(X) EP 逆正接。
ATAN2(Y,X) EP 逆正接。
BIT_SIZE(I) 整数型におけるビット数。
BTEST(I,POS) E 特定のビットが1かどうか。
CABS(A) *P スカラデフォルト複素数に限定されたABS関数。
CCOS(X) *P スカラデフォルト複素数に限定されたCOS関数。
CEILING(A,KIND) E A以上の最小整数。
CEXP(X) *P スカラデフォルト複素数に限定されたEXP関数。
CHAR(I,KIND) E ネーティブコードの文字セット値から文字を生成する。
CLOG(X) *P スカラデフォルト複素数に限定されたLOG関数。
CMPLX(X,Y,KIND) E 複素数への変換。
CONJG(Z) EP 共役複素数。
COS(X) EP 余弦。
COSH(X) EP 双曲線余弦。
COUNT(MASK,DIM) .TRUE.要素をカウントすることによってMASKを換算する。
CSHIFT(ARRAY,SHIFT,DIM) 配列の循環型シフト。
CSIN(X) *P スカラデフォルト複素数に限定されたSIN関数。
CSQRT(X) *P スカラデフォルト複素数に限定されたSQRT関数。
DABS(A) *P スカラ倍精度に限定されたABS関数。
DACOS(X) *P スカラ倍精度に限定されたACOS関数。
DASIN(X) *P スカラ倍精度に限定されたASIN関数。
DATAN(X) *P スカラ倍精度に限定されたATAN関数。
DATAN2(X) *P スカラ倍精度に限定されたATAN2関数。
DBLE(A) E 倍精度に変換する。
DCOS(X) *P スカラ倍精度に限定されたCOS関数。
DCOSH(X) *P スカラ倍精度に限定されたCOSH関数。
DDIM(X,Y) *P スカラ倍精度に限定されたDIM関数。
DEXP(X) *P スカラ倍精度に限定されたEXP関数。
DIGITS(X) I Xに対する数体系中の仮数部桁数。
DIM(X,Y) EP 非負の差、MAX(0,X-Y)
DINT(A) *P スカラ倍精度に限定されたAINT関数。
DLOG(X) *P スカラ倍精度に限定されたLOG関数。
DLOG10(X) *P スカラ倍精度に限定されたLOG10関数。
DMAX1(A1,A2,A3,...) * スカラ倍精度に限定されたMAX関数。
DMIN1(A1,A2,A3,...) * スカラ倍精度に限定されたMIN関数。
DMOD(A,P) *P スカラ倍精度に限定されたMOD関数。
DNINT(A) *P スカラ倍精度に限定されたANINT関数。
DOT_PRODUCT(VECTOR_A,VECTOR_B) 内積。
DPROD(X,Y) EP X*Yの倍精度による結果。
DSIGN(A,B) *P スカラ倍精度に限定されたSIGN関数。
DSIN(X) *P スカラ倍精度に限定されたSIN関数。
DSINH(X) *P スカラ倍精度に限定されたSINH関数。
DSQRT(X) *P スカラ倍精度に限定されたSQRT関数。
DTAN(X) *P スカラ倍精度に限定されたTAN関数。
DTANH(X) *P スカラ倍精度に限定されたTANH関数。
EOSHIFT(ARRAY,SHIFT,BOUNDARY,DIM) 配列のend-offシフト。
EPSILON(X) I 1に比べてほとんど無視し得る数。
EXP(X) EP 指数(eX)。
EXPONENT(X) E 浮動小数の指数部。
FLOAT(A) * スカラデフォルト整数に限定されたREAL関数。
FLOOR(A,KIND) E A以下の最大整数。
FRACTION(X) E 浮動小数の仮数部。
HUGE(X) I 実数型数体系中での最大数。
IABS(A) *P スカラデフォルト整数に限定されたABS関数。
IACHAR(C) E 文字のASCII値。
IAND(I,J) E ビット単位のand。
IBCLR(I,POS) E 指定されたビットのクリア。
IBITS(I,POS,LEN) E ビット群の抽出。
IBSET(I,POS) E ビットのセット。
ICHAR(C) E 文字に対するネーティブコードの文字セット値。
IDIM(X,Y) *P スカラデフォルト整数に限定されたDIM関数。
IDINT(A) * スカラ倍精度に限定されたINT関数。
IDNINT(A) *P スカラ倍精度に限定されたNINT関数。
IEOR(I,J) E ビット単位のexclusive or。
IFIX(A) * スカラデフォルト実数に限定されたINT関数。
INDEX(STRING,SUBSTRING,BACK) EP 部分文字列のサーチ。
INT(A,KIND) E 整数への変換。
IOR(I,J) E ビット単位のinclusive or。
ISHFT(I,SHIFT) E ビットのシフト。
ISHFTC(I,SHIFT,SIZE) E 循環式にビットをシフトする。
ISIGN(A,B) *P スカラデフォルト整数に限定されたSIGN関数。
KIND(X) I Xの種別パラメータ。
LBOUND(ARRAY,DIM) I 配列の下限。
LEN(STRING) IP 文字列の長さ。
LEN_TRIM(STRING) E 末尾の空白を無視した文字列の長さ。
LGE(STRING_A,STRING_B) E ASCII大小順序を用いた比較(>=)。
LGT(STRING_A,STRING_B) E ASCII大小順序を用いた比較(>)。
LLE(STRING_A,STRING_B) E ASCII大小順序を用いた比較(<=)。
LLT(STRING_A,STRING_B) E ASCII大小順序を用いた比較(<)。
LOG(X) EP 自然対数。
LOG10(X) EP 常用対数。
LOGICAL(L,KIND) E 特定の論理種別への変換。
MATMUL(MATRIX_A,MATRIX_B) 行列の乗算。
MAX(A1,A2,A3,...) E 最大値。
MAX0(A1,A2,A3,...) * スカラデフォルト整数に限定されたMAX関数。
MAX1(A1,A2,A3,...) * スカラデフォルト実数引数によるINT(MAX(A1,A2,A3,...))
MAXEXPONENT(X) I Xに対する数体系指数部の最大値。
MAXLOC(ARRAY,MASK) 配列中の最大値の位置。
MAXLOC(ARRAY,DIM,MASK) 次元を限定したときの最大値の位置。
MAXVAL(ARRAY,MASK) MAX組込み関数を用いて配列を換算する。
MAXVAL(ARRAY,DIM,MASK) MAX組込み関数による次元の換算。
MERGE(TSOURCE,FSOURCE,MASK) E 論理値による値の選択。
MIN(A1,A2,A3,...) E 最小値。
MIN0(A1,A2,A3,...) * スカラデフォルト整数に限定されたMIN関数。
MIN1(A1,A2,A3,...) * スカラデフォルト実数引数によるINT(MIN(A1,A2,A3,...))
MINEXPONENT(X) I Xに対する数体系指数部の最小値。
MINLOC(ARRAY,MASK) 配列中の最小値の位置。
MINLOC(ARRAY,DIM,MASK) 次元を限定したときの最小値の位置。
MINVAL(ARRAY,MASK) MIN組込み関数を用いて配列を換算する。
MINVAL(ARRAY,DIM,MASK) MIN組込み関数による次元の換算。
MOD(A,P) EP 剰余。sign(result) = sign(A)。
MODULO(A,P) E モジューロ。sign(result) = sign(P)。
NEAREST(X,S) E マシンで表現可能な最近数。
NINT(A,KIND) EP 丸め、及び整数への変換。
NOT(I) E ビット単位の補数。
NULL(MOLD) 空ポインタ。
PACK(ARRAY,MASK,VECTOR) 配列をベクトルにpackする。
PRECISION(X) I Xに対する10進数体系精度。
PRESENT(A) I 省略可能な引数があるかどうか。
PRODUCT(ARRAY,MASK) 配列を乗算により換算する。
PRODUCT(ARRAY,DIM,MASK) 乗算による次元の換算。
RADIX(X) I Xに対する数体系基数。
RANGE(X) I Xに対する10進数体系の指数範囲。
REAL(A,KIND) E 実数への変換。
REPEAT(STRING,NCOPIES) 文字列を自身に連結する。
RESHAPE(SOURCE,SHAPE,PAD,ORDER) 配列を形状変更する。
RRSPACING(X) E X近傍での数体系相対間隔の逆数。
SCALE(X,I) E X*RADIX(X)**I.
SCAN(STRING,SET,BACK) E 集合中で文字を探す。
SELECTED_INT_KIND(R) 少なくともRだけの10進桁を持つ整数種別。
SELECTED_REAL_KIND(P,R) 少なくともPだけの10進精度と、
Rだけの10進指数範囲を持つ実数種別。
SET_EXPONENT(X,I) E X*RADIX(X)**(I-EXPONENT(X))
SHAPE(SOURCE) I 配列の形状。
SIGN(A,B) EP Bの符合を持つA
SIN(X) EP 正弦。
SINH(X) EP 双曲線正弦。
SIZE(ARRAY,DIM) I 配列のサイズ、次元。
SNGL(A) * スカラ倍精度に限定されたREAL関数。
SPACING(X) E X近傍における数体系間隔。
SPREAD(SOURCE,DIM,NCOPIES) 与えられた次元内で配列を複製する。
SQRT(X) EP 平方根。
SUM(ARRAY,MASK) 加算により配列を換算する。
SUM(ARRAY,DIM,MASK) 加算による次元の換算。
TAN(X) EP 正接。
TANH(X) EP 双曲線正接。
TINY(X) I Xに対する数体系上の最小数。
TRANSFER(SOURCE,MOLD,SIZE) 内部表現をコピーする。
TRANSPOSE(MATRIX) 配列を転置する。
TRIM(STRING) 末尾の空白を除去した文字列。
UBOUND(ARRAY,DIM) I 配列の上限。
UNPACK(VECTOR,MASK,FIELD) ベクトルを配列にunpackする。
VERIFY(STRING,SET,BACK) E 集合中にない文字を探す。

組込みサブルーチン

サブルーチン名 フラグ 概要
CPU_TIME(TIME) CPU実行時間。
DATE_AND_TIME(DATE,TIME,ZONE,VALUES) 日付、時刻情報。
MVBITS(FROM,FROMPOS,LEN,TO,TOPOS) E ビットフィールドの移動、またはコピー。
RANDOM_NUMBER(HARVEST) 擬似乱数を応答として返す。
RANDOM_SEED(SIZE,PUT,GET) 擬似乱数発生機構を制御する。
SYSTEM_CLOCK(COUNT,COUNT_RATE,COUNT_MAX) 実時間クロック情報。



Privacy Policy | Trademarks