Files
Enigmos/Modules/ComputationalModules/Binary/LogicalExclusiveDisjunctionModule.cs
2024-06-30 01:52:44 +08:00

27 lines
837 B
C#

using Enigmos.Ports;
using Enigmos.Ports.DataPorts;
using Nocturnis.DataStructures;
using TabulaSmaragdina.Constants;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalExclusiveDisjunctionModule : BinaryComputationalModule
{
private DataOutPort Output1 { get; set; }
public override IEnumerable<BasePort> Ports => base.Ports.Union(new[] { Output1 });
public override void Init()
{
base.Init();
Output1 = GetPort<DataOutPort>("Output1");
Input1.SetDataType(EnigmosConstant.DataPortTypes.Bit);
Input2.SetDataType(EnigmosConstant.DataPortTypes.Bit);
Output1.SetDataType(EnigmosConstant.DataPortTypes.Bit);
PostInit();
}
protected override void Compute(IDataPackage input1, IDataPackage input2)
{
//Output1.DataUpdated = true;
Output1.ResultData.Bit = input1.Bit ^ input2.Bit;
}
}