pow()

mathLib.pow() システム関数は、2 番目の数値を累乗した数を戻します。

EGL では、以前のバージョンとの互換性を保つことを目的として、この関数を維持しています。 新規のコードでは、指数演算子を使用します (** は「累乗」に変換されます)。 演算子と優先順位 を参照してください。 関数と演算子には、以下のように 2 つの小さな相違点があります。
  • v60ExceptionCompatibility プログラム・プロパティーを YES に設定した場合、EGL は mathLib.pow() 関数が正常に完了すると、SysVar.errorCode を「00000000」に設定します。 ** 演算子は、SysVar.errorCode を変更しません。
  • 結果が無効な数値 (例えば、無限大) である場合、** 演算子はこれを数値オーバーフローとして処理します。mathLib.pow() 関数を呼び出した場合、結果は v60ExceptionCompatibility プロパティーによって変わります。これについては、EGL ライブラリー mathLibで説明しています。

構文

  mathLib.pow(
    numericVariable1 FLOAT in,
    numericField2 FLOAT in)
  returns (result FLOAT)
numericVariable1
FLOAT 型と代入互換性のある任意の変数または式を入力できます。
numericVariable2
FLOAT 型と代入互換性のある任意の変数または式を入力できます。
result
numericVariable1numericVariable2 乗の値は、FLOAT として戻されます。

  x INT = 2;
  y INT = 3;
  result = mathLib.pow(x,y);  // 結果 = 8
  result = x**y;   // 結果 = 8

エラー条件

pow(x,y) であると仮定した場合、x が負で y が整数でない場合、または x が 0 で y が負の場合に、EGL はエラー条件を検出します。 エラー条件の結果は、v60ExceptionCompatibility プロパティーの値によって変わります。詳しくは、EGL ライブラリー mathLibを参照してください。