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,10 +1,9 @@
using Enigmos.Ports.DataPorts;
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;
@@ -32,15 +31,15 @@ public abstract partial class V2Module : BinaryComputationalModule,
this,
DataInPorts,
"Scalar Input Type",
EnigmosConstant.DataPortTypes.Real,
EnigmosConstant.DataPortTypes.NumericTypes
DataTypeConstant.BaseDataTypes.Real,
DataTypeConstant.DataTypeOptions.ScalarTypes
);
OutputGroup = GlobalProvider.DataStructureProvider.NewDataOutGroup(
this,
DataOutPorts,
"",
EnigmosConstant.DataPortTypes.R2,
Array.Empty<StringName>()
DataTypeConstant.BaseDataTypes.R2,
DataTypeConstant.DataTypeOptions.VectorTypes
);
ConfigurablePortGroups = new HashSet<IDataPortGroup> { ScalarInputGroup };
PostInit();
@@ -48,14 +47,14 @@ public abstract partial class V2Module : BinaryComputationalModule,
public override void Define()
{
(object, StringName) Func(CacheItem cache)
(object, DataType) Func(CacheItem cache)
{
IData x = this.X(cache);
IData y = this.Y(cache);
DataVariable x = this.X(cache);
DataVariable y = this.Y(cache);
if (x.Type == EnigmosConstant.DataPortTypes.Complex || y.Type == EnigmosConstant.DataPortTypes.Complex)
return (new C2(x.Complex, y.Complex), EnigmosConstant.DataPortTypes.C2);
return (new R2(x.Double, y.Double), EnigmosConstant.DataPortTypes.Real);
if (x.Type == DataTypeConstant.BaseDataTypes.Complex || y.Type == DataTypeConstant.BaseDataTypes.Complex)
return (new C2(x.Complex, y.Complex), DataTypeConstant.BaseDataTypes.C2);
return (new R2(x.Real, y.Real), DataTypeConstant.BaseDataTypes.Real);
}
this.Define(Func);
}