public static List <string> Pushout <T1, T2>(this IEnumerable <T2> codomeniu, List <T1> domeniu,
                                                     IFunction <T1, T2> fi, IFunction <T1, T2> gi)
        {
            var connections = new List <string>();

            domeniu.ForEach(domeni =>
            {
                var rezX = fi.Calcul(domeni);
                var rezY = gi.Calcul(domeni);

                connections.Add($" {rezX} - {rezY}");
            });
            return(connections);
        }
Exemplo n.º 2
0
        private static int[,] GetConections(IFunction <string, string> fi, List <string> codomfi,
                                            IFunction <string, string> gi, List <string> codomgi, List <string> domi)
        {
            var conections = new int[codomfi.Count, codomgi.Count];

            domi.ForEach(domeniu =>
            {
                var rezX = fi.Calcul(domeniu);
                var rezY = gi.Calcul(domeniu);

                var indexX = codomfi.IndexOf(rezX);
                var indexY = codomgi.IndexOf(rezY);

                indexX = indexX < 0 ? 0 : indexX;
                indexY = indexY < 0 ? 0 : indexY;

                conections[indexX, indexY] = 1;
            });
            return(conections);
        }