OSDN Git Service

3 to 4
[psychlops/silverlight.git] / dev4 / psychlops / core / math / util.cs
diff --git a/dev4/psychlops/core/math/util.cs b/dev4/psychlops/core/math/util.cs
new file mode 100644 (file)
index 0000000..7f498d3
--- /dev/null
@@ -0,0 +1,68 @@
+using System;\r
+\r
+namespace Psychlops\r
+{\r
+\r
+       public static class Math\r
+       {\r
+               public static readonly double PI = 3.14159265, E = 2.718281828459045;\r
+               public static Random random_generator;\r
+               static Math()\r
+               {\r
+                       random_generator = new Random();\r
+               }\r
+\r
+               public static double abs(double x)\r
+               {\r
+                       return System.Math.Abs(x);\r
+               }\r
+               public static double sin(double x)\r
+               {\r
+                       return System.Math.Sin(x);\r
+               }\r
+               public static double cos(double x)\r
+               {\r
+                       return System.Math.Cos(x);\r
+               }\r
+               public static double tan(double x)\r
+               {\r
+                       return System.Math.Tan(x);\r
+               }\r
+               public static double sqrt(double x)\r
+               {\r
+                       return System.Math.Sqrt(x);\r
+               }\r
+               public static double exp(double x)\r
+               {\r
+                       return System.Math.Exp(x);\r
+               }\r
+               public static double log(double x)\r
+               {\r
+                       return System.Math.Log(x);\r
+               }\r
+               public static double radius(double x, double y)\r
+               {\r
+                       return System.Math.Sqrt(x * x + y * y);\r
+               }\r
+\r
+               public static double random()\r
+               {\r
+                       return (random_generator.NextDouble());\r
+               }\r
+               public static double random(double x)\r
+               {\r
+                       return (random_generator.NextDouble()) * x;\r
+               }\r
+               public static double random(double x, double y)\r
+               {\r
+                       return (random_generator.NextDouble()) * (y-x) + x;\r
+               }\r
+\r
+\r
+               public static double gaussian(double x, double sigma)\r
+               {\r
+                       return exp(- (x*x) / (2*sigma*sigma));\r
+               }\r
+       }\r
+\r
+}
\ No newline at end of file