public override int ZakljuciProd(int L, int D, int LK, int DK, int V, int S)      //TODO bude li trebala diferencijacija, svaki zakljuci u svoju klasu
        {
            IFuzzySet union = new CalculatedFuzzySet(                                     //mjere pripadnosti su na minimumu mj.pripadnosti antecedenata
                Domain.IntRange(-90, 90),
                StandardFuzzySets.EmptyFunction()
                );

            foreach (Rule rule in KormiloRules)
            {
                union = Operations.Operations.BinaryOperation(
                    union, rule.SingleRuleConclusionProduct(L, D, LK, DK, V, S), Operations.Operations.ZadehOr());     //TODO IMPORTANT postoji li efikasniji nacin nego doslovno unija svega?
                //Print(union, "union foreach:");
            }

            return(def.Defuzzyfy(union));
        }
        public override void ZakljuciPrint(int L, int D, int LK, int DK, int V, int S, Rule rule) //TODO bude li trebala diferencijacija, svaki zakljuci u svoju klasu
        {
            IFuzzySet union = new CalculatedFuzzySet(                                             //mjere pripadnosti su na minimumu mj.pripadnosti antecedenata
                Domain.IntRange(-100, 100),
                StandardFuzzySets.EmptyFunction()
                );


            union = Operations.Operations.BinaryOperation(
                union, rule.SingleRuleConclusion(L, D, LK, DK, V, S), Operations.Operations.ZadehOr());     //TODO IMPORTANT postoji li efikasniji nacin nego doslovno unija svega?
            KormiloFuzzySystemMin.Print(union, "Zakljucak:");

            int rez = def.Defuzzyfy(union);

            Console.WriteLine("Dekodirana vrijednost: {0}", rez);
            return;
        }