def _build_signals_values(signals, label) -> (dict, list): for s in signals: assert isinstance(s, Signal) value_by_signal = dict() free_values = [] for s in signals: if s in label: value_by_signal[smt_arg_name_signal(s)] = str(label[s]).lower() else: value = '?{0}'.format(str(s)).lower() # TODO: hack: we str(signal) value_by_signal[smt_arg_name_signal(s)] = value free_values.append(value) return value_by_signal, free_values
def _get_tau_desc(inputs): arg_types_dict = dict() arg_types_dict[ARG_MODEL_STATE] = TYPE_MODEL_STATE for s in inputs: arg_types_dict[smt_arg_name_signal(s)] = 'Bool' tau_desc = FuncDesc(FUNC_MODEL_TRANS, arg_types_dict, TYPE_MODEL_STATE, None) return tau_desc
def _get_output_desc(output:Signal, is_moore, inputs): arg_types_dict = dict() arg_types_dict[ARG_MODEL_STATE] = TYPE_MODEL_STATE if not is_moore: for s in inputs: arg_types_dict[smt_arg_name_signal(s)] = 'Bool' return FuncDesc(output.name, arg_types_dict, 'Bool', None)