[前へ] [目次へ] [次へ]

MPOperator (ネイティブクラス)


このクラスは汎用ルール処理の演算式を扱うクラスです。
このクラスは条件が真の時のみ演算を実行します。
入出力でビット数が異なる場合、下位ビット側の共通部のみが反映されます。

汎用ルール処理は RuleProcessor クラスよりも低速ですが、多様な記述が可能となり、
FGESが実行速度上苦手とする、データ集合に対する一括処理の一つの解として実装されています。

このクラスで扱うデータは参照のみを保持しています。
ルールを適用する可能性がある間は関係するオブジェクト全てを維持しなければいけません。

●継承

   このクラスは継承をしていません。

●インターフェイスとインターフェイスメソッド

   implements INativeMPValue
          (C++レベルキャスト)IFGESMPValue


●クラスメソッド

   このクラスはクラスメソッドを持っていません。

●クラスメンバメソッド

名前概要
public設定メソッド Set演算式と実行条件、左辺、右辺の各データを設定します
public設定メソッド SetFork条件式と分岐結果を設定します
public操作メソッド Reset設定している演算式を解除します

●クラス共有変数

名前概要
readable SET代入
readable ADD加算
readable SUB減算
readable MUL乗算
readable DIV除算
readable MOD剰余
readable ANDビットごとのAND
readable ORビットごとのOR
readable XORビットごとのXOR
readable EQUAL同値
readable NOTEQUAL以外
readable LESSより小さい(<)
readable LESSEQUAL以下(<=)
readable GREATERより大きい(>)
readable GREATEREQUAL以上(>=)
readable LOGIC_OR論理OR
readable LOGIC_AND論理AND
readable LOGIC_XOR論理XOR
readable LOGIC_NOR論理NOR
readable LOGIC_NAND論理NAND

●インスタンス変数

   このクラスはインスタンス変数を持っていません。


●C++レベル追加情報

クラスID: FGES_CLASSID_MPOPERATOR
クラス名: FGESMPOperator



MPOperator::Set

public Bool Set( INativeMPValue cond, INativeMPValue left,
             INativeInteger operatorid, INativeMPValue right)


   実行する条件と演算内容を設定します。
   cond が空参照であるか、0以外の値を返した場合のみ、演算を実行します。
   左辺、右辺に指定したデータにアクセスできない場合、演算は失敗します。

戻り値:設定に成功した場合、真を返します。

INativeMPValue cond :演算条件のデータ。評価値が0以外であった場合演算を実行します。
      空参照を指定した場合、無条件に演算を実行します。
INativeMPValue left :演算の左辺値となるデータ。代入演算の場合は書込可能でなければいけません。
INativeInteger operatorid :演算条件を満たした時に行う演算の種類。以下のいずれか。
識別子意味
MPOperator::SET代入
MPOperator::ADD加算
MPOperator::SUB減算
MPOperator::MUL乗算
MPOperator::DIV除算
MPOperator::MOD剰余
MPOperator::ANDビットごとのAND
MPOperator::ORビットごとのOR
MPOperator::XORビットごとのXOR
MPOperator::EQUAL同値
MPOperator::NOTEQUAL以外
MPOperator::LESSより小さい(<)
MPOperator::LESSEQUAL以下(<=)
MPOperator::GREATERより大きい(>)
MPOperator::GREATEREQUAL以上(>=)
MPOperator::LOGIC_OR論理OR
MPOperator::LOGIC_AND論理AND
MPOperator::LOGIC_XOR論理XOR
MPOperator::LOGIC_NOR論理NOR
MPOperator::LOGIC_NAND論理NAND
INativeMPValue right :演算の右辺値となるデータ。

先頭へ


MPOperator::SetFork

public Bool Set( INativeMPValue cond, INativeMPValue then_value, INativeMPValue else_value)

   分岐条件と分岐結果を設定します。
   cond が0以外の値を返した場合、 then_value を評価して演算結果とし、
   cond が0を返した場合、 else_value を評価して演算結果とします。
   いずれかに指定したデータにアクセスできない場合、演算は失敗します。

戻り値:設定に成功した場合、真を返します。

INativeMPValue cond :分岐条件のデータ。評価値が0以外であった場合 then_value を評価して演算結果とします。
      評価値が0であった場合 else_value を評価して演算結果とします。
INativeMPValue then_value :分岐条件が真になった場合に採用するデータ。
INativeMPValue else_value :分岐条件が偽になった場合に採用するデータ。

先頭へ


MPOperator::Reset

public void Reset()

   このオブジェクトに設定済みの演算内容を削除します。

先頭へ


MPOperator::SET

readable readonly Integer SET

   左辺値に右辺値を代入することを示す識別子。

先頭へ


MPOperator::ADD

readable readonly Integer ADD

   左辺値に右辺値を加算することを示す識別子。

先頭へ


MPOperator::SUB

readable readonly Integer SUB

   左辺値に右辺値を減算することを示す識別子。

先頭へ


MPOperator::MUL

readable readonly Integer MUL

   左辺値に右辺値を乗算することを示す識別子。

先頭へ


MPOperator::DIV

readable readonly Integer DIV

   左辺値を右辺値で除算することを示す識別子。

先頭へ


MPOperator::MOD

readable readonly Integer MOD

   左辺値を右辺値で剰余することを示す識別子。

先頭へ


MPOperator::AND

readable readonly Integer AND

   左辺値に右辺値をANDすることを示す識別子。

先頭へ


MPOperator::OR

readable readonly Integer OR

   左辺値に右辺値をORすることを示す識別子。

先頭へ


MPOperator::XOR

readable readonly Integer XOR

   左辺値に右辺値をXORすることを示す識別子。

先頭へ


MPOperator::EQUAL

readable readonly Integer EQUAL

   左辺値と右辺値が同値か判定することを示す識別子。

先頭へ


MPOperator::NOTEQUAL

readable readonly Integer NOTEQUAL

   左辺値が右辺値以外か判定することを示す識別子。

先頭へ


MPOperator::LESS

readable readonly Integer LESS

   左辺値が右辺値より小さいか判定することを示す識別子。

先頭へ


MPOperator::LESSEQUAL

readable readonly Integer LESSEQUAL

   左辺値が右辺値以下か判定することを示す識別子。

先頭へ


MPOperator::GREATER

readable readonly Integer GREATER

   左辺値が右辺値より大きいか判定することを示す識別子。

先頭へ


MPOperator::GREATEREQUAL

readable readonly Integer GREATEREQUAL

   左辺値が右辺値以上か判定することを示す識別子。

先頭へ


MPOperator::LOGIC_OR

readable readonly Integer LOGIC_OR

   左辺値と右辺値の論理ORを判定することを示す識別子。

先頭へ


MPOperator::LOGIC_AND

readable readonly Integer LOGIC_AND

   左辺値と右辺値の論理ANDを判定することを示す識別子。

先頭へ


MPOperator::LOGIC_XOR

readable readonly Integer LOGIC_XOR

   左辺値と右辺値の論理XORを判定することを示す識別子。

先頭へ


MPOperator::LOGIC_NOR

readable readonly Integer LOGIC_NOR

   左辺値と右辺値の論理NORを判定することを示す識別子。

先頭へ


MPOperator::LOGIC_NAND

readable readonly Integer LOGIC_NAND

   左辺値と右辺値の論理NANDを判定することを示す識別子。

先頭へ


[前へ] [目次へ] [次へ]

最終更新 2017/09/21