Ejemplo n.º 1
0
        private static string ConversionToPatternSample()
        {
            Composer.Clear();

            var bitPattern = new[] { true, false, true, true }.BooleansToPattern();

            Composer
            .Append("BooleansToPattern(true, false, true, true): ")
            .AppendLine($"{bitPattern} ({bitPattern.PatternToString()})")
            .AppendLineAtNewLine(PageSeparator)
            .AppendLine();

            bitPattern = new[] { 7, 2, 3 }.PositionsToPattern();
            Composer
            .Append("PositionsToPattern(7, 2, 3): ")
            .AppendLine($"{bitPattern} ({bitPattern.PatternToString()})")
            .AppendLineAtNewLine(PageSeparator)
            .AppendLine();

            bitPattern = "10010".StringToPattern();
            Composer
            .Append("StringToPattern(\"10010\"): ")
            .AppendLine($"{bitPattern} ({bitPattern.PatternToString()})")
            .AppendLineAtNewLine(PageSeparator)
            .AppendLine();

            bitPattern = "+*%+0".StringToPattern('+');
            Composer
            .Append("StringToPattern(\"+*%+0\", '+'): ")
            .AppendLine($"{bitPattern} ({bitPattern.PatternToString()})")
            .AppendLineAtNewLine(PageSeparator)
            .AppendLine();

            return(Composer.ToString());
        }
Ejemplo n.º 2
0
        private bool InitGaTables()
        {
            _log.Append("Initializing GA Data...");
            labelStatus.Text = _log.ToString();
            Application.DoEvents();

            try
            {
                GMacLookupTables.Choose(1, 1);

                _log.AppendLine("Done").AppendLine();
                labelStatus.Text = _log.ToString();
                Application.DoEvents();

                return(true);
            }
            catch (Exception e)
            {
                _log.AppendLine("Failed").AppendLine(e.Message).AppendLine();
                labelStatus.Text = _log.ToString();
                Application.DoEvents();

                return(false);
            }
        }
Ejemplo n.º 3
0
        public override void ToTextTree(LinearComposer log)
        {
            log.AppendLine("{");

            log.IncreaseIndentation();

            var flag = false;

            foreach (var pair in _chidNodesDictionary)
            {
                if (flag)
                {
                    log.Append(", ");
                }
                else
                {
                    flag = true;
                }

                log.Append(Key + " : ");
                pair.Value.ToTextTree(log);
            }

            log.DecreaseIndentation();

            log.AppendAtNewLine("}");
        }
Ejemplo n.º 4
0
        public static string InitializeGMac()
        {
            var log = new LinearComposer();

            try
            {
                log.Append("Initializing GA Data...");

                GMacLookupTables.Choose(1, 1);

                log.AppendLine("Done").AppendLine();

                log.Append("Initializing GMac Resources...");

                if (Directory.Exists(IconsPath) == false)
                {
                    Directory.CreateDirectory(IconsPath);
                }

                SaveIcon(Resources.BasisVector64, "BasisVector64");
                SaveIcon(Resources.Compile64, "Compile64");
                SaveIcon(Resources.Constant64, "Constant64");
                SaveIcon(Resources.Filter64, "Filter64");
                SaveIcon(Resources.Frame64, "Frame64");
                SaveIcon(Resources.GMacAST64, "GMacAST64");
                SaveIcon(Resources.GMac_Icon64, "GMac_Icon64");
                SaveIcon(Resources.Idea64, "Idea64");
                SaveIcon(Resources.Input64, "Input64");
                SaveIcon(Resources.Macro64, "Macro64");
                SaveIcon(Resources.Namespace64, "Namespace64");
                SaveIcon(Resources.Output64, "Output64");
                SaveIcon(Resources.Scalar64, "Scalar64");
                SaveIcon(Resources.Structure64, "Structure64");
                SaveIcon(Resources.Subspace64, "Subspace64");
                SaveIcon(Resources.Transform64, "Transform64");

                log.AppendLine("Done").AppendLine();

                log.Append("Initializing Symbolic Engine...");

                MathematicaScalar.Create(SymbolicUtils.Cas, "0");

                log.AppendLine("Done").AppendLine();
            }
            catch (Exception e)
            {
                log.AppendLine("Failed").AppendLine(e.Message).AppendLine();
            }

            return(log.ToString());
        }
Ejemplo n.º 5
0
        public override void ToString(LinearComposer textBuilder)
        {
            textBuilder.AppendLine("{");
            textBuilder.IncreaseIndentation();

            var flag = false;

            foreach (var pair in _nodes)
            {
                if (flag)
                {
                    textBuilder.AppendLine(",");
                }
                else
                {
                    flag = true;
                }

                textBuilder.Append(pair.Key.ToString());
                pair.Value.ToString(textBuilder);
            }

            textBuilder.DecreaseIndentation();
            textBuilder.AppendAtNewLine("}");
        }
