組込み関数のカテゴリ

総称組込み関数は,次表に示すカテゴリに分類することができます。

組込み関数のカテゴリ

カテゴリ 副カテゴリ 説明
数値 計算 型変換または単純な数値演算を実行します。

ABSAIMAGAINTAMAX0AMIN0ANINTCEILINGCMPLXCONJGDBLEDCMPLXDFLOATDIMDPRODDREALFLOATFLOORIFIXIMAGINTMAXMAX1MINMIN1MODMODULONINTQCMPLXQEXTQFLOATQREALRANREALSIGNSNGLZEXT
操作 1 引数の実値に結合されたモデル値の構成要素に関連する値を返します。

EXPONENTFRACTIONNEARESTRRSPACINGSCALESET_EXPONENTSPACING
問合せ 1 引数の型と種別パラメタに結合されたモデルからスカラ値を返します2

DIGITSEPSILONHUGEILENMAXEXPONENTMINEXPONENTPRECISIONRADIXRANGESIZEOFTINY
変形 ベクトルおよび行列乗算を実行します。

DOT_PRODUCTMATMUL
システム プロセスまたはプロセッサーに関する情報を返します。

PROCESSORS_SHAPENWORKERSNUMBER_OF_PROCESSORSSECNDS
KIND 型   種別パラメタを返します。

KINDSELECTED_INT_KINDSELECTED_REAL_KIND
数学   数学演算を実行します。

ACOSACOSDASINASINDATANATANDATAN2ATAN2DCOSCOSDCOSHCOTANCOTANDEXPLOGLOG10SINSINDSINHSQRTTANTANDTANH
ビット 操作 シングルビット処理と,論理およびけた移動演算を実行します。また,ビット副フィールドの引用を可能にします。

ANDBTESTIANDIBCHNGIBCLRIBITSIBSETIEORIORISHAISHCISHFTISHFTCISHLLSHIFTNOTORRSHIFTXOR
問合せ ビット・モデルのパラメタ s (ビットの大きさ) を調べることができます4

BIT_SIZE
表現 整数のビット表現に関する情報を返します。

LEADZPOPCNTPOPPARTRAILZ
文字 比較 文字引数を字句的に比較し,基本論理型の結果を返します。

LGELGTLLELLT
変換 文字引数を,整数,ASCII,または文字の値に変換します3

ACHARCHARIACHARICHAR
文字列処理 文字列に対して演算を実行し,引数の文字長を返し,特定の引数を検索します。

ADJUSTLADJUSTRINDEXLEN_TRIMREPEATSCANTRIMVERIFY
問合せ 引数の文字長を返します。

LEN
配列 作成 既存の配列の要素から,新しい配列を作成します。

MERGEPACKSPREADUNPACK
問合せ 配列引数が割り付けられているかどうかを調べ,配列の大きさや形状,および各次元の添字の下限と上限を返します。

ALLOCATEDLBOUNDSHAPESIZEUBOUND
位置 配列の最大値と最小値の幾何学的な位置を返します。

MAXLOCMINLOC
操作 配列をけた移動し,配列を転置させ,配列の形状を変更します。

CSHIFTEOSHIFTRESHAPETRANSPOSE
縮小 配列に対して演算を実行します。関数は,全体配列の要素を「縮小」してスカラの結果を生成します。または,配列の特定の次元に適用して,次元数が 1 だけ縮小された結果配列を生成します。

ALLANYCOUNTMAXVALMINVALPRODUCT
その他   以下の処理を行います。
  • 実行形式プログラムで機械語命令を使用することができます (ASM)。
  • ポインタ結合を検証します (ASSOCIATED)。
  • ファイル終了を検証します (EOF)。
  • 浮動小数点引数の分類を返します (FP_CLASS)。
  • ルーチンに渡された実引数の数を数えます (IARGCOUNT)。
  • ルーチンの実引数並びへのポインタを返します (IARGPTR)。
  • Not-a-Number 値かどうかを検証します (ISNAN)。
  • 記憶項目の内部アドレスを返します (LOC)。
  • 引数の論理値を返します (LOGICAL)。
  • メモリーを割り付けます (MALLOC)。
  • 128 ビットの符号なし結果の上位 64 ビットを返します (MULT_HIGH)。
  • 空状態のポインタを返します (NULL)。
  • 引数の存在を検証します (PRESENT)。
  • ビット・パターンを変換します (TRANSFER)。

1 すべての数値操作と,多くの数値問合せ関数は,整数実数のためのモデルの組によって定義されています。
2 引数の値が定義されている必要はありません。
3 Compaq Fortran プロセッサーの文字集合は ASCII なので,ACHAR = CHARIACHAR = ICHAR です。
4 ビット関数の詳細については,「ビット関数」を参照してください。

