public string Print(IFixedFunctionEquations <TIdentifier> equations)
        {
            var sb = new StringBuilder();

            using var os = new StringWriter(sb);
            this.Print(os, equations);

            return(sb.ToString());
        }
Ejemplo n.º 2
0
        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");
            }
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }