public string Print(IFixedFunctionEquations <TIdentifier> equations) { var sb = new StringBuilder(); using var os = new StringWriter(sb); this.Print(os, equations); return(sb.ToString()); }
public ScalarFixedFunctionOps( IFixedFunctionEquations <FixedFunctionSource> equations) { this.equations_ = equations; this.Zero = equations.CreateScalarConstant(0); this.One = equations.CreateScalarConstant(1); this.scMinusOne_ = equations.CreateScalarConstant(-1); }
public void Print( StringWriter os, IFixedFunctionEquations <TIdentifier> equations) { os.WriteLine("Scalar inputs:"); foreach (var(id, input) in equations.ScalarInputs) { os.Write(id); os.Write(": "); this.PrintScalarConstant_( os, input.CustomValue ?? input.DefaultValue); os.Write("\n"); } os.WriteLine(); os.WriteLine("Color inputs:"); foreach (var(id, input) in equations.ColorInputs) { os.Write(id); os.Write(": "); this.PrintColorFactor_( os, input.CustomValue ?? input.DefaultValue); os.Write("\n"); } os.WriteLine(); os.WriteLine(); os.WriteLine("Scalar outputs:"); foreach (var(id, output) in equations.ScalarOutputs) { os.Write(id); os.Write(": "); this.PrintScalarValue_(os, output.ScalarValue); os.Write("\n"); } os.WriteLine(); os.WriteLine("Color outputs:"); foreach (var(id, output) in equations.ColorOutputs) { os.Write(id); os.Write(": "); this.PrintColorValue_(os, output.ColorValue); os.Write("\n"); } }
private void AssertEquals_( IFixedFunctionEquations <FixedFunctionSource> equations, params string[] expectedLines) { var actualText = new FixedFunctionEquationsGlslPrinter(null).Print( null); var actualLines = StringUtil.SplitNewlines(actualText); actualLines = actualLines.Take(actualLines.Length - 1).ToArray(); var expectedText = string.Join('\n', expectedLines); actualText = string.Join('\n', actualLines); Assert.AreEqual(expectedText, actualText); }
private void AssertEquals_ <TIdentifier>( IFixedFunctionEquations <TIdentifier> equations, params string[] expectedLines) { var actualText = new FixedFunctionEquationsPrettyPrinter <TIdentifier>().Print( equations); var actualLines = StringUtil.SplitNewlines(actualText); actualLines = actualLines.Take(actualLines.Length - 1).ToArray(); var expectedText = string.Join('\n', expectedLines); actualText = string.Join('\n', actualLines); Assert.AreEqual(expectedText, actualText); }