次表は総称組込み関数の要約で,それぞれの要素別処理関数,問合せ関数,変形関数の区別を示しています。省略可能引数は大括弧で囲んで示しています。

総称組込み関数の要約

総称関数 分類 返される値
ABS (A) E 引数の絶対値
ACHAR (I) E ASCII 文字集合中での指定された位置の文字
ACOS (X) E 引数の逆余弦 (ラジアン単位)
ACOSD (X) E 引数の逆余弦 (度単位)
ADJUSTL (STRING) E 指定した文字列の先頭の空白を削除し,文字列の末尾に追加したもの
ADJUSTR (STRING) E 指定した文字列の末尾の空白を削除し,文字列の先頭に追加したもの
AIMAG (Z) E 複素数引数の虚部
AINT (A [,KIND]) E 実数値を切り捨てて得られた整数
ALL (MASK [,DIM]) T 配列選別のすべての要素が真の場合に .TRUE.
ALLOCATED (ARRAY) I 引数配列の割付け状態
AMAX0 (A1, A2 [, A3,...]) E 整数並び中の最大値 (実数値として返されます)
AMIN0 (A1, A2 [, A3,...]) E 整数並び中の最小値 (実数値として返されます)
AND (I, J) E IAND を参照
ANINT (A [, KIND]) E 実数値を丸めて得られた整数
ANY (MASK [,DIM]) T 配列選別のいずれかの要素が真の場合に .TRUE.
ASIN (X) E 引数の逆正弦 (ラジアン単位)
ASIND (X) E 引数の逆正弦 (度単位)
ASM (STRING [,A,...) 1 N ユーザーが適切なレジスタに格納した値
ASSOCIATED (POINTER [,TARGET]) I ポインタ引数またはポインタが指定された指示先と結合されている場合に .TRUE.
ATAN (X) E 引数の逆正接 (ラジアン単位)
ATAND (X) E 引数の逆正接 (度単位)
ATAN2 (Y, X) E 引数の逆正接 (ラジアン単位)
ATAN2D (Y, X) E 引数の逆正接 (度単位)
BIT_SIZE (I) I ビット・モデル中のビット数 (s) を返します
BTEST (I, POS) E 引数 I で指定した位置が 1 の場合に .TRUE.
CEILING (A [,KIND]) E 引数値よりも大きいか等しい最小の整数
CHAR (I [,KIND]) E プロセッサー文字集合中での指定された位置の文字
CMPLX (X [,Y] [,KIND]) E 引数の対応する複素数値
CONJG (Z) E 引数の共役複素数
COS (X) E 引数の余弦 (ラジアン単位)
COSD (X) E 引数の余弦 (度単位)
COSH (X) E 引数の双曲線余弦
COTAN (X) E 引数の余接 (ラジアン単位)
COTAND (X) E 引数の余接 (度単位)
COUNT (MASK [,DIM]) T 引数配列中の .TRUE. の要素数
CSHIFT (ARRAY, SHIFT [,DIM]) T 引数配列の要素が循環けた移動された配列
DBLE (A) E 引数の対応する倍精度値
DCMPLX (X, Y) E 引数の対応する倍精度複素数
DFLOAT (A) E 整数引数の対応する倍精度値
DIGITS (X) I 引数のモデルにおける有効けた数
DIM (X, Y) E 2 つの引数間の差 (正の値)
DOT_PRODUCT (VECTOR_A, VECTOR_B) T 2 つの次元数 1 の配列の内積 (ベクトル乗算関数とも呼ばれます)
DREAL (A) E 倍精度複素数引数の実数部の対応する倍精度値
EOF (A) I ファイルがファイル終了記録を越えているかどうかに応じて,.TRUE. または .FALSE.
EOSHIFT (ARRAY, SHIFT [,BOUNDARY] [,DIM]) T 引数配列の要素が切捨てけた移動された配列
EPSILON (X) I 1 と比較したときにほとんど無視できる数値
EXP (X) E 引数の指数値
EXPONENT (X) E 実引数の指数部
FLOAT (X) E 整数引数の対応する実数値
FLOOR (A [,KIND]) E 引数値よりも小さいか等しい最大の整数
FP_CLASS (X) E IEEE 浮動小数点引数の分類
FRACTION (X) E 実引数の小数部
HUGE (X) I 引数のモデルにおける最大値
IACHAR (C) E ASCII 文字集合中での指定された文字の位置
IAND (I, J) E 2 つの引数の論理積
IBCLR (I, POS) E 引数 I の指定された位置がクリアされた (ゼロに設定された) もの
IBCHNG (I, POS) E 指定されたビットの反転値
IBITS (I, POS, LEN) E 引数 I の指定された部分ビット列
IBSET (I, POS) E 引数 I の指定された位置が 1 に設定されたもの
ICHAR (C) E プロセッサー文字集合中での指定された文字の位置
IEOR (I, J) E 対応するビット引数の排他的論理和
IFIX (X) E 代入における暗黙の変換と同じように実数引数を丸めた結果として得られる整数値
ILEN (I) I 整数の 2 の補数表現の長さ (ビット数)
IMAG (Z) E AIMAG を参照
INDEX (STRING, SUBSTRING [,BACK]) E 文字式中での指定された部分列の位置
INT (A [,KIND]) E 引数の対応する整数値 (切り捨て)
IOR (I, J) E 対応するビット引数の論理和
ISHA (I, SHIFT) E 引数 I を指定したビット数だけ左または右にけた移動したもの
ISHC (I, SHIFT) E 引数 I を指定したビット数だけ左または右に循環したもの
ISHFT (I, SHIFT) E 引数 I 中のビットの論理切捨てけた移動
ISHFTC (I, SHIFT [,SIZE]) E 引数 I 中のビットの論理循環けた移動
ISHL (I, SHIFT) E 引数 I を指定したビット数だけ左または右に論理けた移動したもの
ISNAN (X) E Not-a-Number (NaN) 値かどうかの検証
KIND (X) I 引数の種別パラメタ
LBOUND (ARRAY [,DIM]) I 配列の (またはその次元の 1 つの) 下限
LEADZ (I) E 整数中の先頭のゼロ・ビットの数
LEN (STRING) I 引数文字の長さ (文字数)
LEN_TRIM (STRING) E 指定した文字列の末尾の空白を除いた長さ
LGE (STRING_A, STRING_B) E 数を > または = で比較することによって決定される論理値
LGT (STRING_A, STRING_B) E 引数を > で比較することによって決定される論理値
LLE (STRING_A, STRING_B) E 引数を < または = で比較することによって決定される論理値
LLT (STRING_A, STRING_B) E 引数を < で比較することによって決定される論理値
LOC (A) I 引数の内部アドレス
LOG (X) E 引数の自然対数
LOG10 (X) E 引数の常用対数 (底 10)
LOGICAL (L [,KIND]) E 引数を KIND の論理型に変換して得られる論理値
LSHIFT (I, POSITIVE_SHIFT) E ISHFT を参照
MATMUL (MATRIX_A, MATRIX_B) T 行列乗算の結果 (行列乗算関数とも呼ばれます)
MAX (A1, A2 [, A3,...]) E 引数の組中の最大値
MAX1 (A1, A2 [, A3,...]) E 実数引数の組中の最大値 (整数として返されます)
MAXEXPONENT (X) I 引数のモデルにおける最大の指数
MAXLOC (ARRAY [,DIM] [,MASK]) T 引数配列中の最大の要素位置を含んだ次元数 1 の配列
MAXVAL (ARRAY [,DIM] [,MASK]) T 引数配列中の要素の最大値
MERGE (TSOURCE, FSOURCE, MASK) E 2 つの形状適合配列を (選別を適用して) 結合した結果として得られる配列
MIN (A1, A2 [, A3,...]) E 引数の組中の最小値
MIN1 (A1, A2 [, A3,...]) E 実数引数の組中の最小値 (整数として返されます)
MINEXPONENT (X) I 引数のモデルにおける最小の指数
MINLOC (ARRAY [,DIM] [,MASK]) T 引数配列中の最小の要素の位置を含んだ次元数 1 の配列
MINVAL (ARRAY [,DIM] [,MASK]) T 引数配列中の要素の最小値
MOD (A, P) E 引数の余り (第 1 引数の符号を持ちます)
MODULO (A, P) E 引数の剰余 (第 2 引数の符号を持ちます)
NEAREST (X, S) E 与えられた方向で最も近いマシン表現が可能な数値
NINT (A [,KIND]) E 実数値を最も近い整数に丸めたもの
NOT (I) E 引数の論理否定
NULL ([MOLD]) T 空状態のポインタ
OR (I, J) E IOR を参照
PACK (ARRAY, MASK [,VECTOR]) T (選別を適用した) 1 次元にパックした配列
POPCNT (I) E 整数中の 1 ビットの数
POPPAR (I) E 整数のパリティ
PRECISION (X) I 引数の 10 進精度 (実数または複素数)
PRESENT (A) I 省略可能仮引数に対して実引数が提供されている場合に .TRUE.
PRODUCT (ARRAY [,DIM] [,MASK]) T 引数配列の要素の積
QCMPLX (X, Y)2 E 引数に対応する COMPLEX(16)
QEXT (A)2 E 引数に対応する REAL(16)
QFLOAT (A)2 E 整数引数に対応する REAL(16)
QREAL (A)2 E COMPLEX(16) 引数の実部に対応する REAL(16)
RADIX (X) I 引数のモデルの基数
RANGE (X) I 引数のモデルの 10 進指数範囲
REAL (A [,KIND]) E 引数に対応する実数値
REPEAT (STRING, NCOPIES) T 指定した文字列のゼロ個以上のコピーを連結したもの
RESHAPE (SOURCE, SHAPE [,PAD] [,ORDER]) T 引数配列とは異なる形状を持つが同じ要素を持つ配列
RRSPACING (X) E 引数値前後の相対的な間隔の逆数
RSHIFT (I, NEGATIVE_SHIFT) E ISHFT を参照
SCALE (X, I) E 指定した値によって変更される (引数のモデルの) 指数部の値
SCAN (STRING, SET [,BACK]) E 文字列中の指定した文字 (または文字集合) の位置
SELECTED_INT_KIND (R) T 引数の整数種別パラメタ
SELECTED_REAL_KIND ([P] [,R]) T 引数の実数種別パラメタ。省略可能引数のいずれか 1 つを指定する必要があります
SET_EXPONENT (X, I) E (引数のモデルの) 指数部を指定した値に設定した値
SHAPE (SOURCE [, KIND]) I 配列またはスカラの形状 (次元数と寸法)
SIGN (A, B) E 第 2 引数の符号を持つ値
SIN (X) E 引数の正弦 (ラジアン単位)
SIND (X) E 引数の正弦 (度単位)
SINH (X) E 引数の双曲線正弦
SIZE (ARRAY [,DIM]) I 引数配列 (またはその次元の 1 つ) の大きさ (要素の総数)
SNGL (X) E 引数に対応する実数値
SPACING (X) E 引数値前後の間隔の絶対値
SPREAD (SOURCE, DIM, NCOPIES) T 次元を追加しコピーされた配列
SQRT (X) E 引数の平方根
SUM (ARRAY [,DIM] [,MASK]) T 引数配列の要素の総和
TAN (X) E 引数の正接 (ラジアン単位)
TAND (X) E 引数の正接 (度単位)
TANH (X) E 引数の双曲線正接
TINY (X) I 引数のモデルにおける最小の正の数値
TRAILZ (I) E 整数中の後ろがゼロ・ビットの数
TRANSFER (SOURCE, MOLD [,SIZE]) T SOURCE のビット・パターンを MOLD の型と種別パラメタに変換したもの
TRANSPOSE (MATRIX) T 次元数 2 の引数配列を転置したもの
TRIM (STRING) T 引数の後ろの空白を削除したもの
UBOUND (ARRAY [,DIM]) I 配列 (またはその次元の 1 つ) の上限
UNPACK (VECTOR, MASK, FIELD) T 次元数 1 の配列から (選別を適用して) アンパックした配列
VERIFY (STRING, SET [,BACK]) E 文字列中で指定された文字集合に含まれていない最初の文字の位置
XOR (I, J) E IEOR を参照
ZEXT (X) E 引数のゼロ拡張された値
1 Alpha のみ
2 VMS, U*X
分類 E - 要素別処理
I - 問合せ
T - 変形
N - 非要素別処理

次表に,総称関数が結合されていない個別関数一覧を示します。

総称関数が結合されていない個別関数

個別関数 分類 返される値
DPROD (X, Y) E 2 つの実数引数の倍精度積
DREAL (A) E 倍精度複素数引数の実数部の対応する倍精度値
MALLOC (I) E 割り付けられたメモリー・ブロックの開始アドレス
MULT_HIGH (I, J) 1 E 128 ビットの符号なし結果の上位 (左側) 64 ビット
NUMBER_OF_PROCESSORS () I プログラムが使用できるプロセッサー (ピア) の総数
NWORKERS ()2 I 実行中のプロセス数
PROCESSORS_SHAPE () I 実装依存のハードウェア・プロセッサー配列の形状
RAN (I) N 擬似乱数列の次の数 (擬似乱数は 0 ~ 1 の範囲で一様に分散しているもの)
SECNDS (X) E その日のシステム時刻 (または経過時間) を,秒数を示す浮動小数点値で表したもの
SIZEOF (X) I 引数が使用する記憶域のバイト数

1 Alpha のみ
2 Compaq Fortran 77 の古いバージョンとの互換性を含みます。

分類 E - 要素別処理
I - 問合せ
N - 非要素別処理