From 65724c3c3015a8d3b473bab83da5fb5d72d01dd1 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 11 Sep 2019 08:34:08 +0200 Subject: generate-dfa-benchmark: Do not harcode codegen method --- lib/codegen.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'lib/codegen.py') diff --git a/lib/codegen.py b/lib/codegen.py index 2d106df..30e79bb 100644 --- a/lib/codegen.py +++ b/lib/codegen.py @@ -63,8 +63,20 @@ class ClassFunction: return '' return '{} {}::{}({}) {{\n{}}}\n'.format(self.return_type, self.class_name, self.name, ', '.join(self.arguments), self.body) +def get_accountingmethod(method): + """Return AccountingMethod class for method.""" + if method == 'static_state_immediate': + return StaticStateOnlyAccountingImmediateCalculation + if method == 'static_state': + return StaticStateOnlyAccounting + if method == 'static_statetransition_immediate': + return StaticAccountingImmediateCalculation + if method == 'static_statetransition': + return StaticAccounting + raise ValueError('Unknown accounting method') + class AccountingMethod: - def __init__(self, class_name: str, pta: PTA, ): + def __init__(self, class_name: str, pta: PTA): self.class_name = class_name self.pta = pta self.include_paths = list() @@ -228,7 +240,7 @@ class StaticAccountingImmediateCalculation(AccountingMethod): )) get_energy_function = """ - return total_energy; + return totalEnergy; """.format(energy_type = energy_type, num_states = len(pta.state), num_transitions = len(pta.get_unique_transitions())) self.public_functions.append(ClassFunction(class_name, energy_type, 'getEnergy', list(), get_energy_function)) -- cgit v1.2.3