OSDN Git Service

hk
[psychlops/silverlight.git] / dev3 / psychlops / core / math / util.cs
1 using System;\r
2 \r
3 namespace Psychlops\r
4 {\r
5 \r
6         public static class Math\r
7         {\r
8                 public static readonly double PI = 3.14159265, E = 2.718281828459045;\r
9                 public static Random random_generator;\r
10                 static Math()\r
11                 {\r
12                         random_generator = new Random();\r
13                 }\r
14 \r
15                 public static double abs(double x)\r
16                 {\r
17                         return System.Math.Abs(x);\r
18                 }\r
19                 public static double sin(double x)\r
20                 {\r
21                         return System.Math.Sin(x);\r
22                 }\r
23                 public static double cos(double x)\r
24                 {\r
25                         return System.Math.Cos(x);\r
26                 }\r
27                 public static double tan(double x)\r
28                 {\r
29                         return System.Math.Tan(x);\r
30                 }\r
31                 public static double sqrt(double x)\r
32                 {\r
33                         return System.Math.Sqrt(x);\r
34                 }\r
35                 public static double exp(double x)\r
36                 {\r
37                         return System.Math.Exp(x);\r
38                 }\r
39                 public static double log(double x)\r
40                 {\r
41                         return System.Math.Log(x);\r
42                 }\r
43                 public static double radius(double x, double y)\r
44                 {\r
45                         return System.Math.Sqrt(x * x + y * y);\r
46                 }\r
47 \r
48                 public static double random()\r
49                 {\r
50                         return (random_generator.NextDouble());\r
51                 }\r
52                 public static double random(double x)\r
53                 {\r
54                         return (random_generator.NextDouble()) * x;\r
55                 }\r
56                 public static double random(double x, double y)\r
57                 {\r
58                         return (random_generator.NextDouble()) * (y-x) + x;\r
59                 }\r
60 \r
61 \r
62                 public static double gaussian(double x, double sigma)\r
63                 {\r
64                         return exp(- (x*x) / (2*sigma*sigma));\r
65                 }\r
66         }\r
67 \r
68 }