Esempio n. 1
0
        public string GetFormulaString(IFunctionFormatting formatting)
        {
            string argumentFormatted = Argument.GetFormulaString(formatting);
            string argumentEmbrased  = InputFunction.TestInputInversable(Argument) ?
                                       argumentFormatted :
                                       $"({argumentFormatted})";

            return("!" + argumentEmbrased);
        }
        public static IEnumerable <string> GetCollectionItemsPrepared(
            IEnumerable <IBooleanFunction> items,
            IFunctionFormatting formatting = null)
        {
            if (formatting == null)
            {
                formatting = FunctionFormattingDefault.Instance;
            }

            Func <IBooleanFunction, string> embrase = GetItemFormatter(items, formatting);

            var itemsOrdered = formatting == null ? items : formatting.OrderItems(items);

            foreach (IBooleanFunction item in itemsOrdered)
            {
                yield return(embrase(item));
            }
        }
 public static Func <IBooleanFunction, string> GetItemFormatter(
     IEnumerable <IBooleanFunction> items,
     IFunctionFormatting formatting)
 {
     if (items.All(InputFunction.TestInputInversable))
     {
         return(s => s.GetFormulaString(formatting));
     }
     else
     {
         return(delegate(IBooleanFunction item)
         {
             string itemString = item.GetFormulaString(formatting);
             if (item is NotFiniteNumberException)
             {
                 return itemString;
             }
             else
             {
                 return $"({itemString})";
             }
         });
     }
 }
Esempio n. 4
0
 public string GetFormulaString(IFunctionFormatting formatting)
 => formatting == null?Index.ToString() : formatting.InputToString(Index);
Esempio n. 5
0
 public string GetFormulaString(IFunctionFormatting formatting = null)
 {
     return(string.Join(" ^ ", CollectionFormatting.GetCollectionItemsPrepared(Items, formatting)));
 }