A の絶対値に B の符号を掛けたものを戻します。 A がゼロではない場合、その結果の符号は B の符号と同じになるため、それを使用して B が負であるか、そうでないかを判別することができます。
B を REAL(4) または REAL(8) と宣言し、B が負のゼロ値である場合、結果の符号は、-qxlf90=signedzero コンパイラー・オプションを指定したかしないかによって異なります。
引き数タイプおよび属性
クラス
エレメント型関数
結果タイプおよび属性
A と同じです。
結果値
結果は sgn*|A| です。この説明を以下に行います。
+----------------------------------IBM 拡張----------------------------------+
+--------------------------------IBM 拡張の終り-------------------------------+
+---------------------------------Fortran 95---------------------------------+
Fortran 95 では、Fortran 90 では行えなかった、正の実数ゼロと負の実数ゼロをプロセッサーによって見分けることが可能です。-qxlf90=signedzero オプションを使用すると、Fortran 95 の動作を指定することができます (REAL(16) の数値のケース以外)。これによって、IEEE 標準の 2 進浮動小数点演算と整合させることができます。 -qxlf90=signedzero は、xlf95、xlf95_r、および xlf95_r7 呼び出しコマンドのデフォルトです。
+------------------------------Fortran 95 の終り------------------------------+
例
SIGN (-3.0, 2.0) は値 3.0 を持ちます。
特定名 | 引き数タイプ | 結果タイプ | 引き数渡し |
---|---|---|---|
SIGN | デフォルトの実数 | デフォルトの実数 | あり |
ISIGN | 任意の整数 (1) | 引き数と同じ | あり |
DSIGN | 倍精度実数 | 倍精度実数 | あり |
QSIGN | REAL(16) | REAL(16) | あり (2) |
注:
関連情報
「ユーザーズ・ガイド」の『-qxlf90 オプション』を参照してください。