機能equalityについての質問を既に投稿しました。それはすぐに一般的な関数の平等は非常に難しい問題であり、数学的に分かりやすいと結論づけました。私は機能制限機能に関する機能の一致
function equal(f, g, domain) {
}
f
& g
をスタブしたい
は一つの引数を取る停止機能です。彼らの議論は自然数である。これらの関数はブール値を返します。
ドメインが渡されない場合、ドメインはすべての自然数にデフォルト設定されているとみなされます。
domain
の構造は、equal
機能にとって最も便利なものです。
もう1つの重要な事実は、f
& g
が確定的であることです。 f(n)
に対して同じブール値m
を一貫して返します。
あなたがf
とg
はいつも戻っている限り、その入力がdomain
質問内にあるとしてエラーにより任意の例外やクラッシュを投げていないことを仮定してもよいが、言語に依存しないとの実施を求めていますequal
機能です。私はそれがもうこれ以上正しい場所であるかどうかはわかりません。
f
& g
は、副作用がない。 domain
は有限である必要はありません。
"実現可能"の値の場合。 2 * 43億の数は、Cのアイデンティティ関数でも(私はそれを試してみて気にしないので、それは控えめな推測です。)もちろん、コンパイラはループを完全に排除しないと仮定します)、これらの2,3のCPU命令よりも長い関数の方がはるかに多くなります。 – delnan