この章では、f95 コンパイラで認識される組み込み関数名を一覧表示します。
この節では、Fortran 95 規格で使用される Fortran 95 総称組み込み関数を機能によってグループ分けしています。
ここで示す引数は、cmplx(Y=B, KIND=M, X=A) のようにキーワード形式で使用される場合、引数キーワードとして使用できる名前です。
これらの総称組み込み手続きの仕様についての詳細は、Fortran 95 規格を参照してください。
総称組み込み名 |
説明 |
---|---|
PRESENT |
引数の存在 |
総称組み込み名 |
説明 |
---|---|
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) |
符号の付け替え |
総称組み込み名 |
内容の説明 |
---|---|
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) |
双曲線正接 |
総称組み込み名 |
説明 |
---|---|
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 つの文字列の文字集合を検証 |
総称組み込み名 |
説明 |
---|---|
LEN (STRING) |
文字要素の長さ |
総称組み込み名 |
説明 |
---|---|
KIND (X) |
kind 型パラメータ値 |
SELECTED_INT_KIND (R) |
指定した範囲の整数 kind 型パラメータ値 |
SELECTED_REAL_KIND ([P, R]) |
指定した精度と範囲の実数 kind 型パラメータ値 |
総称組み込み名 |
説明 |
---|---|
LOGICAL (L [, KIND]) |
異なる kind 型パラメータで論理型オブジェクトを変換 |
総称組み込み名 |
説明 |
---|---|
DIGITS (X) |
数体系の有効数字の数 |
EPSILON (X) |
1 に比較した場合おおよそ無視可能な数 |
HUGE (X) |
数体系の最大数 |
MAXEXPONENT (X) |
数体系の最大指数 |
MINEXPONENT (X) |
数体系の最小指数 |
PRECISION (X) |
10 進数精度 |
RADIX (X) |
数体系の底 |
RANGE (X) |
10 進数の指数範囲 |
TINY (X) |
数体系の最小の正の数 |
総称組み込み名 |
説明 |
---|---|
BIT_SIZE (I) |
数体系のビット数 |
総称組み込み名 |
説明 |
---|---|
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) |
論理補数 |
総称組み込み名 |
説明 |
---|---|
TRANSFER (SOURCE, MOLD [, SIZE]) |
第 1 引数を第 2 引数の型として処理 |
総称組み込み名 |
説明 |
---|---|
EXPONENT (X) |
数体系数の指数部 |
FRACTION (X) |
1 つの数の小数部 |
NEAREST (X, S) |
指定された方向にあるもっとも近い異なる処理系の数 |
RRSPACING (X) |
指定された数に近い数体系数の相対空間の逆 |
SCALE (X, I) |
実数に底を乗算して整数累乗へ |
SET_EXPONENT (X, I) |
1 つの数の指数部を設定 |
SPACING (X) |
指定された数に近い数体系数の絶対空間 |
総称組み込み名 |
説明 |
---|---|
DOT_PRODUCT (VECTOR_A, VECTOR_B) |
2 つの一次元配列の内積 |
MATMUL (MATRIX_A, MATRIX_B) |
行列の乗算 |
総称組み込み名 |
説明 |
---|---|
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]) |
配列要素の合計 |
総称組み込み名 |
説明 |
---|---|
ALLOCATED (ARRAY) |
配列割り付け状態 |
LBOUND (ARRAY [, DIM]) |
配列の次元下限 |
SHAPE (SOURCE) |
配列またはスカラーの形状 |
SIZE (ARRAY [, DIM]) |
配列の要素の合計数 |
UBOUND (ARRAY [, DIM]) |
配列の次元下限 |
総称組み込み名 |
説明 |
---|---|
MERGE (TSOURCE, FSOURCE, MASK) |
選別によるマージ |
PACK (ARRAY, MASK [, VECTOR]) |
配列を選別下の一次元配列へパック |
SPREAD (SOURCE, DIM, NCOPIES) |
次元を追加することにより、配列を複製 |
UNPACK (VECTOR, MASK, FIELD) |
一次元配列を選別下の配列へアンパック |
総称組み込み名 |
説明 |
---|---|
RESHAPE (SOURCE, SHAPE[, PAD, ORDER]) |
配列を再形成 |
総称組み込み名 |
説明 |
---|---|
CSHIFT (ARRAY, SHIFT [, DIM]) |
循環シフト |
EOSHIFT (ARRAY, SHIFT [, BOUNDARY, DIM] |
切り捨て桁送り |
TRANSPOSE (MATRIX) |
二次元配列の入れ替え |
総称組み込み名 |
説明 |
---|---|
MAXLOC (ARRAY, DIM [, MASK]) または MAXLOC (ARRAY [, MASK]) |
配列の最大値の位置 |
MINLOC (ARRAY, DIM [, MASK]) または MINLOC (ARRAY [, MASK]) |
配列の最小値の位置 |
総称組み込み名 |
説明 |
---|---|
ASSOCIATED (POINTER [, TARGET]) |
関連付け状態問い合わせまたは比較 |
NULL ([MOLD]) |
分離したポインタを戻す |
総称組み込み名 |
説明 |
---|---|
COMMAND_ARGUMENT_COUNT () |
コマンド引数の個数を返す |
GET_COMMAND ([COMMAND, LENGTH, STATUS]) |
プログラムを呼び出したコマンド全体を返す |
GET_COMMAND_ARGUMENT (NUMBER [, VALUE, LENGTH, STATUS]) |
コマンド引数を返す |
GET_ENVIRONMENT_VARIABLE (NAME [, VALUE, LENGTH, STATUS, TRIM_NAME]) |
環境変数値を取得する |
総称組み込み名 |
説明 |
---|---|
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]) |
システム時間からデータを取得 |
|
個別名 |
総称名 |
引数の型 |
---|---|---|---|
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) |
基本実数 |
# の記号が付いた関数は、実引数として使用することができません。「倍精度」は、倍精度の実数を意味します。
Fortran 2003 規格には一連の組み込みモジュールが用意されています。このモジュールでは、IEEE 算術演算と C 言語との相互運用性をサポートする関数を定義します。
Fortran 2003 規格は、対象言語で新しい関数をサポートして、IEEE 算術演算および IEEE 例外を処理できるようにするために、IEEE_EXCEPTIONS、IEEE_ARITHMETIC、および IEEE_FEATURES の 3 つのモジュールを備えています。
ドラフト規格は、組み込み関数、要素別処理関数、種別関数、要素別処理サブルーチン、および非要素別処理サブルーチンのセットを定義します。これらのセットについては、次の表に記載しています。
これらの関数およびサブルーチンにアクセスするには、呼び出し側のルーチンで次のモジュールを指定する必要があります。
USE, INTRINSIC :: IEEE_ARITHMETIC, IEEE_EXCEPTIONS
詳細は、Fortran 規格 (http://www.j3-fortran.org) を参照してください。
モジュール IEEE_EXCEPTIONS には、次の問い合わせ関数が含まれています。
関数 |
説明 |
IEEE_SUPPORT_FLAG(FLAG[,X]) |
プロセッサが例外をサポートしているかどうかの問い合わせ |
IEEE_SUPPORT_HALTING(FLAG) |
プロセッサが、例外停止後の制御をサポートしているかどうかの問い合わせ |
モジュール IEEE_ARITHMETIC には、次の問い合わせ関数が含まれています。
関数 |
説明 |
IEEE_SUPPORT_DATATYPE([X]) |
プロセッサが IEEE 算術演算をサポートしているかどうかの問い合わせ |
IEEE_SUPPORT_DENORMAL([X]) |
プロセッサが、非正規化数をサポートしているかどうかの問い合わせ |
IEEE_SUPPORT_DIVIDE([X]) |
プロセッサが、IEEE 規格で指定されている精度での除算をサポートしているかどうかの問い合わせ |
IEEE_SUPPORT_INF([X]) |
プロセッサが IEEE 無限大をサポートしているかどうかの問い合わせ |
IEEE_SUPPORT_IO([X]) |
プロセッサが、書式付き入出力において IEEE 基本変換の丸めをサポートしているかどうかの問い合わせ |
IEEE_SUPPORT_NAN([X]) |
プロセッサが IEEE 非数をサポートしているかどうかの問い合わせ |
IEEE_SUPPORT_ROUNDING(VAL[,X]) |
プロセッサが 特別な丸めモードをサポートしているかどうかの問い合わせ |
IEEE_SUPPORT_SQRT([X]) |
プロセッサが IEEE 平方根をサポートしているかどうかの問い合わせ |
IEEE_SUPPORT_STANDARD([X]) |
プロセッサが IEEE のすべての機能をサポートしているかどうかの問い合わせ |
モジュール IEEE_ARITHMETIC には、IEEE_SUPPORT_DATATYPE(X) および IEEE_SUPPORT_DATATYPE(Y) が真であるような実数 X と Y について、次の要素別処理関数が含まれています。
関数 |
説明 |
IEEE_CLASS(X) |
IEEE クラス |
IEEE_COPY_SIGN(X,Y) |
IEEE copysign 関数 |
IEEE_IS_FINITE(X) |
値が有限かどうかの判定 |
IEEE_IS_NAN(X) |
値が IEEE 非数であるかどうかの判定 |
IEEE_IS_NORMAL(X) |
値が正規であるかどうかの判定 |
IEEE_IS_NEGATIVE(X) |
値が負かどうかの判定 |
IEEE_LOGB(X) |
IEEE 浮動小数点書式の非バイアス指数 |
IEEE_NEXT_AFTER(X,Y) |
Y 方向に向かって、X の次の表現可能文字を返す |
IEEE_REM(X,Y) |
IEEE REM 剰余関数 X - Y*N で、N は、実際の X/Y にもっとも近い整数を表す |
IEEE_RINT(X) |
現在の丸めモードに従って整数値を返す |
IEEE_SCALB(X,I) |
X*2**I を返す |
IEEE_UNORDERED(X,Y) |
IEEE unordered 関数。X または Y が NaN の場合は真、それ以外の場合は偽 |
IEEE_VALUE(X,CLASS) |
IEEE 値の生成 |
モジュール IEEE_ARITHMETIC には、次の変形関数が含まれています。
関数 |
説明 |
IEEE_SELECTED_REAL_KIND([P,][R]) |
指定した精度と範囲の IEEE 実数 に対する kind 型パラメータ値 |
モジュール IEEE_EXCEPTIONS には、次の要素別処理サブルーチンが含まれています。
サブルーチン |
説明 |
IEEE_GET_FLAG(FLAG,FLAG_VALUE) |
例外フラグの取得 |
IEEE_GET_HALTING_MODE(FLAG,HALTING) |
例外に対する停止モードの取得 |
モジュール IEEE_EXCEPTIONS には、次の非要素別サブルーチンが含まれています。
サブルーチン |
説明 |
IEEE_GET_STATUS(STATUS_VALUE) |
浮動小数点環境の現在の状態の取得 |
IEEE_SET_FLAG(FLAG,FLAG_VALUE) |
例外フラグの設定 |
IEEE_SET_HALTING_MODE(FLAG,HALTING) |
例外時における続行または停止の制御 |
IEEE_SET_STATUS(STATUS_VALUE) |
浮動小数点環境の状態の復元 |
モジュール IEEE_ARITHMETIC には、次の非要素別サブルーチンが含まれています。
サブルーチン |
内容の説明 |
IEEE_GET_ROUNDING_MODE(ROUND_VAL) |
現在の IEEE 丸めモードの取得 |
IEEE_SET_ROUNDING_MODE(ROUND_VAL) |
現在の IEEE 丸めモードの設定 |
Fortran 2003 の規格には、C 言語手続きを参照する方法が用意されています。ISO_C_BINDING モジュールは、組み込みモジュール関数として 3 つのサポートプロシージャを定義します。これらの関数にアクセスするには、呼び出し側のルーチンで次の指定が必要です。
USE, INTRINSIC :: ISO_C_BINDING, ONLY: C_LOC, C_PTR, C_ASSOCIATED
モジュールで定義されるプロシージャは次のとおりです。
関数 |
説明 |
---|---|
C_LOC(X) |
引数の C アドレスを返す |
C_ASSOCIATED(C_PTR_1 [, C_PTR_2]) |
C_PTR_1 の結合状態を示すか、または C_PTR_1 と C_PTR_2 が同じエンティティーに関連付けられているかどうかを示す |
C_F_POINTER(CPTR, FPTR [, SHAPE]) |
C ポインタのターゲットとポインタを関連付け、その形状を指定する |
ISO_C_BINDING 組み込みモジュールの詳細は、Fortran 2003 規格の第 15 章 (http://www.j3-fortran.org) を参照してください。
次に挙げる関数は f95 コンパイラにより組み込み関数と見なされますが、Fortran 95 規格の一部ではありません。
-xknown_lib=blas でコンパイルすると、コンパイラは続くルーチンへの呼び出しを組み込みルーチンと認識し、最適化を行い、Sun Performance Library 実装へリンクします。コンパイラはこれらのルーチンのユーザー供給バージョンを無視します。
表 2–2 BLAS 組み込み関数
関数 |
説明 |
---|---|
CAXPY DAXPY SAXPY ZAXPY |
スカラーの積およびベクトルプラスベクトル |
CCOPY DCOPY SCOPY ZCOPY |
ベクトルをコピー |
CDOTC CDOTU DDOT SDOT ZDOTC ZDOTU |
ドット積 (内部積) |
CSCAL DSCAL SSCAL ZSCAL |
ベクトルを伸縮 |
これらのルーチンの詳細については、『Sun Performance Library User's Guide』を参照してください。
次の表に、区間演算 (-xia) のコンパイル時に、コンパイラによって認識される組み込み関数を示します。詳細については、『Fortran 95 区間演算プログラミングリファレンス』を参照してください。
DINTERVAL |
DIVIX |
INF |
INTERVAL |
ISEMPTY |
MAG |
MID |
MIG |
NDIGITS |
QINTERVAL |
SINTERVAL |
SUP |
VDABS |
VDACOS |
VDASIN |
VDATAN |
VDATAN2 |
VDCEILING |
VDCOS |
VDCOSH |
VDEXP |
VDFLOOR |
VDINF |
VDINT |
VDISEMPTY |
VDLOG |
VDLOG10 |
VDMAG |
VDMID |
VDMIG |
VDMOD |
VDNINT |
VDSIGN |
VDSIN |
VDSINH |
VDSQRT |
VDSUP |
VDTAN |
VDTANH |
VDWID |
VQABS |
VQCEILING |
VQFLOOR |
VQINF |
VQINT |
VQISEMPTY |
VQMAG |
VQMID |
VQMIG |
VQNINT |
VQSUP |
VQWID |
VSABS |
VSACOS |
VSASIN |
VSATAN |
VSATAN2 |
VSCEILING |
VSCOS |
VSCOSH |
VSEXP |
VSFLOOR |
VSINF |
VSINT |
VSISEMPTY |
VSLOG |
VSLOG10 |
VSMAG |
VSMID |
VSMIG |
VSMOD |
VSNINT |
VSSIGN |
VSSIN |
VSSINH |
VSSQRT |
VSSUP |
VSTAN |
VSTANH |
VSWID |
WID |
|
|
|
f95 コンパイラは、Cray Research, Inc. などのほかのベンダーの Fortran コンパイラで定義された従来のさまざまな組み込み関数を認識します。これらは使用することはできません。
表 2–3 Cray CF90 およびほかのコンパイラの組み込み関数
関数 |
引数 |
説明 |
---|---|---|
CLOC |
([C=]c) |
文字オブジェクトのアドレスを取得 |
COMPL |
([I=]i) |
単語のビットごとの補数。代わりに NOT(i) を使用 |
COT |
([X=]x) |
総称余接 (次も同様: DCOT、QCOT) |
CSMG |
([I=]i,[J=]j,[K=]k) |
条件付スカラーマージ |
DSHIFTL |
([I=]i,[J=]j,[K=]k) |
i と j を k ビット、倍オブジェクト左シフト |
DSHIFTR |
([I=]i,[J=]j,[K=]k) |
i と j を k ビット、倍オブジェクト右シフト |
EQV |
([I=]i,[J=]j) |
論理等価。代わりに IOER(i,j) を使用 |
FCD |
([I=]i,[J=]j) |
文字ポインタを構築 |
GETPOS |
([I=]i) |
ファイル位置を取得 |
IBCHNG |
([I=]i, [POS=]j) |
単語の中で指定のビットへ変更する総称関数 |
ISHA |
([I=]i, [SHIFT=]j) |
総称演算シフト |
ISHC |
([I=]i, [SHIFT=]j) |
総称循環シフト |
ISHL |
([I=]i, [SHIFT=]j) |
総称左シフト |
LEADZ |
([I=]i) |
先頭の 0 ビットの数をカウント |
LENGTH |
([I=]i) |
転送された Cray 単語の数を戻す |
LOC |
([I=]i) |
変数のアドレスを戻す (「1.4.32 loc: オブジェクトのアドレスを戻す」を参照) |
NEQV |
([I=]i,[J=]j) |
論理非等価。代わりに IOER(i,j) を使用 |
POPCNT |
([I=]i) |
1 に設定されたビットの数をカウント |
POPPAR |
([I=]i) |
ビット生成パリティを演算 |
SHIFT |
([I=]i,[J=]j) |
左循環をシフト。代わりに ISHFT(i,j) または ISHFTC(i,j,k) を使用。 |
SHIFTA |
([I=]i,[J=]j) |
符号拡張子付きの演算シフト |
SHIFTL |
([I=]i,[J=]j) |
ゼロ充填で左シフト。代わりに ISHFT(i,j) または ISHFTC(i,j,k) を使用。 |
SHIFTR |
([I=]i,[J=]j) |
ゼロ充填で右シフト。代わりに ISHFT(i,j) または ISHFTC(i,j,k) を使用。 |
TIMEF |
() |
最初の呼び出し以降の経過時間を戻す |
UNIT |
([I=]i) |
BUFFERIN または BUFFEROUT の状態を戻す |
XOR |
([I=]i,[J=]j) |
排他的論理和。代わりに IOER(i,j) を使用 |
VMS FORTRAN 77 組み込み関数のリストについては、「2.3.4.2 メモリー関数」 も参照してください。
Fortran 95 コンパイラは、次の組み込み関数を認識します。
MPI_SIZEOF( x, size, error) 指定された変数、x のマシン表現のサイズをバイトで戻します。x が配列の場合、底要素のサイズを戻し、配列全体のサイズは戻しません。 |
|
x |
入力、変数または任意の型の配列 |
size |
出力、整数、x のバイト数でのサイズ |
error |
出力、整数、エラーが検出されるとエラーコードへ設定、検出されない場合はゼロ |
メモリー割り当て、再割り当て、割り当て解除関数 malloc()、realloc()、free() は f95 組み込み関数として実装されます。詳細については、「1.4.35 malloc、malloc64、 realloc、free: 記憶領域の割り当て/再割り当て/割り当て解除」を参照してください。