source generator

This commit is contained in:
h z
2024-07-10 07:02:11 +01:00
parent 3eec8a1345
commit 401e48e0ba
77 changed files with 432 additions and 336 deletions

View File

@@ -13,8 +13,7 @@ public partial class AdditionModule : BinaryComputationalModule, IPolymorphismMo
{
private IDataInGroup? InputGroup { get; set; }
private IDataOutGroup? OutputGroup { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public override double MaintenanceAlpha => 0.19572021d;
public override double MaintenanceBeta => 0.20151779d;
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();

View File

@@ -4,9 +4,9 @@ using Nocturnis.Enigmos.Ports;
namespace Enigmos.Modules.ComputationalModules.Binary;
public abstract partial class BinaryLogicModule:BinaryComputationalModule,ILogicModule, IDuplicateOutputModule
public abstract partial class BinaryLogicModule : BinaryComputationalModule, ILogicModule, IDuplicateOutputModule
{
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public override void Init()
{
base.Init();

View File

@@ -13,7 +13,6 @@ public partial class ComparisionModule : BinaryComputationalModule,
IOperationModule
{
private IBoolParameter? Greater { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public HashSet<IConfigurableParameter> ConfigurableParameters { get; set; } = new();
public override void Init()

View File

@@ -14,7 +14,6 @@ public partial class ControlledOutputModule : BinaryComputationalModule, IPolymo
[Export] private StringName? PresetDataType { get; set; }
private IDataOutGroup? OutputGroup { get; set; }
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public void Inference() => DataInPorts[1].SetDataType(OutputGroup!.SelectedType);
public override void Init()
{

View File

@@ -15,7 +15,6 @@ public partial class DivisionModule : BinaryComputationalModule,
{
private IDataInGroup? InputGroup { get; set; }
private IDataOutGroup? OutputGroup { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();
public override void Init()

View File

@@ -13,8 +13,6 @@ public partial class DotProductModule : BinaryComputationalModule, IPolymorphism
{
private IDataInGroup? VectorInputGroup { get; set; }
private IDataOutGroup? OutputGroup { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();
public override void Init()

View File

@@ -8,7 +8,6 @@ namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class MaxModule : BinaryComputationalModule, IOperationModule, IDuplicateOutputModule
{
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public override void Init()
{
base.Init();

View File

@@ -8,7 +8,6 @@ namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class MinModule : BinaryComputationalModule, IDuplicateOutputModule, IOperationModule
{
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public override void Init()
{
base.Init();

View File

@@ -13,8 +13,6 @@ public partial class MultiplicationModule : BinaryComputationalModule, IPolymorp
{
private IDataPortGroup? InputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();
public override void Init()

View File

@@ -14,7 +14,6 @@ public partial class PowerModule : BinaryComputationalModule, IPolymorphismModul
{
private IDataPortGroup? TensorInputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();
public override void Init()

View File

@@ -17,7 +17,6 @@ public partial class ScalarDivisionModule : BinaryComputationalModule,
private IDataPortGroup? ScalarInputGroup { get; set; }
private IDataPortGroup? TensorInputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public override double MaintenanceAlpha => 0.77852142d;
public override double MaintenanceBeta => 0.9544432d;
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();

View File

@@ -18,7 +18,6 @@ public partial class ScalarMultiplicationModule :
private IDataPortGroup? ScalarInputGroup { get; set; }
private IDataPortGroup? TensorInputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();
public override void Init()

View File

@@ -15,8 +15,6 @@ public partial class SubtractionModule : BinaryComputationalModule,
{
private IDataPortGroup? InputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();
public override void Init()

View File

@@ -19,11 +19,7 @@ public partial class V2Module : BinaryComputationalModule,
{
private IDataPortGroup? ScalarInputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; }
private DataOutPort? Output1 { get; set; }
private DataOutPort? Output2 { get; set; }
private DataOutPort? Output3 { get; set; }
private DataOutPort? Output4 { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public override double MaintenanceAlpha => 0.77852142d;
public override double MaintenanceBeta => 0.9544432d;
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();

View File

@@ -6,9 +6,7 @@ namespace Enigmos.Modules.ComputationalModules;
public abstract partial class BinaryComputationalModule : ComputationalModule, IBinaryComputationalModule
{
public override IEnumerable<IBasePort> Ports => DataInPorts;
public IDataInPort[] DataInPorts { get; set; } = new IDataInPort[2];
public override void Init()
{
base.Init();

View File

@@ -12,7 +12,6 @@ public partial class ConstantModule : NullaryComputationalModule, IParameterized
{
[Export] private double PresetConstantValue { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
private IDoubleParameter? ConstValue { get; set; }
public override void Init()
{

View File

@@ -21,7 +21,6 @@ public partial class KeyListenerModule : NullaryComputationalModule,
public IKeyParameter? ListeningKey { get; set; }
public bool Pressed { get; set; }
public HashSet<IConfigurableParameter> ConfigurableParameters { get; set; } = new();
public override IEnumerable<BasePort> Ports => new[] { Output1, Output2, Output3 }!;
public override void Init()
{
base.Init();

View File

@@ -20,7 +20,6 @@ public partial class NormalDistributionModule : NullaryComputationalModule,
private DataOutPort? Output2 { get; set; }
private DataOutPort? Output3 { get; set; }
private DataOutPort? Output4 { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
private IDoubleParameter? Mu { get; set; }
private IDoubleParameter? Sigma { get; set; }

View File

@@ -6,5 +6,5 @@ namespace Enigmos.Modules.ComputationalModules;
public abstract partial class NullaryComputationalModule : ComputationalModule, ISourceModule
{
public override IEnumerable<IBasePort> Ports => Array.Empty<BasePort>();
}

View File

@@ -17,7 +17,6 @@ public partial class SelectorModule : TernaryComputationalModule,
{
private IDataPortGroup? DataTypeGroup { get; set; }
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public override void Init()
{
base.Init();

View File

@@ -7,7 +7,6 @@ namespace Enigmos.Modules.ComputationalModules;
public abstract partial class TernaryComputationalModule : ComputationalModule, IParameterModule
{
public IDataInPort[] DataInPorts { get; set; } = new IDataInPort[3];
public override IEnumerable<IBasePort> Ports => DataInPorts;
public override void Init()
{
base.Init();

View File

@@ -14,7 +14,6 @@ public partial class CopyModule : UnaryComputationalModule,
{
private IDataPortGroup? InputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();
public override void Init()
{

View File

@@ -8,7 +8,6 @@ namespace Enigmos.Modules.ComputationalModules.Unary;
public partial class LogicalNegationModule : UnaryComputationalModule, IDuplicateOutputModule
{
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public override void Init()
{
base.Init();

View File

@@ -12,13 +12,9 @@ namespace Enigmos.Modules.ComputationalModules.Unary;
public partial class NegationModule : UnaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{
private DataOutPort? Output1 { get; set; }
private DataOutPort? Output2 { get; set; }
private DataOutPort? Output3 { get; set; }
private DataOutPort? Output4 { get; set; }
private IDataInGroup? InputGroup { get; set; }
private IDataOutGroup? OutputGroup { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts)!;
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();
public override void Init()

View File

@@ -13,7 +13,6 @@ public partial class SquareModule : UnaryComputationalModule, IPolymorphismModul
{
private IDataPortGroup? InputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();
public override void Init()

View File

@@ -15,8 +15,7 @@ public partial class V2ComponentModule : UnaryComputationalModule, IPolymorphism
{
private IDataPortGroup? VectorInputGroup { get; set; }
private IDataPortGroup? ScalarOutputGroup { get; set; }
public override IEnumerable<IBasePort> Ports => base.Ports.Union(DataOutPorts);
public HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; } = new();
public override void Init()

View File

@@ -8,7 +8,6 @@ namespace Enigmos.Modules.ComputationalModules;
public abstract partial class UnaryComputationalModule : ComputationalModule, IUnaryComputationalModule
{
public IDataInPort[] DataInPorts { get; set; } = new IDataInPort[1];
public override IEnumerable<IBasePort> Ports => DataInPorts;
public override void Init()
{
base.Init();