Data Type

This commit is contained in:
h z
2024-07-11 11:21:29 +01:00
parent a8688d7f95
commit bd5ab1e940
62 changed files with 233 additions and 277 deletions

View File

@@ -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;

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);