Sun Studio 12: Fortran ライブラリ・リファレンス

2.1 標準の Fortran 95 総称組み込み関数

この節では、Fortran 95 規格で使用される Fortran 95 総称組み込み関数を機能によってグループ分けしています。

ここで示す引数は、cmplx(Y=B, KIND=M, X=A) のようにキーワード形式で使用される場合、引数キーワードとして使用できる名前です。

これらの総称組み込み手続きの仕様についての詳細は、Fortran 95 規格を参照してください。

2.1.1 引数存在問合せ関数

総称組み込み名 

説明 

PRESENT

引数の存在 

2.1.2 数値関数

総称組み込み名 

説明 

ABS (A)

絶対値 

AIMAG (Z)

複素数の虚部 

AINT (A [, KIND])

整数へ切り捨て 

ANINT (A [, KIND])

四捨五入 

CEILING (A [, KIND])

数以上の最小整数 

CMPLX (X [, Y, KIND])

複素数型への変換 

CONJG (Z)

複素数の共役 

DBLE (A)

倍精度実数型への変換 

DIM (X, Y)

超過分 

DPROD (X, Y)

倍精度の実数積 

FLOOR (A [, KIND])

数以下の最大整数 

INT (A [, KIND])

整数型への変換 

MAX (A1, A2 [, A3,...])

最大値 

MIN (A1, A2 [, A3,...])

最小値 

MOD (A, P)

剰余関数 

MODULO (A, P)

モジュロ関数 

NINT (A [, KIND])

四捨五入の整数化 

REAL (A [, KIND])

実数型への変換 

SIGN (A, B)

符号の付け替え 

2.1.3 数学関数

総称組み込み名 

内容の説明 

ACOS (X)

逆余弦 

ASIN (X)

逆正弦 

ATAN (X)

逆正接 

ATAN2 (Y, X)

逆正接 

COS (X)

余弦 

COSH (X)

双曲線余弦 

EXP (X)

指数関数 

LOG (X)

自然対数 

LOG10 (X)

共通対数 (底 10) 

SIN (X)

正弦 

SINH (X)

双曲線正弦 

SQRT (X)

平方根 

TAN (X)

正接 

TANH (X)

双曲線正接 

2.1.4 文字関数

総称組み込み名 

説明 

ACHAR (I)

ASCII 照合手順での指定位置にある文字 

ADJUSTL (STRING)

左整合 

ADJUSTR (STRING)

右整合 

CHAR (I [, KIND])

処理系照合手順での指定位置にある文字 

IACHAR (C)

ASCII 照合手順での文字の位置 

ICHAR (C)

処理系照合手順での文字の位置 

INDEX (STRING, SUBSTRING [, BACK])

部分列の開始位置 

LEN_TRIM (STRING)

後続の空白文字なしの長さ 

LGE (STRING_A, STRING_B)

字句的に等しいか大きい 

LGT (STRING_A, STRING_B)

字句的に大きい 

LLE (STRING_A, STRING_B)

字句的に等しいか小さい 

LLT (STRING_A, STRING_B)

字句的に小さい 

REPEAT (STRING, NCOPIES)

反復連結 

SCAN (STRING, SET [, BACK])

集合内の文字に対し文字列を走査 

TRIM (STRING)

後続の空白文字を削除 

VERIFY (STRING, SET [, BACK])

1 つの文字列の文字集合を検証 

2.1.5 文字問合せ関数

総称組み込み名 

説明 

LEN (STRING)

文字要素の長さ 

2.1.6 種別関数

総称組み込み名 

説明 

KIND (X)

kind 型パラメータ値 

SELECTED_INT_KIND (R)

指定した範囲の整数 kind 型パラメータ値 

SELECTED_REAL_KIND ([P, R])

指定した精度と範囲の実数 kind 型パラメータ値 

2.1.7 論理関数

総称組み込み名 

説明 

LOGICAL (L [, KIND])

異なる kind 型パラメータで論理型オブジェクトを変換 

2.1.8 数値問合せ関数

