コード例 #1
0
    def __init__(self, ode, parent_regime):
        self.parent_regime = parent_regime
        parent_component = parent_regime.parent_component
        name_map = parent_component.name_map
        self.dependent_variable = ode.dependent_variable

        rhs = MathUtil.get_rhs_substituted(ode, name_map)
        self.CODE = name_map[ode.dependent_variable] + " += (" + rhs + ")*h;"
コード例 #2
0
    def __init__(self, assignment, parent_trans):
        self.parent_trans = parent_trans
        self.assginment = assignment
        parent_component = parent_trans.parent_component
        name_map = parent_component.name_map

        rhs = MathUtil.get_rhs_substituted(assignment, name_map)
        self.CODE = name_map[assignment.lhs] + " = " + rhs + ";"
コード例 #3
0
ファイル: nestbuilder.py プロジェクト: apdavison/nineml
    def __init__(self, ode, parent_regime):
        self.parent_regime = parent_regime
        parent_component = parent_regime.parent_component
        name_map = parent_component.name_map
        self.dependent_variable = ode.dependent_variable

        rhs = MathUtil.get_rhs_substituted( ode, name_map )
        self.CODE = name_map[ode.dependent_variable] + " += (" + rhs  + ")*h;"
コード例 #4
0
ファイル: nestbuilder.py プロジェクト: apdavison/nineml
    def __init__(self, assignment, parent_trans):
        self.parent_trans = parent_trans
        self.assginment = assignment
        parent_component = parent_trans.parent_component
        name_map = parent_component.name_map

        rhs = MathUtil.get_rhs_substituted( assignment, name_map )
        self.CODE = name_map[assignment.lhs]+" = "+rhs+";"
コード例 #5
0
ファイル: util_test.py プロジェクト: pgleeson/nineml
    def test_get_rhs_substituted(self):
        # Signature: name(cls, expr_obj, namemap)
        # No Docstring
        # from nineml.abstraction_layer.component.util import MathUtil

        e = StrToExpr.alias("a := b*c + d/(e*sin(f+g/e)) + b1 + e_ / exp(12*g)")

        rhs_sub = MathUtil.get_rhs_substituted(e, {"b": "B", "e": "E"})
        self.assertEqual(rhs_sub, "B*c + d/(E*sin(f+g/E)) + b1 + e_ / exp(12*g)")
コード例 #6
0
ファイル: nestbuilder.py プロジェクト: apdavison/nineml
    def __init__(self, condition, parent_trans):
        self.parent_trans = parent_trans
        self.condition = condition
        parent_component = parent_trans.parent_component
        name_map = parent_component.name_map
        # code to evaluate the condition
        
        condition_expr = MathUtil.get_rhs_substituted( condition, name_map )

        self.CODE = "transPendingTmp[%d] = (%s)" % (parent_trans.index, condition_expr)
        # where the state of the evaluated condition may be stored
        self.PENDING = "transPendingTmp[%d]" % parent_trans.index
        # conditions, unlike eventports, can happen only once
        self.PENDING_FINALIZE = "break;"
コード例 #7
0
    def __init__(self, condition, parent_trans):
        self.parent_trans = parent_trans
        self.condition = condition
        parent_component = parent_trans.parent_component
        name_map = parent_component.name_map
        # code to evaluate the condition

        condition_expr = MathUtil.get_rhs_substituted(condition, name_map)

        self.CODE = "transPendingTmp[%d] = (%s)" % (parent_trans.index,
                                                    condition_expr)
        # where the state of the evaluated condition may be stored
        self.PENDING = "transPendingTmp[%d]" % parent_trans.index
        # conditions, unlike eventports, can happen only once
        self.PENDING_FINALIZE = "break;"