"CodeEquivalence" (Comparison Method)
2つのコードが変換後に等価であるかどうかを判定する.
詳細
- "CodeEquivalence"法は,式を正規表現に変換することによって意図的等価性を判断しようとする.
- 変換によって等価性が判定できる場合は,評価は行われず,比較は式の出力には基づかない.このため,非決定論的出力(ランダムな値,日付等)を生成するコードの比較が可能になる.
- "CodeEquivalence"法は,CodeEquivalenceUtilitiesパクレットに直接基づいている.
- "CodeEquivalence"は,数式についてはSimplify関数を使って等価性を判定する.より制御したければ,""ArithmeticResult","CalculusResult","PolynomialResult","AlgebraicValue"の特定の数学メソッドを使うとよい.
例題
すべて開くすべて閉じる例 (1)
コーディングの質問に対するAssessmentFunctionを作成する:
スコープ (1)
アプリケーション (2)
特性と関係 (2)
シンボル名は厳密に一致しなくてもよい.未定義のシンボル名は,それ以外の一意的な未定義のシンボルとマッチする:
"CodeEquivalence"法で数式が比較できる:
"CalculusResult"のような数学専用のメソッドでも等価性が求められる: