using Nocturnis.DataStructures.DataTypes; using Nocturnis.Enigmos.Modules.ComputationalModules; using Nocturnis.GlobalManagement.Constants; using Skeleton.DataStructure; namespace Enigmos.Modules.ComputationalModules.Unary; public abstract partial class LogicalNegationModule : UnaryComputationalModule, IDuplicateOutputModule { public override void Init() { base.Init(); this.DataOutInit("Output", 1); this.SetInputType(DataTypeConstant.BaseDataTypes.Bit); this.SetOutputType(DataTypeConstant.BaseDataTypes.Bit); PostInit(); } public override void Define() { (object, DataType) Func(CacheItem cache) => (!this.X(cache).Bit, DataTypeConstant.BaseDataTypes.Bit); this.Define(Func); } }