Esempio n. 1
0
        public override string ToString()
        {
            var tableText     = new TableComposer(TargetGaSpaceDimension, TargetGaSpaceDimension);
            var basisBladeIds = GMacMathUtils.BasisBladeIDs(TargetVSpaceDimension).ToArray();

            foreach (var basisBladeId in basisBladeIds)
            {
                tableText.ColumnsInfo[basisBladeId].Header = basisBladeId.BasisBladeName();
                tableText.RowsInfo[basisBladeId].Header    = basisBladeId.BasisBladeName();
            }

            for (var basisBladeId1 = 0; basisBladeId1 < TargetGaSpaceDimension; basisBladeId1++)
            {
                for (var basisBladeId2 = 0; basisBladeId2 < TargetGaSpaceDimension; basisBladeId2++)
                {
                    var mv = _basisBladesMaps[basisBladeId1, basisBladeId2];
                    if (mv != null)
                    {
                        tableText.Items[basisBladeId1, basisBladeId2] = mv.ToString();
                    }
                }
            }

            var text = tableText.ToString();

            return(text);
        }
Esempio n. 2
0
        private static MarkdownTable CreateTable(int n)
        {
            var gaSpaceDim = n.ToGaSpaceDimension();
            var idsList    = GMacMathUtils.BasisBladeIDs(n).ToArray();

            var mdOverheadTable = new MarkdownTable();
            var firstColumn     = mdOverheadTable.AddColumn("op", MarkdownTableColumnAlignment.Left);

            firstColumn.AddRange(
                idsList
                .Skip(1)
                .Select(termsCount => termsCount + " Terms")
                );

            var newTreeOverheadColumn = mdOverheadTable.AddColumn(
                "New Tree",
                MarkdownTableColumnAlignment.Right,
                "New Binary Tree"
                );

            var hashOverheadColumn = mdOverheadTable.AddColumn(
                "Hash",
                MarkdownTableColumnAlignment.Right,
                "Hash Table"
                );

            var treeOverheadColumn = mdOverheadTable.AddColumn(
                "Tree",
                MarkdownTableColumnAlignment.Right,
                "Binary Tree"
                );

            var arrayOverheadColumn = mdOverheadTable.AddColumn(
                "Array",
                MarkdownTableColumnAlignment.Right,
                "Array"
                );

            for (var termsCount = 1; termsCount < gaSpaceDim; termsCount++)
            {
                var sizeInfo = new MultivectorSizeInfo(
                    gaSpaceDim,
                    idsList.Take(termsCount)
                    );

                newTreeOverheadColumn.Add(sizeInfo.NewTreeOverheadPerTerm.ToString(LongFmt));
                hashOverheadColumn.Add(sizeInfo.HashOverheadPerTerm.ToString(LongFmt));
                treeOverheadColumn.Add(sizeInfo.TreeOverheadPerTerm.ToString(LongFmt));
                arrayOverheadColumn.Add(sizeInfo.ArrayOverheadPerTerm.ToString(LongFmt));
            }

            return(mdOverheadTable);
        }
Esempio n. 3
0
        public override string ToString()
        {
            var tableText     = new TableComposer(TargetGaSpaceDimension, TargetGaSpaceDimension);
            var basisBladeIds = GMacMathUtils.BasisBladeIDs(TargetVSpaceDimension).ToArray();

            foreach (var basisBladeId in basisBladeIds)
            {
                tableText.ColumnsInfo[basisBladeId].Header = basisBladeId.BasisBladeName();
                tableText.RowsInfo[basisBladeId].Header    = basisBladeId.BasisBladeName();
            }

            foreach (var pair in _basisBladesMaps)
            {
                tableText.Items[pair.Item1, pair.Item2] =
                    pair.Item3.ToString();
            }

            var text = tableText.ToString();

            return(text);
        }