cspsat.hooks module
新規関数と新規制約に対応するためのフック関数を提供.
- cspsat.hooks.defaultFunctionHook(function, encoder)[ソース]
新規関数に対応するためのフックとしてデフォールトで設定されている関数. 以下に対応している.
["div", X, n]
["mod", X, n]
["abs", X]
["min", X1, ..., Xn]
["max", X1, ..., Xn]
["if", A, X, Y]
- パラメータ:
function (list) -- 制約充足問題中の式.
encoder (Encoder) -- Encoderインスタンス.
- 戻り値:
引数の function そのまま,または function を変換した式.
- cspsat.hooks.defaultConstraintHook(constraint, encoder)[ソース]
新規制約に対応するためのフックとしてデフォールトで設定されている関数. 以下に対応している.
["alldifferent", X1, ..., Xn]
["lexCmp", cmp, [X1,...Xn], [Y1,...,Yn]]
(cmpは"==", "!=", "<=", "<", ">=", ">")["mulCmp", cmp, X, Y, Z]
(cmpは"==", "!=", "<=", "<", ">=", ">")["powCmp", cmp, X, n, Z]
(cmpは"==", "!=", "<=", "<", ">=", ">")["bits", [X1,...Xn], X]
["bit", X, i]
- パラメータ:
constraint (list) -- 制約充足問題中の制約.
encoder (Encoder) -- Encoderインスタンス.
- 戻り値:
引数の constraint そのまま,または constraint を変換した制約.