総称組み込み名 

説明 

DIGITS (X)

数体系の有効数字の数 

EPSILON (X)

1 に比較した場合おおよそ無視可能な数 

HUGE (X)

数体系の最大数 

MAXEXPONENT (X)

数体系の最大指数 

MINEXPONENT (X)

数体系の最小指数 

PRECISION (X)

10 進数精度 

RADIX (X)

数体系の底 

RANGE (X)

10 進数の指数範囲 

TINY (X)

数体系の最小の正の数 

2.1.9 ビット問合せ関数

総称組み込み名 

説明 

BIT_SIZE (I)

数体系のビット数 

2.1.10 ビット操作関数

総称組み込み名 

説明 

BTEST (I, POS)

ビットの検査 

IAND (I, J)

論理 AND 

IBCLR (I, POS)

ビットを消去 

IBITS (I, POS, LEN)

ビット抽出 

IBSET (I, POS)

ビットを設定 

IEOR (I, J)

排他的論理和 

IOR (I, J)

包括的論理和 

ISHFT (I, SHIFT)

論理シフト 

ISHFTC (I, SHIFT [, SIZE])

循環シフト 

NOT (I)

論理補数 

2.1.11 転換関数

総称組み込み名 

説明 

TRANSFER (SOURCE, MOLD [, SIZE])

第 1 引数を第 2 引数の型として処理 

2.1.12 浮動小数点操作関数

総称組み込み名 

説明 

EXPONENT (X)

数体系数の指数部 

FRACTION (X)

1 つの数の小数部 

NEAREST (X, S)

指定された方向にあるもっとも近い異なる処理系の数 

RRSPACING (X)

指定された数に近い数体系数の相対空間の逆 

SCALE (X, I)

実数に底を乗算して整数累乗へ 

SET_EXPONENT (X, I)

1 つの数の指数部を設定 

SPACING (X)

指定された数に近い数体系数の絶対空間 

2.1.13 ベクトルおよび行列の乗算関数

総称組み込み名 

説明 

DOT_PRODUCT (VECTOR_A, VECTOR_B)

2 つの一次元配列の内積 

MATMUL (MATRIX_A, MATRIX_B)

行列の乗算 

2.1.14 配列集計関数

総称組み込み名 

説明 

ALL (MASK [, DIM])

すべての値が真のとき、真 

ANY (MASK [, DIM])

任意の値が真のとき、真 

COUNT (MASK [, DIM])

配列の真の要素の数 

MAXVAL (ARRAY, DIM [, MASK])

または MAXVAL (ARRAY [, MASK])

配列の最大値 

   

MINVAL (ARRAY, DIM [, MASK])

または MINVAL (ARRAY [, MASK])

配列の最小値 

   

PRODUCT (ARRAY, DIM [, MASK])

または PRODUCT (ARRAY [, MASK])

配列要素の積 

   

SUM (ARRAY, DIM [, MASK])

または SUM (ARRAY [, MASK])

配列要素の合計 

2.1.15 配列問合せ関数

総称組み込み名 

説明 

ALLOCATED (ARRAY)

配列割り付け状態 

LBOUND (ARRAY [, DIM])

配列の次元下限 

SHAPE (SOURCE)

配列またはスカラーの形状 

SIZE (ARRAY [, DIM])

配列の要素の合計数 

UBOUND (ARRAY [, DIM])

配列の次元下限 

2.1.16 配列構成関数

総称組み込み名 

説明 

MERGE (TSOURCE, FSOURCE, MASK)

選別によるマージ 

PACK (ARRAY, MASK [, VECTOR])

配列を選別下の一次元配列へパック 

SPREAD (SOURCE, DIM, NCOPIES)

次元を追加することにより、配列を複製 

UNPACK (VECTOR, MASK, FIELD)

一次元配列を選別下の配列へアンパック 

2.1.17 配列再形成関数

総称組み込み名 

説明 

RESHAPE (SOURCE, SHAPE[, PAD, ORDER])

配列を再形成 

2.1.18 配列操作関数

