Data Type
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using Nocturnis.DataStructures;
|
||||
using Nocturnis.DataStructures.Data;
|
||||
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
|
||||
using Skeleton.DataStructure;
|
||||
|
||||
@@ -6,8 +7,8 @@ namespace Nocturnis.Enigmos.Modules.ComputationalModules;
|
||||
|
||||
public static class EBinaryComputationalModule
|
||||
{
|
||||
public static IData X(this IBinaryComputationalModule p, CacheItem x) => p.DataInPorts[0].GetData.GetFrom(x)!;
|
||||
public static IData Y(this IBinaryComputationalModule p, CacheItem x) => p.DataInPorts[1].GetData.GetFrom(x)!;
|
||||
public static DataVariable X(this IBinaryComputationalModule p, CacheItem x) => p.DataInPorts[0].GetData.GetFrom(x)!;
|
||||
public static DataVariable Y(this IBinaryComputationalModule p, CacheItem x) => p.DataInPorts[1].GetData.GetFrom(x)!;
|
||||
|
||||
public static void BinaryInit(this IBinaryComputationalModule p)
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
|
||||
using Skeleton.DataStructure;
|
||||
|
||||
@@ -6,13 +7,13 @@ namespace Nocturnis.Enigmos.Modules.ComputationalModules;
|
||||
|
||||
public static class EDuplicateOutputModule
|
||||
{
|
||||
public static void Define(this IDuplicateOutputModule m, Func<CacheItem, (object, StringName)> define)
|
||||
public static void Define(this IDuplicateOutputModule m, Func<CacheItem, (object, DataType)> define)
|
||||
{
|
||||
foreach (IDataOutPort op in m.DataOutPorts)
|
||||
op.OutData.UpdateCalculation(define);
|
||||
}
|
||||
|
||||
public static void SetOutputType(this IDuplicateOutputModule m, StringName type)
|
||||
public static void SetOutputType(this IDuplicateOutputModule m, DataType type)
|
||||
{
|
||||
foreach (IDataOutPort op in m.DataOutPorts)
|
||||
op.SetDataType(type);
|
||||
|
||||
@@ -7,9 +7,9 @@ public static class ELogicModule
|
||||
{
|
||||
public static void LogicModuleInit(this ILogicModule lm)
|
||||
{
|
||||
foreach (IDataOutPort op in lm.DataOutPorts)
|
||||
op.SetDataType(EnigmosConstant.DataPortTypes.Bit);
|
||||
foreach (IDataInPort ip in lm.DataInPorts)
|
||||
ip.SetDataType(EnigmosConstant.DataPortTypes.Bit);
|
||||
//foreach (IDataOutPort op in lm.DataOutPorts)
|
||||
// op.SetDataType(DataTypeConstant.BaseDataTypes.Bit);
|
||||
//foreach (IDataInPort ip in lm.DataInPorts)
|
||||
// ip.SetDataType(DataTypeConstant.BaseDataTypes.Bit);
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,12 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
|
||||
|
||||
namespace Nocturnis.Enigmos.Modules.ComputationalModules;
|
||||
|
||||
public static class EOperationModule
|
||||
{
|
||||
public static void SetInputType(this IOperationModule m, StringName type)
|
||||
public static void SetInputType(this IOperationModule m, DataType type)
|
||||
{
|
||||
foreach (IDataInPort ip in m.DataInPorts)
|
||||
ip.SetDataType(type);
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
using Nocturnis.DataStructures;
|
||||
using Nocturnis.DataStructures.Data;
|
||||
using Skeleton.DataStructure;
|
||||
|
||||
namespace Nocturnis.Enigmos.Modules.ComputationalModules;
|
||||
|
||||
public static class ETernaryComputationalModule
|
||||
{
|
||||
public static IData X(this ITernaryComputationalModule m, CacheItem cache) =>
|
||||
public static DataVariable X(this ITernaryComputationalModule m, CacheItem cache) =>
|
||||
m.DataOutPorts[0].OutData.GetFrom(cache)!;
|
||||
public static IData Y(this ITernaryComputationalModule m, CacheItem cache) =>
|
||||
public static DataVariable Y(this ITernaryComputationalModule m, CacheItem cache) =>
|
||||
m.DataOutPorts[1].OutData.GetFrom(cache)!;
|
||||
public static IData Z(this ITernaryComputationalModule m, CacheItem cache) =>
|
||||
public static DataVariable Z(this ITernaryComputationalModule m, CacheItem cache) =>
|
||||
m.DataOutPorts[2].OutData.GetFrom(cache)!;
|
||||
}
|
||||
@@ -1,10 +1,11 @@
|
||||
using Nocturnis.DataStructures;
|
||||
using Nocturnis.DataStructures.Data;
|
||||
using Skeleton.DataStructure;
|
||||
|
||||
namespace Nocturnis.Enigmos.Modules.ComputationalModules;
|
||||
|
||||
public static class EUnaryComputationalModule
|
||||
{
|
||||
public static IData X(this IUnaryComputationalModule m, CacheItem cache) =>
|
||||
public static DataVariable X(this IUnaryComputationalModule m, CacheItem cache) =>
|
||||
m.DataOutPorts[0].OutData.GetFrom(cache)!;
|
||||
}
|
||||
@@ -1,13 +1,15 @@
|
||||
using Godot;
|
||||
using Nocturnis.Communicators;
|
||||
using Nocturnis.DataStructures;
|
||||
using Nocturnis.DataStructures.Data;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
|
||||
namespace Nocturnis.Enigmos.Modules;
|
||||
|
||||
public interface ICommunicateModule : IBaseModule
|
||||
{
|
||||
IBaseCommunicator? PairedCommunicator { get; set; }
|
||||
StringName CommunicationDataType { get; }
|
||||
DataType CommunicationDataType { get; }
|
||||
StringName CommunicationDirection { get; }
|
||||
IData DataBuffer { get; set; }
|
||||
DataVariable DataBuffer { get; set; }
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
using Nocturnis.DataStructures;
|
||||
using Nocturnis.DataStructures.Data;
|
||||
|
||||
namespace Nocturnis.Enigmos.Modules;
|
||||
|
||||
public interface IEnumerableProcessingModule : ICompositeModule
|
||||
{
|
||||
IData[] CachedInputArray { get; set; }
|
||||
DataVariable[] CachedInputArray { get; set; }
|
||||
int ProcessingIndex { get; set; }
|
||||
}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
using Nocturnis.DataStructures;
|
||||
using Nocturnis.DataStructures.Data;
|
||||
|
||||
namespace Nocturnis.Enigmos.Modules;
|
||||
|
||||
public interface IFilterModule : IProgrammableModule
|
||||
{
|
||||
void Filter();
|
||||
IData[] CachedInputArray { get; set; }
|
||||
IData[] CachedResult { get; set; }
|
||||
DataVariable[] CachedInputArray { get; set; }
|
||||
DataVariable[] CachedResult { get; set; }
|
||||
int ProcessingIndex { get; set; }
|
||||
bool FilterFinished { get; set; }
|
||||
bool FilterStarted { get; set; }
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
using Nocturnis.DataStructures;
|
||||
using Nocturnis.DataStructures.Data;
|
||||
|
||||
namespace Nocturnis.Enigmos.Modules;
|
||||
|
||||
public interface IInternalComputationalModule : ICompositeModule
|
||||
{
|
||||
IData? CachedResult { get; set; }
|
||||
DataVariable? CachedResult { get; set; }
|
||||
void Compute();
|
||||
bool ComputationFinished { get; set; }
|
||||
bool ComputationStarted { get; set; }
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
using Nocturnis.DataStructures;
|
||||
using Nocturnis.DataStructures.Data;
|
||||
|
||||
namespace Nocturnis.Enigmos.Modules;
|
||||
|
||||
public interface IOptimizationModule : IProgrammableModule
|
||||
{
|
||||
IData CachedResult { get; set; }
|
||||
DataVariable CachedResult { get; set; }
|
||||
bool ComputationStarted { get; set; }
|
||||
bool ComputationFinished { get; set; }
|
||||
void Optimize();
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
|
||||
namespace Nocturnis.Enigmos.Ports.DataPorts;
|
||||
|
||||
public interface IDataPort : IBasePort
|
||||
{
|
||||
new IDataPort? ConnectedPort { get; set; }
|
||||
StringName? DataType { get; set; }
|
||||
void SetDataType(StringName type);
|
||||
DataType DataType { get; set; }
|
||||
void SetDataType(DataType type);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user