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 aa = 261.2776027f; uint bb = *(uint*)&aa; Console.WriteLine(Convert.ToString(bb,toBase:2)); Console.WriteLine(StgSharp.Math.Log(3.5f)); /**/ for (int wasd = 0; wasd < 100; wasd++) { float time = 1000000; double a = 114514; System.Diagnostics.Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 开始监视代码运行时间 for (float i = 2; i < time; i++) { a = StgSharp.Math.Log(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 (double i = 2; i < time2; i++) { b = System.Math.Log(i); } stopwatch1.Stop(); timespan = stopwatch1.Elapsed; double milliseconds2 = timespan.TotalMilliseconds; Console.WriteLine($"{milliseconds2},{b}"); Console.WriteLine(""); } /**/ /* double accuracy = 0; for (float i = 1.001f; i < 4; i += 0.001f) { double r1 = StgSharp.Math.Log(i); double r2 = System.Math.Log(i); double ac = ( System.Math.Max(r1,r2)- System.Math.Min(r1, r2) ) / System.Math.Max(r1, r2); if (ac>accuracy) { accuracy = ac; Console.WriteLine(i); Console.WriteLine(ac); Console.WriteLine(r1); Console.WriteLine(r2); Console.WriteLine(""); } } Console.WriteLine(accuracy); /**/ } }