Data Type
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Modules.ComputationalModules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
using Nocturnis.GlobalManagement.Constants;
|
||||
using Nocturnis.GlobalManagement.Providers;
|
||||
using Skeleton.DataStructure;
|
||||
@@ -23,15 +22,15 @@ public abstract partial class CopyModule : UnaryComputationalModule,
|
||||
this,
|
||||
DataInPorts,
|
||||
"",
|
||||
EnigmosConstant.DataPortTypes.Real,
|
||||
Array.Empty<StringName>()
|
||||
DataTypeConstant.BaseDataTypes.Real,
|
||||
DataTypeConstant.DataTypeOptions.AnyType
|
||||
);
|
||||
OutputGroup = GlobalProvider.DataStructureProvider.NewDataOutGroup(
|
||||
OutputGroup = GlobalProvider.DataStructureProvider!.NewDataOutGroup(
|
||||
this,
|
||||
DataOutPorts,
|
||||
"Output Port Type",
|
||||
EnigmosConstant.DataPortTypes.Real,
|
||||
EnigmosConstant.DataPortTypes.AnyType
|
||||
DataTypeConstant.BaseDataTypes.Real,
|
||||
DataTypeConstant.DataTypeOptions.AnyType
|
||||
);
|
||||
ConfigurablePortGroups = new HashSet<IDataPortGroup> { OutputGroup };
|
||||
PostInit();
|
||||
@@ -39,7 +38,7 @@ public abstract partial class CopyModule : UnaryComputationalModule,
|
||||
|
||||
public override void Define()
|
||||
{
|
||||
(object, StringName) Func(CacheItem cache) => (this.X(cache).Data, this.X(cache).Type)!;
|
||||
(object, DataType) Func(CacheItem cache) => (this.X(cache).Data, this.X(cache).Type)!;
|
||||
this.Define(Func);
|
||||
}
|
||||
public void Inference() => InputGroup!.SelectedType = OutputGroup!.SelectedType;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules.ComputationalModules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
using Nocturnis.GlobalManagement.Constants;
|
||||
using Skeleton.DataStructure;
|
||||
|
||||
@@ -12,14 +11,14 @@ public abstract partial class LogicalNegationModule : UnaryComputationalModule,
|
||||
{
|
||||
base.Init();
|
||||
this.DataOutInit("Output", 1);
|
||||
this.SetInputType(EnigmosConstant.DataPortTypes.Bit);
|
||||
this.SetOutputType(EnigmosConstant.DataPortTypes.Bit);
|
||||
this.SetInputType(DataTypeConstant.BaseDataTypes.Bit);
|
||||
this.SetOutputType(DataTypeConstant.BaseDataTypes.Bit);
|
||||
PostInit();
|
||||
}
|
||||
|
||||
public override void Define()
|
||||
{
|
||||
(object, StringName) Func(CacheItem cache) => (!this.X(cache).Bit, EnigmosConstant.DataPortTypes.Bit);
|
||||
(object, DataType) Func(CacheItem cache) => (!this.X(cache).Bit, DataTypeConstant.BaseDataTypes.Bit);
|
||||
this.Define(Func);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using Enigmos.Ports.DataPorts;
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Modules.ComputationalModules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
using Nocturnis.GlobalManagement.Constants;
|
||||
using Nocturnis.GlobalManagement.Providers;
|
||||
using Skeleton.DataStructure;
|
||||
@@ -25,15 +23,15 @@ public abstract partial class NegationModule : UnaryComputationalModule, IPolymo
|
||||
this,
|
||||
DataInPorts,
|
||||
"",
|
||||
EnigmosConstant.DataPortTypes.Real,
|
||||
Array.Empty<StringName>()
|
||||
DataTypeConstant.BaseDataTypes.Real,
|
||||
DataTypeConstant.DataTypeOptions.TensorTypes
|
||||
);
|
||||
OutputGroup = GlobalProvider.DataStructureProvider.NewDataOutGroup(
|
||||
this,
|
||||
DataOutPorts,
|
||||
"Output Port Type",
|
||||
EnigmosConstant.DataPortTypes.Real,
|
||||
EnigmosConstant.DataPortTypes.AnyTensor
|
||||
DataTypeConstant.BaseDataTypes.Real,
|
||||
DataTypeConstant.DataTypeOptions.TensorTypes
|
||||
);
|
||||
ConfigurablePortGroups = new HashSet<IDataPortGroup> { OutputGroup };
|
||||
PostInit();
|
||||
@@ -42,7 +40,7 @@ public abstract partial class NegationModule : UnaryComputationalModule, IPolymo
|
||||
|
||||
public override void Define()
|
||||
{
|
||||
(object, StringName) Func(CacheItem c) =>
|
||||
(object, DataType) Func(CacheItem c) =>
|
||||
GlobalProvider.PolymorphismProvider!.Neg(this.X(c));
|
||||
this.Define(Func);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Modules.ComputationalModules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
using Nocturnis.GlobalManagement.Constants;
|
||||
using Nocturnis.GlobalManagement.Providers;
|
||||
using Skeleton.DataStructure;
|
||||
@@ -23,15 +23,15 @@ public abstract partial class SquareModule : UnaryComputationalModule, IPolymorp
|
||||
this,
|
||||
DataInPorts,
|
||||
"",
|
||||
EnigmosConstant.DataPortTypes.Real,
|
||||
Array.Empty<StringName>()
|
||||
DataTypeConstant.BaseDataTypes.Real,
|
||||
DataTypeConstant.DataTypeOptions.ScalarTypes
|
||||
);
|
||||
OutputGroup = GlobalProvider.DataStructureProvider.NewDataPortGroup(
|
||||
OutputGroup = GlobalProvider.DataStructureProvider.NewDataOutGroup(
|
||||
this,
|
||||
DataOutPorts,
|
||||
"Output Port Type",
|
||||
EnigmosConstant.DataPortTypes.Real,
|
||||
EnigmosConstant.DataPortTypes.NumericTypes
|
||||
DataTypeConstant.BaseDataTypes.Real,
|
||||
DataTypeConstant.DataTypeOptions.ScalarTypes
|
||||
);
|
||||
ConfigurablePortGroups = new HashSet<IDataPortGroup> { OutputGroup };
|
||||
PostInit();
|
||||
@@ -39,7 +39,7 @@ public abstract partial class SquareModule : UnaryComputationalModule, IPolymorp
|
||||
|
||||
public override void Define()
|
||||
{
|
||||
(object, StringName) Func(CacheItem c) => GlobalProvider.PolymorphismProvider!.Square(this.X(c));
|
||||
(object, DataType) Func(CacheItem c) => GlobalProvider.PolymorphismProvider!.Square(this.X(c));
|
||||
this.Define(Func);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures;
|
||||
using Nocturnis.DataStructures.Data;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Modules.ComputationalModules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
using Nocturnis.GlobalManagement.Constants;
|
||||
using Nocturnis.GlobalManagement.Providers;
|
||||
using Skeleton.DataStructure;
|
||||
@@ -26,15 +26,15 @@ public abstract partial class V2ComponentModule : UnaryComputationalModule, IPol
|
||||
this,
|
||||
DataInPorts,
|
||||
"Vector Input Type",
|
||||
EnigmosConstant.DataPortTypes.R2,
|
||||
EnigmosConstant.DataPortTypes.VectorTypes
|
||||
DataTypeConstant.BaseDataTypes.R2,
|
||||
DataTypeConstant.DataTypeOptions.VectorTypes
|
||||
);
|
||||
ScalarOutputGroup = GlobalProvider.DataStructureProvider.NewDataOutGroup(
|
||||
this,
|
||||
DataOutPorts,
|
||||
"",
|
||||
EnigmosConstant.DataPortTypes.Real,
|
||||
Array.Empty<StringName>()
|
||||
DataTypeConstant.BaseDataTypes.Real,
|
||||
DataTypeConstant.DataTypeOptions.ScalarTypes
|
||||
);
|
||||
ConfigurablePortGroups = new HashSet<IDataPortGroup> { VectorInputGroup };
|
||||
PostInit();
|
||||
@@ -42,19 +42,19 @@ public abstract partial class V2ComponentModule : UnaryComputationalModule, IPol
|
||||
|
||||
public override void Define()
|
||||
{
|
||||
(object, StringName) Func1(CacheItem c)
|
||||
(object, DataType) Func1(CacheItem c)
|
||||
{
|
||||
IData v = this.X(c);
|
||||
if (v.Type == EnigmosConstant.DataPortTypes.R2)
|
||||
return (v.R2[1], EnigmosConstant.DataPortTypes.Real);
|
||||
return (v.C2[1], EnigmosConstant.DataPortTypes.Complex);
|
||||
DataVariable v = this.X(c);
|
||||
if (v.Type == DataTypeConstant.BaseDataTypes.R2)
|
||||
return (v.R2[1], DataTypeConstant.BaseDataTypes.Real);
|
||||
return (v.C2[1], DataTypeConstant.BaseDataTypes.Complex);
|
||||
}
|
||||
(object, StringName) Func2(CacheItem c)
|
||||
(object, DataType) Func2(CacheItem c)
|
||||
{
|
||||
IData v = this.X(c);
|
||||
if (v.Type == EnigmosConstant.DataPortTypes.R2)
|
||||
return (v.R2[2], EnigmosConstant.DataPortTypes.Real);
|
||||
return (v.C2[2], EnigmosConstant.DataPortTypes.Complex);
|
||||
DataVariable v = this.X(c);
|
||||
if (v.Type == DataTypeConstant.BaseDataTypes.R2)
|
||||
return (v.R2[2], DataTypeConstant.BaseDataTypes.Real);
|
||||
return (v.C2[2], DataTypeConstant.BaseDataTypes.Complex);
|
||||
}
|
||||
DataOutPorts[0].OutData.UpdateCalculation(Func1);
|
||||
DataOutPorts[1].OutData.UpdateCalculation(Func2);
|
||||
|
||||
Reference in New Issue
Block a user