chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
namespace Lib.numbers.@float.basic;
|
||||
|
||||
[Guid("c160f925-0a66-4505-a569-cadd878dbb6f")]
|
||||
internal sealed class Add : Instance<Add>
|
||||
{
|
||||
[Output(Guid = "{5CE9C625-F890-4620-9747-C98EAB4B9447}")]
|
||||
public readonly Slot<float> Result = new();
|
||||
|
||||
// [Output(Guid = "{DF114783-6C8D-47E2-99B0-8C97217657A5}")]
|
||||
// public readonly Slot<float> Result2 = new Slot<float>();
|
||||
|
||||
public Add()
|
||||
{
|
||||
Result.UpdateAction += Update;
|
||||
}
|
||||
|
||||
private void Update(EvaluationContext context)
|
||||
{
|
||||
Result.Value = Input1.GetValue(context) + Input2.GetValue(context);
|
||||
}
|
||||
|
||||
|
||||
[Input(Guid = "{E3550929-8905-4CDF-BC85-C31E97DA4BAA}")]
|
||||
public readonly InputSlot<float> Input1 = new();
|
||||
|
||||
[Input(Guid = "{993D59BB-1FC0-4857-A36D-629B0E7AA0D2}")]
|
||||
public readonly InputSlot<float> Input2 = new();
|
||||
|
||||
// [Input(Guid = "{D7478BAA-41B4-4F83-873B-6267AA93BFA9}")]
|
||||
// public readonly InputSlot<float> Input3 = new InputSlot<float>();
|
||||
//
|
||||
// [Input(Guid = "{99A53560-8F62-4240-9ED4-800525CF2EF3}")]
|
||||
// public readonly InputSlot<float> Input4 = new InputSlot<float>();
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "c160f925-0a66-4505-a569-cadd878dbb6f"/*Add*/,
|
||||
"Inputs": [
|
||||
{
|
||||
"Id": "993d59bb-1fc0-4857-a36d-629b0e7aa0d2"/*Input2*/,
|
||||
"DefaultValue": 0.0
|
||||
},
|
||||
{
|
||||
"Id": "e3550929-8905-4cdf-bc85-c31e97da4baa"/*Input1*/,
|
||||
"DefaultValue": 0.0
|
||||
}
|
||||
],
|
||||
"Children": [],
|
||||
"Connections": []
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "c160f925-0a66-4505-a569-cadd878dbb6f"/*Add*/,
|
||||
"Description": "Adds two float values and outputs the result as a float\n\nIf more values are to be added, there is also [Sum]",
|
||||
"SymbolTags": "1",
|
||||
"InputUis": [
|
||||
{
|
||||
"InputId": "993d59bb-1fc0-4857-a36d-629b0e7aa0d2"/*Input2*/,
|
||||
"Position": {
|
||||
"X": 197.0,
|
||||
"Y": 328.0
|
||||
},
|
||||
"Min": -100.0,
|
||||
"Max": 100.0,
|
||||
"Scale": 0.01
|
||||
},
|
||||
{
|
||||
"InputId": "e3550929-8905-4cdf-bc85-c31e97da4baa"/*Input1*/,
|
||||
"Relevancy": "Relevant",
|
||||
"Position": {
|
||||
"X": 36.0,
|
||||
"Y": 334.0
|
||||
},
|
||||
"Min": -100.0,
|
||||
"Max": 100.0
|
||||
}
|
||||
],
|
||||
"SymbolChildUis": [],
|
||||
"OutputUis": [
|
||||
{
|
||||
"OutputId": "5ce9c625-f890-4620-9747-c98eab4b9447"/*Result*/,
|
||||
"Position": {
|
||||
"X": 133.0,
|
||||
"Y": 38.0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
namespace Lib.numbers.@float.basic;
|
||||
|
||||
[Guid("15fb88b2-81a1-43b8-97ba-41221293bb07")]
|
||||
internal sealed class Div : Instance<Div>
|
||||
{
|
||||
[Output(Guid = "866642e7-17dd-4375-9d5e-2e3747a554c2")]
|
||||
public readonly Slot<float> Result = new();
|
||||
|
||||
public Div()
|
||||
{
|
||||
Result.UpdateAction += Update;
|
||||
}
|
||||
|
||||
private void Update(EvaluationContext context)
|
||||
{
|
||||
var b = B.GetValue(context);
|
||||
Result.Value = b== 0
|
||||
? float.NaN
|
||||
: A.GetValue(context) / b;
|
||||
}
|
||||
|
||||
|
||||
[Input(Guid = "70460191-7573-400f-ba88-11878ecc917c")]
|
||||
public readonly InputSlot<float> A = new();
|
||||
|
||||
[Input(Guid = "a79a2f16-7a4e-464d-8af4-3e3029ae853e")]
|
||||
public readonly InputSlot<float> B = new();
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "15fb88b2-81a1-43b8-97ba-41221293bb07"/*Div*/,
|
||||
"Inputs": [
|
||||
{
|
||||
"Id": "70460191-7573-400f-ba88-11878ecc917c"/*A*/,
|
||||
"DefaultValue": 1.0
|
||||
},
|
||||
{
|
||||
"Id": "a79a2f16-7a4e-464d-8af4-3e3029ae853e"/*B*/,
|
||||
"DefaultValue": 1.0
|
||||
}
|
||||
],
|
||||
"Children": [],
|
||||
"Connections": []
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "15fb88b2-81a1-43b8-97ba-41221293bb07"/*Div*/,
|
||||
"Description": "Divides two float values and outputs the quotient / result as float\n\nAlso see: [Multiply] [Sum] etc.",
|
||||
"SymbolTags": "1",
|
||||
"InputUis": [
|
||||
{
|
||||
"InputId": "70460191-7573-400f-ba88-11878ecc917c"/*A*/,
|
||||
"Relevancy": "Relevant",
|
||||
"Position": {
|
||||
"X": 36.0,
|
||||
"Y": 334.0
|
||||
},
|
||||
"Description": "Value to be divided / dividend"
|
||||
},
|
||||
{
|
||||
"InputId": "a79a2f16-7a4e-464d-8af4-3e3029ae853e"/*B*/,
|
||||
"Relevancy": "Relevant",
|
||||
"Position": {
|
||||
"X": 197.0,
|
||||
"Y": 328.0
|
||||
},
|
||||
"Description": "Value that divides / divisor"
|
||||
}
|
||||
],
|
||||
"SymbolChildUis": [],
|
||||
"OutputUis": [
|
||||
{
|
||||
"OutputId": "866642e7-17dd-4375-9d5e-2e3747a554c2"/*Result*/,
|
||||
"Position": {
|
||||
"X": 133.0,
|
||||
"Y": 38.0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
namespace Lib.numbers.@float.basic;
|
||||
|
||||
[Guid("ffbf3237-8f31-4d19-bc21-88f792a7df3e")]
|
||||
internal sealed class Log : Instance<Log>
|
||||
{
|
||||
[Output(Guid = "37256f00-8f0e-4252-928e-4e9264cbd9df")]
|
||||
public readonly Slot<float> Result = new();
|
||||
|
||||
public Log()
|
||||
{
|
||||
Result.UpdateAction += Update;
|
||||
}
|
||||
|
||||
private void Update(EvaluationContext context)
|
||||
{
|
||||
var v = Value.GetValue(context);
|
||||
var newBase = Base.GetValue(context);
|
||||
Result.Value = (float)Math.Log(v,newBase);
|
||||
}
|
||||
|
||||
[Input(Guid = "d3a0a2fd-e108-4636-a375-092701d58e19")]
|
||||
public readonly InputSlot<float> Value = new();
|
||||
|
||||
[Input(Guid = "328f7f75-0414-40f9-ba21-8313838a8bd5")]
|
||||
public readonly InputSlot<float> Base = new();
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "ffbf3237-8f31-4d19-bc21-88f792a7df3e"/*Log*/,
|
||||
"Inputs": [
|
||||
{
|
||||
"Id": "328f7f75-0414-40f9-ba21-8313838a8bd5"/*Base*/,
|
||||
"DefaultValue": 1.0
|
||||
},
|
||||
{
|
||||
"Id": "d3a0a2fd-e108-4636-a375-092701d58e19"/*Value*/,
|
||||
"DefaultValue": 1.0
|
||||
}
|
||||
],
|
||||
"Children": [],
|
||||
"Connections": []
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "ffbf3237-8f31-4d19-bc21-88f792a7df3e"/*Log*/,
|
||||
"Description": "Calculates the result of a logarithmic function\n\nIn C#: Math.Log(x, y)",
|
||||
"SymbolTags": "1",
|
||||
"InputUis": [
|
||||
{
|
||||
"InputId": "328f7f75-0414-40f9-ba21-8313838a8bd5"/*Base*/,
|
||||
"Position": {
|
||||
"X": 36.0,
|
||||
"Y": 379.0
|
||||
},
|
||||
"Description": "Base\nDefines what value was used for the base when raising to a power"
|
||||
},
|
||||
{
|
||||
"InputId": "d3a0a2fd-e108-4636-a375-092701d58e19"/*Value*/,
|
||||
"Position": {
|
||||
"X": 36.0,
|
||||
"Y": 334.0
|
||||
},
|
||||
"Description": "Base\nDefines what value was the result of raising to a power",
|
||||
"Min": -100.0,
|
||||
"Max": 100.0
|
||||
}
|
||||
],
|
||||
"SymbolChildUis": [],
|
||||
"OutputUis": [
|
||||
{
|
||||
"OutputId": "37256f00-8f0e-4252-928e-4e9264cbd9df"/*Result*/,
|
||||
"Position": {
|
||||
"X": 133.0,
|
||||
"Y": 38.0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
namespace Lib.numbers.@float.basic;
|
||||
|
||||
[Guid("5202d3f6-c970-4006-933d-3c60d6c202dc")]
|
||||
internal sealed class Modulo : Instance<Modulo>
|
||||
{
|
||||
[Output(Guid = "4e4ebbcf-6b12-4ce7-9bec-78cd9049e239")]
|
||||
public readonly Slot<float> Result = new();
|
||||
|
||||
public Modulo()
|
||||
{
|
||||
Result.UpdateAction += Update;
|
||||
}
|
||||
|
||||
private void Update(EvaluationContext context)
|
||||
{
|
||||
var v = Value.GetValue(context);
|
||||
var mod2 = ModuloValue.GetValue(context);
|
||||
|
||||
if (mod2 != 0)
|
||||
{
|
||||
Result.Value = v - mod2 * (float)Math.Floor(v/mod2);
|
||||
}
|
||||
else
|
||||
{
|
||||
T3.Core.Logging.Log.Debug("Modulo caused division by zero", this);
|
||||
Result.Value = 0;
|
||||
}
|
||||
}
|
||||
|
||||
[Input(Guid = "8a401e5d-295d-4403-a3af-1d6b91ce3dba")]
|
||||
public readonly InputSlot<float> Value = new();
|
||||
|
||||
[Input(Guid = "62a8185f-32c0-41d2-b8be-d8c1d7178c00")]
|
||||
public readonly InputSlot<float> ModuloValue = new();
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "5202d3f6-c970-4006-933d-3c60d6c202dc"/*Modulo*/,
|
||||
"Inputs": [
|
||||
{
|
||||
"Id": "62a8185f-32c0-41d2-b8be-d8c1d7178c00"/*ModuloValue*/,
|
||||
"DefaultValue": 1.0
|
||||
},
|
||||
{
|
||||
"Id": "8a401e5d-295d-4403-a3af-1d6b91ce3dba"/*Value*/,
|
||||
"DefaultValue": 0.0
|
||||
}
|
||||
],
|
||||
"Children": [],
|
||||
"Connections": []
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "5202d3f6-c970-4006-933d-3c60d6c202dc"/*Modulo*/,
|
||||
"Description": "Modulo for floats.",
|
||||
"SymbolTags": "1",
|
||||
"InputUis": [
|
||||
{
|
||||
"InputId": "62a8185f-32c0-41d2-b8be-d8c1d7178c00"/*ModuloValue*/,
|
||||
"Position": {
|
||||
"X": 197.0,
|
||||
"Y": 328.0
|
||||
},
|
||||
"AddPadding": "True",
|
||||
"Min": -100.0,
|
||||
"Max": 100.0,
|
||||
"Scale": 0.01
|
||||
},
|
||||
{
|
||||
"InputId": "8a401e5d-295d-4403-a3af-1d6b91ce3dba"/*Value*/,
|
||||
"Position": {
|
||||
"X": 36.0,
|
||||
"Y": 334.0
|
||||
},
|
||||
"Min": -100.0,
|
||||
"Max": 100.0
|
||||
}
|
||||
],
|
||||
"SymbolChildUis": [],
|
||||
"OutputUis": [
|
||||
{
|
||||
"OutputId": "4e4ebbcf-6b12-4ce7-9bec-78cd9049e239"/*Result*/,
|
||||
"Position": {
|
||||
"X": 133.0,
|
||||
"Y": 38.0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
namespace Lib.numbers.@float.basic;
|
||||
|
||||
[Guid("17b60044-9125-4961-8a79-ca94697b3726")]
|
||||
internal sealed class Multiply : Instance<Multiply>
|
||||
{
|
||||
[Output(Guid = "e011dd8c-1b9c-458f-8960-e6c38e83ca74")]
|
||||
public readonly Slot<float> Result = new();
|
||||
|
||||
public Multiply()
|
||||
{
|
||||
Result.UpdateAction += Update;
|
||||
}
|
||||
|
||||
private void Update(EvaluationContext context)
|
||||
{
|
||||
Result.Value = A.GetValue(context) * B.GetValue(context);
|
||||
}
|
||||
|
||||
|
||||
[Input(Guid = "372288fa-3794-47ba-9f91-59240513217a")]
|
||||
public readonly InputSlot<float> A = new();
|
||||
|
||||
[Input(Guid = "5ae4bb07-4214-4ec3-a499-24d9f6d404a5")]
|
||||
public readonly InputSlot<float> B = new();
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "17b60044-9125-4961-8a79-ca94697b3726"/*Multiply*/,
|
||||
"Inputs": [
|
||||
{
|
||||
"Id": "372288fa-3794-47ba-9f91-59240513217a"/*A*/,
|
||||
"DefaultValue": 1.0
|
||||
},
|
||||
{
|
||||
"Id": "5ae4bb07-4214-4ec3-a499-24d9f6d404a5"/*B*/,
|
||||
"DefaultValue": 1.0
|
||||
}
|
||||
],
|
||||
"Children": [],
|
||||
"Connections": []
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "17b60044-9125-4961-8a79-ca94697b3726"/*Multiply*/,
|
||||
"Description": "Multiplies two floats.\n\nAlso see [Div] [Sum] etc.",
|
||||
"SymbolTags": "1",
|
||||
"InputUis": [
|
||||
{
|
||||
"InputId": "372288fa-3794-47ba-9f91-59240513217a"/*A*/,
|
||||
"Position": {
|
||||
"X": 36.0,
|
||||
"Y": 334.0
|
||||
},
|
||||
"Min": -100.0,
|
||||
"Max": 100.0,
|
||||
"Scale": 0.01
|
||||
},
|
||||
{
|
||||
"InputId": "5ae4bb07-4214-4ec3-a499-24d9f6d404a5"/*B*/,
|
||||
"Position": {
|
||||
"X": 197.0,
|
||||
"Y": 328.0
|
||||
},
|
||||
"Min": -100.0,
|
||||
"Max": 100.0,
|
||||
"Scale": 0.01
|
||||
}
|
||||
],
|
||||
"SymbolChildUis": [],
|
||||
"OutputUis": [
|
||||
{
|
||||
"OutputId": "e011dd8c-1b9c-458f-8960-e6c38e83ca74"/*Result*/,
|
||||
"Position": {
|
||||
"X": 133.0,
|
||||
"Y": 38.0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
namespace Lib.numbers.@float.basic;
|
||||
|
||||
[Guid("58aa74af-32aa-4c46-8bb5-5811f16bf7f8")]
|
||||
internal sealed class Pow : Instance<Pow>
|
||||
{
|
||||
[Output(Guid = "f858c25a-0099-40ec-93dc-dd929c8774f0")]
|
||||
public readonly Slot<float> Result = new();
|
||||
|
||||
public Pow()
|
||||
{
|
||||
Result.UpdateAction += Update;
|
||||
}
|
||||
|
||||
private void Update(EvaluationContext context)
|
||||
{
|
||||
var v = Value.GetValue(context);
|
||||
var pow = Exponent.GetValue(context);
|
||||
Result.Value = (float)Math.Pow(v,pow);
|
||||
}
|
||||
|
||||
[Input(Guid = "376ad938-fe23-4f40-901a-b1b582ea4904")]
|
||||
public readonly InputSlot<float> Value = new();
|
||||
|
||||
[Input(Guid = "36853585-1A17-47F7-8485-569F17F48C66")]
|
||||
public readonly InputSlot<float> Exponent = new();
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "58aa74af-32aa-4c46-8bb5-5811f16bf7f8"/*Pow*/,
|
||||
"Inputs": [
|
||||
{
|
||||
"Id": "36853585-1a17-47f7-8485-569f17f48c66"/*Exponent*/,
|
||||
"DefaultValue": 1.0
|
||||
},
|
||||
{
|
||||
"Id": "376ad938-fe23-4f40-901a-b1b582ea4904"/*Value*/,
|
||||
"DefaultValue": 1.0
|
||||
}
|
||||
],
|
||||
"Children": [],
|
||||
"Connections": []
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "58aa74af-32aa-4c46-8bb5-5811f16bf7f8"/*Pow*/,
|
||||
"Description": "Calculates the result of an exponential function\n\nIn C#: Math.Pow(x, y)",
|
||||
"SymbolTags": "1",
|
||||
"InputUis": [
|
||||
{
|
||||
"InputId": "36853585-1a17-47f7-8485-569f17f48c66"/*Exponent*/,
|
||||
"Position": {
|
||||
"X": 36.0,
|
||||
"Y": 379.0
|
||||
},
|
||||
"Description": "Power\nDefines how often the Value / Base is multiplied with itself"
|
||||
},
|
||||
{
|
||||
"InputId": "376ad938-fe23-4f40-901a-b1b582ea4904"/*Value*/,
|
||||
"Position": {
|
||||
"X": 36.0,
|
||||
"Y": 334.0
|
||||
},
|
||||
"Description": "Base\nDefines which value is multiplied with itself",
|
||||
"Min": -100.0,
|
||||
"Max": 100.0
|
||||
}
|
||||
],
|
||||
"SymbolChildUis": [],
|
||||
"OutputUis": [
|
||||
{
|
||||
"OutputId": "f858c25a-0099-40ec-93dc-dd929c8774f0"/*Result*/,
|
||||
"Position": {
|
||||
"X": 133.0,
|
||||
"Y": 38.0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace Lib.numbers.@float.basic;
|
||||
|
||||
[Guid("24b56330-b9c5-4454-a398-0500b0422ce1")]
|
||||
internal sealed class Sqrt : Instance<Sqrt>
|
||||
{
|
||||
[Output(Guid = "915a7042-4bdc-4238-a59e-04eed3020f12")]
|
||||
public readonly Slot<float> Result = new();
|
||||
|
||||
public Sqrt()
|
||||
{
|
||||
Result.UpdateAction += Update;
|
||||
}
|
||||
|
||||
private void Update(EvaluationContext context)
|
||||
{
|
||||
var v = Value.GetValue(context);
|
||||
Result.Value = MathF.Sqrt(v);
|
||||
}
|
||||
|
||||
[Input(Guid = "a91ef6c9-4d5d-4fb5-9e83-c2f4fbb9769f")]
|
||||
public readonly InputSlot<float> Value = new();
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "24b56330-b9c5-4454-a398-0500b0422ce1"/*Sqrt*/,
|
||||
"Inputs": [
|
||||
{
|
||||
"Id": "a91ef6c9-4d5d-4fb5-9e83-c2f4fbb9769f"/*Value*/,
|
||||
"DefaultValue": 1.0
|
||||
}
|
||||
],
|
||||
"Children": [],
|
||||
"Connections": []
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "24b56330-b9c5-4454-a398-0500b0422ce1"/*Sqrt*/,
|
||||
"Description": "Computes the square root of a float value.\nTIP: You can use the [Pow] operator to compute roots for other bases by using 1/base for the exponent.",
|
||||
"SymbolTags": "8",
|
||||
"InputUis": [
|
||||
{
|
||||
"InputId": "a91ef6c9-4d5d-4fb5-9e83-c2f4fbb9769f"/*Value*/,
|
||||
"Position": {
|
||||
"X": 36.0,
|
||||
"Y": 334.0
|
||||
},
|
||||
"Min": -100.0,
|
||||
"Max": 100.0
|
||||
}
|
||||
],
|
||||
"SymbolChildUis": [],
|
||||
"OutputUis": [
|
||||
{
|
||||
"OutputId": "915a7042-4bdc-4238-a59e-04eed3020f12"/*Result*/,
|
||||
"Position": {
|
||||
"X": 133.0,
|
||||
"Y": 38.0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
namespace Lib.numbers.@float.basic;
|
||||
|
||||
[Guid("3ba13faf-ea80-44ec-948a-02ed3d653a20")]
|
||||
internal sealed class Sub : Instance<Sub>
|
||||
{
|
||||
[Output(Guid = "eb4fce05-0667-43fe-a7bb-4fb21fe891bc")]
|
||||
public readonly Slot<float> Result = new();
|
||||
|
||||
public Sub()
|
||||
{
|
||||
Result.UpdateAction += Update;
|
||||
}
|
||||
|
||||
private void Update(EvaluationContext context)
|
||||
{
|
||||
Result.Value = Input1.GetValue(context) - Input2.GetValue(context);
|
||||
}
|
||||
|
||||
|
||||
[Input(Guid = "4889e720-e47c-4617-8353-06acf0af5283")]
|
||||
public readonly InputSlot<float> Input1 = new();
|
||||
|
||||
[Input(Guid = "49ea5e01-cc8f-47a0-8988-3de2adb1805c")]
|
||||
public readonly InputSlot<float> Input2 = new();
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "3ba13faf-ea80-44ec-948a-02ed3d653a20"/*Sub*/,
|
||||
"Inputs": [
|
||||
{
|
||||
"Id": "4889e720-e47c-4617-8353-06acf0af5283"/*Input1*/,
|
||||
"DefaultValue": 0.0
|
||||
},
|
||||
{
|
||||
"Id": "49ea5e01-cc8f-47a0-8988-3de2adb1805c"/*Input2*/,
|
||||
"DefaultValue": 0.0
|
||||
}
|
||||
],
|
||||
"Children": [],
|
||||
"Connections": []
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "3ba13faf-ea80-44ec-948a-02ed3d653a20"/*Sub*/,
|
||||
"Description": "Subtracts two float values.",
|
||||
"SymbolTags": "1",
|
||||
"InputUis": [
|
||||
{
|
||||
"InputId": "4889e720-e47c-4617-8353-06acf0af5283"/*Input1*/,
|
||||
"Relevancy": "Relevant",
|
||||
"Position": {
|
||||
"X": 36.0,
|
||||
"Y": 334.0
|
||||
},
|
||||
"Min": -100.0,
|
||||
"Max": 100.0
|
||||
},
|
||||
{
|
||||
"InputId": "49ea5e01-cc8f-47a0-8988-3de2adb1805c"/*Input2*/,
|
||||
"Position": {
|
||||
"X": 197.0,
|
||||
"Y": 328.0
|
||||
},
|
||||
"Min": -100.0,
|
||||
"Max": 100.0,
|
||||
"Scale": 0.01
|
||||
}
|
||||
],
|
||||
"SymbolChildUis": [],
|
||||
"OutputUis": [
|
||||
{
|
||||
"OutputId": "eb4fce05-0667-43fe-a7bb-4fb21fe891bc"/*Result*/,
|
||||
"Position": {
|
||||
"X": 133.0,
|
||||
"Y": 38.0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
namespace Lib.numbers.@float.basic;
|
||||
|
||||
[Guid("2f851b5b-b66d-40b0-9445-e733dc4b907d")]
|
||||
internal sealed class Sum : Instance<Sum>
|
||||
{
|
||||
[Output(Guid = "{5CE9C625-F890-4620-9747-C98EAB4B9447}")]
|
||||
public readonly Slot<float> Result = new();
|
||||
|
||||
public Sum()
|
||||
{
|
||||
Result.UpdateAction += Update;
|
||||
}
|
||||
|
||||
private void Update(EvaluationContext context)
|
||||
{
|
||||
Result.Value = 0;
|
||||
var connectedCount = 0;
|
||||
foreach (var input in InputValues.GetCollectedTypedInputs())
|
||||
{
|
||||
Result.Value += input.GetValue(context);
|
||||
connectedCount++;
|
||||
}
|
||||
|
||||
if (connectedCount == 0)
|
||||
{
|
||||
Result.Value = InputValues.GetValue(context);
|
||||
}
|
||||
|
||||
InputValues.DirtyFlag.Clear();
|
||||
}
|
||||
|
||||
[Input(Guid = "{AF4A49E6-1ECD-4E94-AE6D-FB5D2BC8430C}")]
|
||||
public readonly MultiInputSlot<float> InputValues = new();
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "2f851b5b-b66d-40b0-9445-e733dc4b907d"/*Sum*/,
|
||||
"Inputs": [
|
||||
{
|
||||
"Id": "af4a49e6-1ecd-4e94-ae6d-fb5d2bc8430c"/*InputValues*/,
|
||||
"DefaultValue": 0.0
|
||||
}
|
||||
],
|
||||
"Children": [],
|
||||
"Connections": []
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"FormatVersion": 3,
|
||||
"Id": "2f851b5b-b66d-40b0-9445-e733dc4b907d"/*Sum*/,
|
||||
"Description": "Allows connecting any amount of floats whose sum is output\n\nAlso see [Add]",
|
||||
"SymbolTags": "1",
|
||||
"InputUis": [
|
||||
{
|
||||
"InputId": "af4a49e6-1ecd-4e94-ae6d-fb5d2bc8430c"/*InputValues*/,
|
||||
"Relevancy": "Required",
|
||||
"Position": {
|
||||
"X": 0.0,
|
||||
"Y": 0.0
|
||||
},
|
||||
"Min": -100.0,
|
||||
"Max": 100.0
|
||||
}
|
||||
],
|
||||
"SymbolChildUis": [],
|
||||
"OutputUis": [
|
||||
{
|
||||
"OutputId": "5ce9c625-f890-4620-9747-c98eab4b9447"/*Result*/,
|
||||
"Position": {
|
||||
"X": 0.0,
|
||||
"Y": 0.0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user