import java.util.Map;
import net.mograsim.logic.core.timeline.Timeline;
-import net.mograsim.logic.core.wires.Wire;
-import net.mograsim.logic.core.wires.Wire.ReadEnd;
-import net.mograsim.logic.model.model.components.atomic.GUIMerger;
+import net.mograsim.logic.core.wires.CoreWire;
+import net.mograsim.logic.core.wires.CoreWire.ReadEnd;
+import net.mograsim.logic.model.model.components.atomic.ModelMerger;
import net.mograsim.logic.model.model.wires.Pin;
import net.mograsim.logic.model.modeladapter.LogicModelParameters;
-public class MergerAdapter implements ComponentAdapter<GUIMerger>
+public class MergerAdapter implements ComponentAdapter<ModelMerger>
{
@Override
- public Class<GUIMerger> getSupportedClass()
+ public Class<ModelMerger> getSupportedClass()
{
- return GUIMerger.class;
+ return ModelMerger.class;
}
@Override
- public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, GUIMerger guiComponent,
- Map<Pin, Wire> logicWiresPerPin)
+ public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, ModelMerger modelComponent,
+ Map<Pin, CoreWire> logicWiresPerPin)
{
- Wire output = logicWiresPerPin.get(guiComponent.getPin("O"));
- ReadEnd[] inputEnds = new ReadEnd[guiComponent.logicWidth];
- for (int i = 0; i < guiComponent.logicWidth; i++)
+ CoreWire output = logicWiresPerPin.get(modelComponent.getPin("O"));
+ ReadEnd[] inputEnds = new ReadEnd[modelComponent.logicWidth];
+ for (int i = 0; i < modelComponent.logicWidth; i++)
{
- Wire input = logicWiresPerPin.get(guiComponent.getPin("I" + i));
- Wire.fuse(input, output, 0, i, 1);
+ CoreWire input = logicWiresPerPin.get(modelComponent.getPin("I" + (modelComponent.logicWidth - 1 - i)));
+ CoreWire.fuse(input, output, 0, i);
inputEnds[i] = input.createReadOnlyEnd();
}
- guiComponent.setLogicModelBinding(inputEnds, output.createReadOnlyEnd());
+ modelComponent.setLogicModelBinding(inputEnds, output.createReadOnlyEnd());
}
}
\ No newline at end of file