|
@@ -180,15 +180,18 @@ Void function step_simulation(model : Element, schedule : Element):
|
|
|
signal = signal * cast_s2f(cast_v2s(read_attribute(model, selected, "signal")))
|
|
|
elif (blocktype == "NegatorBlock"):
|
|
|
incoming = allIncomingAssociationInstances(model, block, "Link")
|
|
|
+ signal = 0.0
|
|
|
while (read_nr_out(incoming) > 0):
|
|
|
selected = readAssociationSource(model, set_pop(incoming))
|
|
|
signal = float_neg(cast_s2f(cast_v2s(read_attribute(model, selected, "signal"))))
|
|
|
elif (blocktype == "InverseBlock"):
|
|
|
+ signal = 0.0
|
|
|
incoming = allIncomingAssociationInstances(model, block, "Link")
|
|
|
while (read_nr_out(incoming) > 0):
|
|
|
selected = readAssociationSource(model, set_pop(incoming))
|
|
|
signal = float_division(1.0, cast_s2f(cast_v2s(read_attribute(model, selected, "signal"))))
|
|
|
elif (blocktype == "DelayBlock"):
|
|
|
+ signal = 0.0
|
|
|
if (element_eq(read_attribute(model, block, "memory"), read_root())):
|
|
|
// No memory yet, so use initial condition
|
|
|
incoming = allIncomingAssociationInstances(model, block, "InitialCondition")
|