総称組み込み名 

説明 

CSHIFT (ARRAY, SHIFT [, DIM])

循環シフト 

EOSHIFT (ARRAY, SHIFT [, BOUNDARY, DIM]

切り捨て桁送り 

TRANSPOSE (MATRIX)

二次元配列の入れ替え 

2.1.19 配列内位置関数

総称組み込み名 

説明 

MAXLOC (ARRAY, DIM [, MASK])

または MAXLOC (ARRAY [, MASK])

配列の最大値の位置 

   

MINLOC (ARRAY, DIM [, MASK])

または MINLOC (ARRAY [, MASK])

配列の最小値の位置 

2.1.20 ポインタ結合状態問合せ関数

総称組み込み名 

説明 

ASSOCIATED (POINTER [, TARGET])

関連付け状態問い合わせまたは比較 

NULL ([MOLD])

分離したポインタを戻す 

2.1.21 システム環境手続き

総称組み込み名 

説明 

COMMAND_ARGUMENT_COUNT ()

コマンド引数の個数を返す 

GET_COMMAND ([COMMAND, LENGTH, STATUS])

プログラムを呼び出したコマンド全体を返す 

GET_COMMAND_ARGUMENT (NUMBER [, VALUE, LENGTH, STATUS])

コマンド引数を返す 

GET_ENVIRONMENT_VARIABLE (NAME [, VALUE, LENGTH, STATUS, TRIM_NAME])

環境変数値を取得する 

2.1.22 組み込みサブルーチン

総称組み込み名 

説明 

CPU_TIME (TIME)

処理系の時間を取得 

DATE_AND_TIME ([DATE, TIME,

ZONE, VALUES])

日付と時間を取得 

   

MVBITS (FROM, FROMPOS,

LEN, TO, TOPOS)

1 つの整数から別の整数へとビットをコピー 

   

RANDOM_NUMBER (HARVEST)

擬似乱数を戻す 

RANDOM_SEED ([SIZE, PUT, GET])

擬似乱数ジェネレータを初期化または再開 

SYSTEM_CLOCK ([COUNT,

COUNT_RATE, COUNT_MAX])

システム時間からデータを取得 

2.1.23 組み込み関数の個別名

表 2–1 Fortran 95 組み込み関数の個別名および総称名

 

個別名 

総称名 

引数の型 

 

ABS (A)

ABS (A)

基本実数 

 

ACOS (X)

ACOS (X)

基本実数 

 

AIMAG (Z)

AIMAG (Z)

基本複素数 

 

AINT (A)

AINT (A)

基本実数 

 

ALOG (X)

LOG (X)

基本実数 

 

ALOG10 (X)

LOG10 (X)

基本実数 

AMAX0 (A1, A2 [, A3,...])

REAL (MAX (A1, A2 [, A3,...]))

基本整数 

AMAX1 (A1, A2 [, A3,...])

MAX (A1, A2 [, A3,...])

基本実数 

AMIN0 (A1, A2 [, A3,...])

REAL (MIN (A1, A2 [, A3,...]))

基本整数 

AMIN1 (A1, A2 [, A3,...])

MIN (A1, A2 [, A3,...])

基本実数 

 

AMOD (A, P)

MOD (A, P)

基本実数 

 

ANINT (A)

ANINT (A)

基本実数 

 

ASIN (X)

ASIN (X)

基本実数 

 

ATAN (X)

ATAN (X)

基本実数 

 

ATAN2 (Y, X)

ATAN2 (Y, X)

基本実数 

 

CABS (A)

ABS (A)

基本複素数 

 

CCOS (X)

COS (X)

基本複素数 

 

CEXP (X)

EXP (X)

基本複素数 

CHAR (I)

CHAR (I)

基本整数 

 

CLOG (X)

LOG (X)

基本複素数 

 

CONJG (Z)

CONJG (Z)

基本複素数 

 

COS (X)

COS (X)

基本実数 

 

COSH (X)

COSH (X)

基本実数 

 

CSIN (X)

SIN (X)

基本複素数 

 

CSQRT (X)

SQRT (X)

基本複素数 

 

DABS (A)

ABS (A)

倍精度 

 

DACOS (X)

ACOS (X)

倍精度 

 

DASIN (X)

ASIN (X)

倍精度 

 

DATAN (X)

ATAN (X)

倍精度 

 

DATAN2 (Y, X)

ATAN2 (Y, X)

倍精度 

 

DCOS (X)

COS (X)

倍精度 

 

DCOSH (X)

COSH (X)

倍精度 

 

DDIM (X, Y)

DIM (X, Y)

倍精度 

 

DEXP (X)

EXP (X)

倍精度 

 

DIM (X, Y)

DIM (X, Y)

基本実数 

 

DINT (A)

AINT (A)

倍精度 

 

DLOG (X)

LOG (X)

倍精度 

 

DLOG10 (X)

LOG10 (X)

倍精度 

DMAX1 (A1, A2 [, A3,...])

MAX (A1, A2 [, A3,...])

倍精度 

DMIN1 (A1, A2 [, A3,...])

MIN (A1, A2 [, A3,...])

倍精度 

 

DMOD (A, P)

MOD (A, P)

倍精度 

 

DNINT (A)

ANINT (A)

倍精度 

 

DPROD (X, Y)

DPROD (X, Y)

基本実数 

 

DSIGN (A, B)

SIGN (A, B)

倍精度 

 

DSIN (X)

SIN (X)

倍精度 

 

DSINH (X)

SINH (X)

倍精度 

 

DSQRT (X)

SQRT (X)

倍精度 

 

DTAN (X)

TAN (X)

倍精度 

 

DTANH (X)

TANH (X)

倍精度 

 

EXP (X)

EXP (X)

基本実数 

FLOAT (A)

REAL (A)

基本整数 

 

IABS (A)

ABS (A)

基本整数 

ICHAR (C)

ICHAR (C)

基本文字 

 

IDIM (X, Y)

DIM (X, Y)

基本整数 

IDINT (A)

INT (A)

倍精度 

 

IDNINT (A)

NINT (A)

倍精度 

IFIX (A)

INT (A)

基本実数 

 

INDEX (STRING, SUBSTRING)

INDEX (STRING, SUBSTRING)

基本文字 

INT (A)

INT (A)

基本実数 

 

ISIGN (A, B)

SIGN (A, B)

基本整数 

 

LEN (STRING)

LEN (STRING)

基本文字 

LGE (STRING_A, STRING_B)

LGE (STRING_A, STRING_B)

基本文字 

LGT (STRING_A, STRING_B)

LGT (STRING_A, STRING_B)

基本文字 

LLE (STRING_A, STRING_B)

LLE (STRING_A, STRING_B)

基本文字 

LLT (STRING_A, STRING_B)

LLT (STRING_A, STRING_B)

基本文字 

MAX0 (A1, A2 [, A3,...])

MAX (A1, A2 [, A3,...])

基本整数 

MAX1 (A1, A2 [, A3,...])

INT (MAX (A1, A2 [, A3,...]))

基本実数 

MIN0 (A1, A2 [, A3,...])

MIN (A1, A2 [, A3,...])

基本整数 

MIN1 (A1, A2 [, A3,...])

INT (MIN (A1, A2 [, A3,...]))

基本実数 

 

MOD (A, P)

MOD (A, P)

基本整数 

 

NINT (A)

NINT (A)

基本実数 

REAL (A)

REAL (A)

基本整数 

 

SIGN (A, B)

SIGN (A, B)

基本実数 

 

SIN (X)

SIN (X)

基本実数 

 

SINH (X)

SINH (X)

基本実数 

SNGL (A)

REAL (A)

倍精度 

 

SQRT (X)

SQRT (X)

基本実数 

 

TAN (X)

TAN (X)

基本実数 

 

TANH (X)

TANH (X)

基本実数 

# の記号が付いた関数は、実引数として使用することができません。「倍精度」は、倍精度の実数を意味します。