Ejemplo n.º 6
0
        private void SectionsTreeToText(LinearComposer log)
        {
            log.Append(SectionName);

            if (IsLeaf)
            {
                return;
            }

            log.AppendLine(" {");
            log.IncreaseIndentation();

            var flag = true;

            foreach (var lowerSection in ChildSections)
            {
                if (flag)
                {
                    flag = false;
                }
                else
                {
                    log.AppendLine(",");
                }

                lowerSection.SectionsTreeToText(log);
            }

            log.DecreaseIndentation();
            log.AppendLine("}");
        }
Ejemplo n.º 7
0
        //private void ComputeTableSize()
        //{


        //}

        public override string ToString()
        {
            var rowHeadersWidth = RowsInfo.Max(r => r.Header.Length);
            var colHeadersWidth = ColumnsInfo.Max(c => c.Header.Length);

            var maxItemWidth = Math.Max(rowHeadersWidth, colHeadersWidth);

            for (var c = 0; c < Columns; c++)
            {
                for (var r = 0; r < Rows; r++)
                {
                    if (maxItemWidth < Items[r, c].Length)
                    {
                        maxItemWidth = Items[r, c].Length;
                    }
                }
            }

            var composer = new LinearComposer();

            //Add column headers
            composer.Append(FormatItem("", maxItemWidth));

            for (var c = 0; c < Columns; c++)
            {
                composer.Append(FormatItem(ColumnsInfo[c].Header, maxItemWidth));
            }

            composer.AppendLine();

            //Add rows
            for (var r = 0; r < Rows; r++)
            {
                composer.Append(FormatItem(RowsInfo[r].Header, maxItemWidth));

                for (var c = 0; c < Columns; c++)
                {
                    composer.Append(FormatItem(Items[r, c], maxItemWidth));
                }

                composer.AppendLine();
            }

            return(composer.ToString());
        }
Ejemplo n.º 8
0
        public override void ToString(LinearComposer textBuilder)
        {
            textBuilder.Append("{");
            textBuilder.IncreaseIndentation();

            foreach (var item in _branches)
            {
                item.ToString(textBuilder);
            }

            textBuilder.DecreaseIndentation();
            textBuilder.AppendAtNewLine("}");
        }
Ejemplo n.º 9
0
        private string GenerateIsEqualMethod()
        {
            var codeText = GenerateIsEqualMethodCode();

            var template = new ParametricComposer("#", "#", BilinearTemplateText);

            var composer = new LinearComposer();

            composer.Append(
                template,
                "result_type", "bool",
                "op_name", "IsEqual",
                "mv_class_name", CalcClassData.ClassName,
                "code", codeText
                );

            return(composer.ToString());
        }
Ejemplo n.º 10
0
        private string GenerateProductMethod(string macroName)
        {
            string resultClassName;

            var codeText = GenerateProductMethodCode(macroName, out resultClassName);

            var template = new ParametricComposer("#", "#", BilinearTemplateText);

            var composer = new LinearComposer();

            composer.Append(
                template,
                "result_type", resultClassName,
                "op_name", BaseMacro.Name,
                "mv_class_name", CalcClassData.ClassName,
                "code", codeText
                );

            return(composer.ToString());
        }
Ejemplo n.º 11
0
        public override string ToString()
        {
            var s = new LinearComposer();

            s.Append(ProgressId.ToString("D6")).Append(": ").Append(FullTimingText);

            s.AppendLineAtNewLine(FullTitle);

            if (String.IsNullOrEmpty(Details) == false)
            {
                s.AppendLineAtNewLine()
                .AppendLineAtNewLine("Begin Details")
                .IncreaseIndentation()
                .AppendAtNewLine(Details)
                .DecreaseIndentation()
                .AppendLineAtNewLine("End Details");
            }

            return(s.ToString());
        }
Ejemplo n.º 12
0
        private string GenerateSubtractMethod()
        {
            var resultId = ClassData.ClassId | CalcClassData.ClassId;

            var resultClassData = MvLibraryGenerator.MultivectorClassesData[resultId];

            var codeText = GenerateSubtractMethodCode(resultClassData);

            var template = new ParametricComposer("#", "#", BilinearTemplateText);

            var composer = new LinearComposer();

            composer.Append(
                template,
                "result_type", resultClassData.ClassName,
                "op_name", "Subtract",
                "mv_class_name", CalcClassData.ClassName,
                "code", codeText
                );

            return(composer.ToString());
        }
Ejemplo n.º 13
0
 public virtual void Visit(SteFixedCode code)
 {
     TextComposer.Append(code.Text);
 }
Ejemplo n.º 14
0
 public override void ToTextTree(LinearComposer log)
 {
     log.Append(Value.ToString());
 }
Ejemplo n.º 15
0
        public override string GenerateCode(Expr expr)
        {
            var textComposer = new LinearComposer();

            return(textComposer.Append("@\"").Append(expr.ToString()).Append("\"").ToString());
        }
Ejemplo n.º 16
0
 public override void ToString(LinearComposer textBuilder)
 {
     textBuilder.Append(Value.ToString());
 }
Ejemplo n.º 17
0
 public void ToString(LinearComposer textBuilder)
 {
     textBuilder.Append(String.IsNullOrEmpty(BranchName) ? BranchIndex.ToString() : BranchName);
     textBuilder.Append(" = ");
     BranchNode.ToString(textBuilder);
 }