diff --git a/stl/featurize.py b/stl/featurize.py new file mode 100644 index 0000000..5e67b38 --- /dev/null +++ b/stl/featurize.py @@ -0,0 +1,13 @@ +from stl.fastboolean_eval import pointwise_sat + +def featurize_trace(phi, x): + params = {ap.name for ap in phi.params} + order = tuple(params) + + def vec_to_dict(theta): + return {k: v for k, v in zip(order, theta)} + + def eval_phi(theta): + return pointwise_sat(phi.set_params(vec_to_dict(theta)))(x, 0) + + return eval_phi