Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.82 KB | None | 0 0
  1. public class FuncBuilderHelper
  2.     {
  3.         public static IList<string> FuncList { get; }= new List<string>()
  4.             {
  5.                 "sin" ,
  6.                 "cos",
  7.                 "tan",
  8.                 "cotan",
  9.                 "acos",
  10.                 "asin",
  11.                 "atan"
  12.             };
  13.         public static Func<double,double,double> GenerateFunc(string funcTitle,double[] pars)
  14.         {
  15.             Func<double, double, double> result = null;
  16.             switch (funcTitle)
  17.             {
  18.                 case "sin":
  19.                     result = (x, y) => pars[0] / pars[1] * Math.Sin(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
  20.                     break;
  21.                 case "cos":
  22.                     result = (x, y) => pars[0] / pars[1] * Math.Cos(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
  23.                     break;
  24.                 case "tan":
  25.                     result = (x, y) => pars[0] / pars[1] * Math.Tan(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
  26.                     break;
  27.                 case "cotan":
  28.                     result = (x, y) => pars[0] / pars[1] / Math.Tan(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
  29.                     break;
  30.                 case "acos":
  31.                     result = (x, y) => pars[0] / pars[1] * Math.Acos(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
  32.                     break;
  33.                 case "asin":
  34.                     result = (x, y) => pars[0] / pars[1] * Math.Asin(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
  35.                     break;
  36.                 case "atan":
  37.                     result = (x, y) => pars[0] / pars[1] * Math.Atan(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
  38.                     break;
  39.                 default:
  40.                     break;
  41.             }
  42.             return result;
  43.         }
  44.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement