static MathValueDelegate GetDelegate(MathGeneratedFunction function) { var i = (int)function; Assert.IsTrue(i >= 0 && i < (int)MathGeneratedFunction.NumMathFunctions); return(MathGeneratedDelegates.s_Delegates[i]); }
public void TestRuntimeMathUnary(MathGeneratedFunction function, float value, float result) { m_Node = m_Node.WithFunction(function); m_GraphInstanceMock.Setup(x => x.ReadValue(m_Node.Inputs.SelectPort(0))).Returns(value); ExecuteNode(); m_GraphInstanceMock.Verify(x => x.Write(m_Node.Result, result), Times.Once()); }
public void TestRuntimeBinaryNumber(MathGeneratedFunction function, float xResult, float yResult, float zResult) { m_Node = m_Node.WithFunction(function); m_GraphInstanceMock.Setup(x => x.ReadValue(m_Node.Inputs.SelectPort(0))).Returns(new float3(1, 2, 3)); m_GraphInstanceMock.Setup(x => x.ReadValue(m_Node.Inputs.SelectPort(1))).Returns(new float3(0, 1, 2)); ExecuteNode(); m_GraphInstanceMock.Verify(x => x.Write(m_Node.Result, new float3(xResult, yResult, zResult)), Times.Once()); }
public void TestMultiInputMath(MathGeneratedFunction function, int result) { m_Node = m_Node.WithFunction(function); SetupInputs(1, 2, 3, 4, 5, 6); ExecuteNode(); m_GraphInstanceMock.Verify(x => x.Write(m_Node.Result, result), Times.Once()); }
public static MathGenericNode WithFunction(this MathGenericNode node, MathGeneratedFunction function) { var methodName = function.GetMethodsSignature().OpType; var compatibleMethods = MathOperationsMetaData.MethodsByName[methodName]; var currentMethod = compatibleMethods.Single(o => o.EnumName == function.ToString()); node.Function = function; node.Inputs.DataCount = currentMethod.Params.Length; node.GenerationVersion = MathGeneratedDelegates.GenerationVersion; return(node); }
public static OpSignature GetMethodsSignature(this MathGeneratedFunction function) { return(SignatureForEnum[function]); }
static MathValueDelegate GetDelegate(MathGeneratedFunction function) { return(MathGeneratedDelegates.s_Delegates[function]); }
public static Value ApplyBinMath(this IGraphInstance graphInstance, InputDataMultiPort inputPort, MathGeneratedFunction binFunction) { var dataCount = inputPort.DataCount; Value[] values = new Value[dataCount]; for (uint i = 0; i < dataCount; i++) { values[i] = graphInstance.ReadValue(inputPort.SelectPort(i)); } var mathDelegate = GetDelegate(binFunction); return(mathDelegate(values)); }
public static MathGenericNode AddMath(this GraphBuilder b, MathGeneratedFunction function) { return(b.AddNode(new MathGenericNode().WithFunction(function))); }
public static OpSignature GetMethodsSignature(this MathGeneratedFunction function) { return(SignatureForEnum.TryGetValue(function, out var res) ? res : default);