Exemplo n.º 1
0
 public IActionResult tokens(string formula, double x)
 {
     try{
         formula = formula.Replace(' ', '+');
         classOnp onp  = new classOnp(formula, x);
         var      data = sendAnswer(onp);
         return(Ok(data));
     }catch (error er) {
         return(Ok(sendError(er)));
     }
 }
Exemplo n.º 2
0
 //funkcja do przesylu wynikow
 public dynamic sendAnswer(classOnp onp)
 {
     try{
         onp.RPN();
         //dla calculate/xt
         if (!Double.IsNaN(onp.x_max) && !Double.IsNaN(onp.x))
         {
             List <classCalculate> lista = new List <classCalculate>();
             double liczba_dodawana = (onp.x_max - onp.x_min) / (onp.n - 1), tymczasowe_min = onp.x_min;
             Math.Round(liczba_dodawana, 15);
             for (double q = 0; q < onp.n; q++)
             {
                 Math.Round(tymczasowe_min, 15);
                 lista.Add(new classCalculate(Math.Round(tymczasowe_min, 10), Convert.ToDouble(onp.calculateRPN(tymczasowe_min))));
                 tymczasowe_min += liczba_dodawana;
             }
             var data = new {
                 status = onp.status,
                 result = lista
             };
             return(data);
             //dla calculate
         }
         else if (Double.IsNaN(onp.x_max))
         {
             var data = new {
                 status = onp.status,
                 result = onp.calculateRPN(onp.x)
             };
             return(data);
             //dla tokens
         }
         else
         {
             List <classToken> lista      = new List <classToken>();
             classToken        tymczasowe = new classToken(Regex.Split(onp.inflix, @"([*()\^\/]|(?<!E)[\+\-])"), onp.displayRPN().Trim().Split(" "));
             lista.Add(tymczasowe);
             var data = new {
                 status = onp.status,
                 result = lista
             };
             return(data);
         }
     }catch (error er) {
         throw new error(er.Message);
     }catch (Exception ex) {
         throw new error(ex.Message);
     }
 }