using StgSharp; using System; using System.Diagnostics; internal class Program { private unsafe static void Main(string[] args) { /* int cc = 3; Console.WriteLine(cc/2); /**/ /* float test = StgSharp.Math.Calc.ATan(-1f,-1f); Console.WriteLine(test); /**/ /* // 测速 for (int cycle = 0; cycle < 100; cycle++) { float time = 1000000; float a = 114514; System.Diagnostics.Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 开始监视代码运行时间 for (float i = 2; i < time; i++) { a = StgSharp.Math.ATan(i); } stopwatch.Stop(); // 停止监视 TimeSpan timespan = stopwatch.Elapsed; // 获取当前实例测量得出的总时间 double milliseconds = timespan.TotalMilliseconds; // 总毫秒数 Console.WriteLine($"{milliseconds},{a}"); System.Diagnostics.Stopwatch stopwatch1 = new Stopwatch(); double b = 114514; double time2 = time; stopwatch1.Start(); for (float i = 2; i < time2; i++) { b = System.MathF.Atan(i); } stopwatch1.Stop(); timespan = stopwatch1.Elapsed; double milliseconds2 = timespan.TotalMilliseconds; Console.WriteLine($"{milliseconds2},{b}"); Console.WriteLine(""); } /**/ /* //精度测试 double accuracy = 0; for (float i = -200f; i < 200f; i += 0.01f) { double r1 = StgSharp.Math.ATan(i); double r2 = 180*System.Math.Atan(i)/3.1415926; double ac = ( System.Math.Max(r1,r2)- System.Math.Min(r1, r2) ) / r2; if (ac>accuracy) { accuracy = ac; Console.WriteLine(i); Console.WriteLine(ac); Console.WriteLine(r1); Console.WriteLine(r2); Console.WriteLine(""); } } Console.WriteLine(accuracy); /**/ } }